Brevet FR2543709A1 — publié le 19841005

La présente invention concerne un appareil programnoble pour la génération de séquences numériques en vue du test de circuits numériques, appelés encore " digitaux ". Chaque étape de la vie d'un système ou d'un circuit (conception, fabrication, utilisation) justifie des vérifications particulières aux objectifs différents. En ce qui concerne la production, on doit veiller è ce que les éléments réalisés correspondent h ceux annoncés et ne présentent aucun défaut. Les vérifications doivent non seulement être très poussées pour garantir une qualité parfaite, mais elles doivent aussi mettre les défauts en évidence le plus têt posible pour des raisons économiques. Dans ce cas le test se fait généralement à plusieurs niveaux: contrôle d'entrée des composants; contrôle des caractéristiques électriques des composants, sur la carte en charge; contrôle fonctionnel des cartes contre final ou de qualité des produits assemblés.En raison de la nature systématique des tests et des séries è tester, onZutilise générale- ment des systèmes automatiques associant au matériel, calculateur, logiciel et souvent en relation avec des pas seurs/trieurs pour la manipulation. Ce type de test, qui représente la plus grande partie du marché, est mis en oeuvre a l'aide de matériels lourds très spécialisés, onéreux et très différent suivant le type de circuit fabriqué. Lorsqu'un matériel est installé chez un utilisateur, on doit surveiller son évolution et éventuellement détecter l'origine des pannes. Pour le dépannage individuel au niveau du laboratoire, on ne peut imposer un stock de pièces de rechange trop important et il faut donc pouvoir remonter au circuit. La localisation du défaut doit être rapide et dven- tuellement å la portée de techniciens ne connaissant pas le détail de la structure interne. Lors de la conception on cherche b vérifier, pour le contrdle d'une maquette, la logique, les caractéristiques électriques statiques, le fonctionnement dynamique ou le fonctionnement global. Suivant la nature du circuit testé les caractéristiques observées et donc les tests sont très différenciés. Pour chacun de ces tests on trouve sur le marché des outils spécialisés très performants mais leur diversité et leur coût les rendent inabordables pour les laboratoires moyens. La présente invention vise à fournir un appareil de conception relativement simple, d'un faible prix de revient et très commode d'emploi, permettant de produire des séquences numériques très diversifiées et adaptées au matériels devant être soumis aux tests, en vue d'un test fonctionnel. A cet effet cet appareil programmable pour la génération de séquences numériques en vue du test de circuits digitaux est caractérisé en ce qu'il comporte un microcalculateur connecté à un clavier/écran , une mémoire de génération de séquences numériques ou rafales connectée au microcalculateur, un circuit de calcul de l'adresse mémoire à incréments multiples, connecté à la mémoire de génération et à un registre lui-même relié au microcalculateur pour stocker la taille ou longueur de la rafale, des sondes de sortie reliées à la mémoire et permettant l'acheminement correct des rafales jusqu'au circuit digital testé et un ensemble de génération d'horloges connecté au circuit de calcul d'adresse mémoire. Suivant une caractéristique complémentaire de l'invention l'appareil comporte des moyens permettant de choisir une horloge parmi divers types d'horloges, des moyens pour choisir le cadencement, autrement dit le signal de début d'émission d'une rafale, et des moyens pour choisir la suspension ou gel temporaire de l'émission. L'ensemble de génération d'horloges peut comprendre une horloge interne ajustable de 1 Hz à 50 MHz9 une horloge manuelle ou pas à pas, une horloge externe par générateur ou bien encore une horloge externe fournie par le circuit soumis aux tests par une entrée sonde. On décrira ci-après,à titre exemple non limitatif, une forme d'exécution de la présente invention,en référence au dessin annexé sur lequel La figure 1 est un schéma synoptique de l'ensemble de l'appareil programmable pour la génération de séquences numériques suivant l'invention. La figure 2 est un schéma synoptique du circuit de génération d'horloge. La figure 3 est un schéma synoptique de la mémoire rapide. La figure 4 est un schéma synoptique du circuit du circuit d'adressage -de la mémoire. L'appareil programmable pour la génération de séquences numériques ou "rafales" suivant l'invention comporte deux systèmes, à savoir un système calculateur, représenté dans la partie droite de la figure 1, lequel assure les fonctions de développement de programme et de contrôle de l'unité de génération, et un système spécialisé de génération, représenté sur le reste de la figure ls et qui assure l'émission des rafales à la cadence voulue. Le système calculaeeu-r comprend essentiellement un microcalculateur 1 qui peut être par exemple du type Zilog Z80, avec 16 K-octets de mémoire. Le râle de ce microcalculateur 1 est de contrôler le dialogue avec l'utilisateur pour# la programmation, de gérer l'utilisation des mémoires permanentes, d'analyser le programme source et préparer la génération, de générer les chaînes à émettre et de transmettre au circuit de génération et de superviser l'enchaînement des rafales. Le système calculateur comporte également un cla vier/écran 2, qui est par exemple du type TVI 920C, ce clavier étant connecté au microcalculateur 1 et assurant la liaison avec l'opérateur pour créer la texte source, commander le lancement d'une génération et spécifier certains paramètres de la génération (horloge interne, profondeur de mémoire rapide, rebouclage en fin de mémoire). Le système calculateur comprend également une extension mémoire vive 3 de 16, 32 ou 48 K-octets, permettant de mémoriser les séquences de test plus longues et réduisant le temps mort de rechargement des rafales. Le système calculateur comprend également une mémoire 4 du type EEPROM, en deux unités de 2 K-octets, c'est-à- dire une mémoire permanente reprogrammable à effacement électrique. Cette mémoire 4 permet de conserver les programmes sources et, compte tenu de la faible occupation mémoire d'un programme source, une telle mémoire permet de conserver une dizaine de programmes par unité. L'appareil suivant l'invention comprend également un panneau avant 5 commandant des paramètres de contrôle de la génération des rafales. Ces paramètres fixant les conditions du déroulement matériel de la génération deces rafales. Ces paramètres concernent le choix de l'horloge, qui peut être soit interne ou externe par action sur un bouton-poussoir 6, soit manuelle pas à pas par action sur un bouton-poussoir 6a soit externe par un générateur (fiche BNC) par action sur un bouton-poussoir 7 ou encore externe par le circuit sous test (entrée sonde) par action sur un bouton-poussoir 8.Un autre paramètre concerne le choix du cadencement (signal de début d'émission d'une rafale) qui peut être soit automatique (envoi dès que la mémoire est prête), par action sur un bouton-poussoir 9, soit manuel (sous contrôle de l'opérateur), par action sur un bouton-poussoir 10, ou encore externe par le circuit sous test (entrée sonde), par action sur un bouton-poussoir 11. Un autre paramètre concerne le choix de la suspension ("gel" temporaire de l1émission) qui peut être soit manuelle, par action sur un bouton-poussoir 12, soit externe par le circuit sous test, par action sur un bouton-poussoir 13. Le système spécialisé de génération qui assure 1'd- mission des rafales à la cadence vou#lue comporte un ensemble de générations d'horloges prenant en compte les parambtres externes fournis au panneau avant 5 et éventuellement des signaux externes. Cet ensemble comprend une horloge de géné- ration 14 à plusieurs entrées connectées respectivement à une horloge interne 15, à une horloge externe (à commande manuelle) 16, à une horloge externe (générateur) 17 et à des sondes d'entrée 18 (horloge de déclenchement et de suspension). L'horloge de génération 14 est connectée, à ses sor tiers, à un circuit de calcul d'adresse 19, à un circuit de multiplexage 2(3 et h une horloge de validation 21. Le système spécialisé de génération représenté sur la figure 1 comporte par ailleurs une mémoire de génération permettant à la fois les fréquences de travail visées et de faciliter le découplage en mots de 8, 16 ou 32 bits. Cette mémoire 22 est connectée au microcalculateur 1 et elle est également reliée au circuit de calcul d'adresse 19. Un registre 23 qui est connecté au microcalculateur 1 et au circuit de calcul d'adresse 19, est prévu pour stocker la taille, autrement dit la longueur des séquences numériques ou rafales élaborées dans le microcalculateur 1. Le circuit de calcul d'adresse 19 est prévu à incréments multiples pour tenir compte des différents modes d'utilisation de la mémoire. La sortie de la mémoire 22 est connectée, par l'intermédiaire du circuit de multiplexage 20 également relié au microcalculateur 1, à des circuits drivers de sortie 24 connectés à leur tour à des sondes de sortie 25 permettant l'acheminement correct des rafales ou séquences numériques jusqu'au circuit testé et assurant leur synchronisation. Ces sondes de sortie sont également connectées à l'horloge de validation 21. Les sondes de sortie 25 sont au nombre de quatre et chacune d'elles émet sur huit voies parallèles, si bien que l'on obtient finalement une sortie des rafales ou séquences numériques sur 32 voies en parallèle. Les connecteurs des sondes à savoir de la sonde d'entrée 18 et des quatre sondes de sortie 25 sont de pré férence prévues sur le panneau avant 5 servant à spécifier les paramètres de la génération La mémoire de génération 22, dont la schéma détaillé est représenté sur la figure 3, permet de stocker, à 255 adresses différentes, 256 mots de 32 bits chacun, ces mots pouvant être éventuellement subdivisés en mots de 8 ou 16 bits. Chaque rafale ou séquence numérique est préalablement élaborée par le microcalculateur 1, sous la commande du programme, et elle est chargée dans la mémoire de génération 22 à raison d'un mot de 32 bits par ligne. En même temps la taille ou longueur de la rafale ou séquence numérique est inscrite dans le registre 23.Ensuite on détermine, au moyen du panneau avant 5, les paramètres de la génération. Autrement dit on choisit l'origine de l'horloge, c'est-à-dire s'il doit s'agir de l'horloge interne 15, de l'horloge externe (manuelle) 15 ou (générateur) 17, ou de la sonde d'en trée 18, on choisit également l'origine du déclenchement (manuel ou externe) de l'émission d'une rafale et l'origine de la suspension (manuelle ou externe) de la génération et ce en agissant sur le bouton-poussoir correspondant parmi les boutons 6 à 13. Une fois effectué le déclenchement (manuel ou externe) de l'émission d'une rafale, le circuit de calcul dia- dresse 19 est remis à zéro et l'horloge sélectionnée est démasquée. L'horloge de génération 14 qui est connectée au circuit de calcul d'adresse 19, pilote directement les incrémants d'adresses de la mémoire. Les mots successifs stockés dans la mémoire de génération 22 sont ainsi lus les uns après les autres et ils constituent, après être passés par le circuit de multiplixage 20 et les circuits drivers de sortie 24, la rafale de signaux numériques apparaissant sur les sondes de sortie 25, sur les 32 voies en parallèle. Lorsque la taille ou longueur de la rafale stockée dans le registre 23 correspond à ltadresse en cours présente dans le circuit de calcul d'adresse 19 un comparateur de ce circuit détectant cette identité provoque la remise h zéro du circuit de calcul d'adresse 19 et le masquage de l'horloge 14. Le microcalculateur 1 reçoit également le signal de fin de rafale et décide de la suite à donner ctest-h-dire Si l'émission de la même rafale doit être répétée ou si au contraire cette rafale doit être remplacée par une autre rafale élaborée par le microcalculsteur 1. La figure 2 est un schéma synoptique détaillé de l'horloge de génération 14 de la figure 1 Cette horloge pilote directement les incréments d'adresse de la mémoire de génération 22. Pendant la phase de chargement, l'horloge est gdnd- réa par le microcalculateur 1, sous la forme d'un créneau présent sur la voie 8 du bus de sortie du microcalculateur 1. Pour la phase de génération il y a plusieurs possibilités. L'horloge peut être issue du circuit soumis au test et auquel cas elle est captée par la sonde d'entrée 18. Elle peut être aussi fournie par un générateur externe et alors l'entrée a lieu sur une fiche BNC 17. Elle peut être aussi manuelle, sur l'entrée 16, et fournie par le bouton poussoir pas à pas 6a. Enfin une horloge interne 15 est disponible et elle est ajustable par le logiciel; deux quartz 15a et 15b donnent les fréquences de base de 20 et 50 MHz, la fréquence de 20 MHz étant également divisée par 2 dans un diviseur l5c. La fréquence de l'horloge interne est ensuite divisés par des ciruits diviseurs par 10 26. Pendant la génération l'horloge est également distribuée en bout des sondes de sortie 25 afin de fournir un moyen d'échantillonnage su circuit de test, et à l'analyseur qui enregistre le résultat. Avant le déclenchement, après la fin de la rafale ou pendant la suspension, tous les signaux sur les voies de sortie sont figé-e et l'horloge de validation 21 en bout de sonde est au repos. La figure 3 est un schéma synoptique détaillé de la mémoire rapide de génération 22 de la figure 1. Cette mémoire, d'une capacité d'un K-octets, est organisée en quatre bancs 271... 274 de deux boîtiers chacun connectés au circuit 19 de calcul d'adresse. Sur la figure 3 seuls ont été représentés les deux boîtiers 271a et 271b du premier banc 271 et les deux boîtiers 274a et 274b du quatrième banc 274. Chaque boîtier a une capacité de 256 x 4 bits. Le chargement de la mémoire 22 se fait octet par octet alternativement sur chaque banc. La donnée, c'est-àdire un octet de la mémoire image de la séquence de géné- ration, est placée sur la voie A du bus de sortie du microcalculateur 1 puis un signal d'écriture est émis sur la voie 8 du bus de sortie qui valide l'écriture sur un banc, par l'intermédiaire d'un décodeur 28 connecté aux quatre bancs 27p . .274. Un deuxième signal est alors envoyé sur la voie 3., pour passer à l'emplacement de mémoire suivant. Les deux bits de poids faible repèrent le banc concerné tandis que les huit bits de poids fort indiquent l'adresse dans le banc. Les divers bancs 271 ... 274 sont connectés à des registres à décalage de sortie correspondants 291 ... 294, de type parallèle/série. L'émission à partir de la mémoire 22 s'effectue par quatre octets en parallèle, les valeurs étant chargées dans la batterie de registres 291... 294 qui permettant de multiplier la profondeur de génération dans le cas d'une émission 9 ou 16 bits (par un mécanisme de décalage, associé à un mode de rangement judicieux des données). La figure 4 représente d'une manière détaillée le circuit 19 d'adressage de la mémoire de génération 22. Comme on l'a vu précédemment, ce circuit comprend un comparateur 30 recevant à une entrée la donnée stockée dans le registre de taille de rafale 23 et à une autre entrée la donnée se trouvant dans un compteur d'adresse courante 31 dont la sortie est connectée également à la mémoire 22. Ce compteur d'adresse 31 est constitué de bascules et le calcul de l'adresse suivante se fait par addition de 1 pour le chargement, octet par octet et de 4 pour la génération, mot par mot. L'adresse courante est chargée dans le compteur d'adresse 31 par un signal provenant de la voie B du bus du microcalculateur 1, lors du chargement, ou de l'horloge de génération 14, lors de l'émission. Le cir-cuit 19 d'adressage de la mémoire 22 assume, comme on l'a vu précédemment, deux fonctions à savoir incrémenter l'adresse mémoire (un par un au chargement ou quatre par quatre au vidage), et détecter la fin de la rafale pour forcer l'adressa à zéro en cas de bouclage ininterrompu sur la rafale ou bien suspendre l'horloge de génération 14, figer les sorties et envoyer une demande d'interruption au microcalculateur 1 (chargement d'une nouvelle rafale Qu arrêt de la génération). REVENDICATIONS 1 - Appareil programmable pour la génération de séquences numériques en vue du test de circuits digitaux caractérisé en ce qu'il comporte un microcalculateur (1) connecté à un clavier/écran (2), une mémoire (22) de génération de séquences numériques ou rafales connectée au microcalculateur (1), un circuit (19) de calcul de l'adressa mémoire à incréments multiples, connecté à la mémoire de génération ( 22) et à un registre (23) lui-même relié au microcalculateur (1) pour stocker la taille ou longueur de la rafale, des sondes de sortie (25) reliées à la mémoire (22) et permettant l'acheminement correct des rafales jusqu'au circuit digital testé et un ensemble de génération d'horloges (14-18) connecté au circuit (19) de calcul d'adresse mémoire. 2.- Appareil suivant la revendication 1 caractérisé en ce qu'il comporte des moyens (5) permettant de choisir une horloge parmi divers types d'horloges, des moyens pour choisir le cadencement, autrement dit le signal de début d'émission d'une rafale, et des moyens pour choisir la suspension ou gel temporaire de l'émission. 3.- Appareil suivant la revendication 2 caractérisé en ce que les moyens (5) comprennent un panneau portant plusieurs boutons-poussoirs, à savoir un bouton-poussoir (6) de choix d'une horloge interne ou externe, un bouton-poussoir (6e) d'horloge manuelle pas à pas, un bouton-poussoir (7) d'horloge externe par un générateur et un bouton-poussoir (8) d'horloge externe fournie par le circuit soumis aux tests, par une entrée sonde (18). 4.- Appareil suivant la revendication 3 caractéfis en ce que le panneau (5) comporte en outre un bouton-poussoir (9) de cadencement automatique, un bouton-poussoir (10) de cadencement manuel sous le contrôle de l'opérateur et un bouton-poussoir (11) de contrôla du circuit soumis aux tests par une entrée sonde. 5.- Appareil suivant l'une quelconque des revendications 3 et 4 caractérisé en ce que le panneau comporte en outre un bouton-poussoir (12) de suspension manuelle de l'émission de la rafale et un bouton-poussoir (13) de suspension externe par le circuit soumis aux tests. 5.- Appareil suivant la'une quelconque des revendications précédentes caractérisé en ce que l'ensemble de génération d'horloges comprend une horloge de génération (14) à plusieurs entrées connecté as respectivement à une horloge interne (15), à-une horloge externe à commande ma nue île (16), à une horloge externe (17) commandée par un générateur et à au moins une sonde d'entrée (18), cette horloge de génération (14) étant connectée en outre, à ses sorties, au circuit de calcul d'adresse (19) et à un circuit de multiplexage (20), ainsi qu'à une horloge de validation (21) reliée aux diverses sondes de sortie (25). 7.- Appareil suivant l'une quelconque des revendications précédentes caractérisé en ce que la mémoire de génération (22) est organisée en plusieurs bancs (271...274) connectés en parallèle à une première voie A du bus de sortie du microcalculateur (1), ces bancs étant reliés également à un décodeur (28) connecté à une seconde voie B du bus de sortie du microcalculateur (1) validant l'écriture sur un banc, ce décodeur (28) étant relié au circuit (19) de calcul d'adresse lui-même connecté aux divers bancs de la mémoire, et en ce que ces bancs sont reliés, pour l'émission, à des registres (291...294) assurant une sortie de la séquence numérique ou rafale en parallèle sur plusieurs voies. 8.- Appareil suivant l'une quelconque des revendications précédentes caractérisé en ce que le circuit (19) d'adressage de la mémoire de génération (22) comprend un comparateur (30) dont une entrée est connectée au registre de taille de rafale ~23), pour recevoir la donnée stockée dans ce registre, et une autre entrée est reliée à un compteur d'adresse courante (31) dont la sortie est connectée également à la mémoire (22), ce compteur ri'adresse ( étant constitué de bascules et effectuant le calcul de l'adresse suivante par addition de "1" pour le chargement, octet par octet, et de "4" pour l'génération, mot par mot, le compteur d'adresse étant connecté à la seconde voie (B) du bus du microcalculateur (1) ainsi qu'à l'horloge de génd- ration (14), pour intervenir respectivement lors du chargement et lors de L'émission.