Les circuits logiques modernes, et, en particulier, les circuits à microprocesseurs, sont difficiles à mettre au point sans l'appareillage de contrôle spécifique: l'Analyseur Logique. Cette instrument réalise une suite de \xc7 photographies\xc8 de l'état électrique d'un circuit, en synchronisme avec l'horloge de ce circuit (mode synchrone) ou avec l'horloge interne de l'analyseur (mode asynchrone).
Les signaux (ou canaux) sont d'abord regroupés pour constituer un mot, qui est mis en forme par des triggers de schmitt. Leur seuil de déclenchement est ajustable, en fonction du type de technologie: le signal est supérieur au seuil, l'analyseur affichera un 1 (ou un zero si on désire un affichage en logique négative).
Le mot logique ainsi constitué est ensuite appliqué sur un registre pour y être échantillonné, à l'aide de l'horloge de l'analyseur, ou du circuit à analyser. Dans le premier cas, la fréquence d'échantillonnage doit être judicieusement choisie, compte tenu de deux critère contradictoires:
Une bonne résolution du temps: Toute transition logique survenant entre deux échantillonnages sera visualisée sur le 2ieme échantillon:
instant [ 1 2 1 2 ] d'échantillonnage: ----|----|----|----|----|----|----|----|----|----|---- ____ __ ____ signal 1 | | | | | | reel 0 _ __| |____| |_____________| |_____________ _ _ ____ ____ ____ signal 1 | | | | | | memorise 0 _| |____| |______________| |__________ _ _
Une fenêtre temporelle d'observation suffisamment étendue: La capacité de la mémoire d'échantillonnage est limitée. Une haute fréquence d'horloge aboutit a une fenêtre d'observation étroite:
instant [ fenetre d'observation ] d'échantillonnage: ----|-|-|-|-|-|-|-|-|-|-|-|-|-|---------------------- _______ ___________ ____ _ _ signal 1 | | | | | réel 0 _ __| |_____________| |_______| _______ ___ _ _ signal 1 | | | mémorisé 0 _ __| |_____________|
Acquisition d'impulsion brèves: Toute double transition (suite 0 1 0 par exemple) apparaissant entre deux impulsions de l'horloge d'échantillonnage (1 et 2), sera invisible et ignoré par l'analyseur:
instant [ 1 2 ] d'échantillonnage: ----|----|----|----|----|----|----|----|----|----|---- ____ __ __ ______ _ _ signal 1 | | | | | | | réel 0 _ __| |____| |_______| |__________| ____ ____ ______ _ _ signal 1 | | | | | mémorisé 0 _ __| |____| |___________________|
Dans le mode Glitches Analysis l'analyseur 1241 évite ce problème: pour chaque canal, une bascule JK est mise a zero à la première impulsion d'horloge. l'apparition d'une double transition est alors enregistrée dans la bascule. Au coup d'horloge suivante, les bascules sont lues. Le mot obtenu est enregistré (en même temps que l'échantillon) dans une deuxième mémoire. La visualisation se fait sous la forme d'une modification vidéo sur le chronogramme (surbrillance,...).
Apres le RUN les échantillons sont enregistrés en continu dans une mémoire à adressage circulaire, jusqu'a la phase de déclenchement: Chaque échantillon est comparé à un mot de déclenchement (GLOBAL EVENT). Chaque bit de déclenchement peut prendre trois valeurs: 1, 0 ou X. Les canaux correspondants à la valeur X ne sont pas pris en compte pour le déclenchement. Lorsque les valeurs des autres canaux correspondent aux bits respectifs du mot de déclenchement, trois scénarios sont possible (l'analyseur logique a une capacité mémoire de m échantillons):
a) On arrête tout de suite la mémorisation. La mémoire contient alors tous les échan tillons saisis avant le déclenchement.
b) On enregistre encore un certain nombre n inférieurs m.
c) On enregistre encore m échantillons. La mémoire contient alors tous les échantillons saisis après le déclenchement.
Au RUN suivant, le mot échantillonné peut être enregistré dans une deuxième mémoire. Ce qui permet de faire des comparaison avec la séquence contenue dans la première mémoire. La visualisation d'une différence apparaît sous la forme d'une surbrillance vidéo sur le chronogramme.
Le mode SEQUENTIAL EVENT est un système de déclenchement plus élaboré, (temporisation comptage d'occurrences, algorithme de déclenchement,...). Il permet l'analyse du comportement des systèmes à microprocesseurs (reset, interruption, arbitrage de bus, rafraîchissement, trace d'exécution,...).
L'analyseurs 1241 peut être équipes d'une sonde pour microprocesseur (68000), et d'un logiciel (disponible dans une cartouche en rom) qui traite les signaux du microprocesseur pour retrouver les instructions exécutées, et les afficher en mné moniques assembleur.
Elles présentent:
- 1 voie d'horloge extérieure repérée C/Q. Cette voie est utilisée pour le mode synchrone (menu TIMEBASE). Dans ce mode, l'échantillonnage ce fait soit à chaque front montant ou descendant ou les deux de l'horloge extérieure.
- 9 voies de donnees, numerotees de 0 à 8. Pour Analyser un bus d'adresses ou de données, mettre la voie 0 sur le bit le moins significatif.
- 1 bouton poussoire, qui permet de repérer la sonde. Si la sonde est branchée sur le connecteur 2, l'appui sur le bouton affichera à l'écran POD 0.
Attention: une sonde est électriquement fragile. Pour ne pas la détruire, respecter les recommandations suivante:
- Opérer le branchement ou le débranchement, analyseur et maquette hors tensions.
- Brancher toujours la masse en premier et la débrancher toujours en dernier.
Pour les TP de IMIPRO, vous utiliserez au maximum 2 sondes (soit 18 voies)
que vous connecterez sur les positions 2 et 3 (pod2 et pod3).
Vous devez commencer par repérer sur le schéma de câblage de votre maquette les signaux que vous désirez visualisez. Par exemple: pour le bus de données de l'ADC d0 à d8, on prends les voies 0 à 7 du pod 2 (que l'on repère sur le schéma: P20 à P27; P20 est le poids faible et P27 est le poids fort). Pour le signal RD\ on prends la voie 8 du pod 2 (que l'on repère sur le schéma: P28)...
Brancher les sondes (cf 3.1): Trouver une masse sur votre maquette et avec la pince de masse la relier aux sondes. Puis a l'aide de grippe-fils ou des pinces de test pour ci, connectez les signaux de la maquette aux voies de la sonde.
Mettre sous tension l'analyseur et attendre la fin des tests.
L'analyseur possède une mémoire non volatile (menu UTILITY puis STORAGE MEMORY MANAGER) pour sauvegarder dans un fichier, une configuration (setup), la mémoire d'acquisition ou de référence. Pour simplifier les réglages de l'analyseur dans le cadre des tps de IMIPRO vous disposez d'un fichier spécifique de setup. Pour le charger il faut dans le menu UTILITY et à l'aide du SCROLL sélectionner le fichier INITTP puis sur l'écran toucher LOADFILE et confirmer avec la touche X.
Il faut identifier par un nom chaqu'une des voies. L'analyseur impose ici une limitation: seulement 5 groupes de noms sont possibles. Un nom de groupe est limité a 5 caractères. Au maximum 36 voies par groupe. Une voie dans un groupe est identifiée par le nom du groupe plus un numéro qui est fonction de l'ordre de déclarations dans le groupe. Exemple: Si sur nos sondes nous avons connecté: de P20 à P27 un bus de données (P27 est le poids fort), sur P28 le signal RD/ et sur P30 le signal WR/. Dans l'écran CHANNEL GROUPING, on place le curseur sur la première ligne de la colonne NAME. Avec le scrool et les touches du curseurs nous écrivons: le nom du groupe DATA et HEX dans les colonnes INPUT (format de l'entree) et DISP (pour un affichage en hexadécimal, BIN pour un affichage en binaire). Dans la colonne CONTENTS nous affichons les voies de ce groupe, de gauche à droite, du poids fort au poids faible:
NAME INPUT DISP TB CONTENTS DATA HEX HEX T1 POD 22222222X CHAN 76543210X
Le signal P27 a donc le nom DATA07, P26 le nom DATA06 et P20 le nom DATA00. Pour le RD/ et WR/ on obtient:
NAME INPUT DISP TB CONTENTS RD/ BIN BIN T1 POD 2X CHAN 8X WR/ BIN BIN T1 POD 3X CHAN 0X
La colonne TB indique dans le mode aynchrone la base de temps utilisé soit T1 ou T2.
Par defaut (setup INITTP) vous devez obtenir:
ACTIVE TIMEBASES TI AND T2 GLOBAL EVENT = CLOCKED
TIMEBASE 1 ASYNC 20 NS
Mettre le curseur sur la ligne TIMEBASE 1 et choisir la durée de la période d'échantillonnages dans la limite de 1s à 20 ns soit de 1 à 100 000 échantillons par seconde (cf 2.2).
Par defaut nous sommes dans le mode GLOBAL EVENT. Avec l'exemple precedent nous obtenons l'ecran suivant:
GLOBAL EVENT: DATA RD/ WR/ TRIGGER ON XXXXXXXX X X
Si on veut déclencher l'échantillonnages sur WR/ actif. Il suffit de placer un 0 (WR/ actif a niveau bas) dans la colonne WR/ et une X pour les autres signaux.
GLOBAL EVENT: DATA RD/ WR/ TRIGGER ON XXXXXXXX X 0
(Pour plus d'explication ce reporter au paragraphe 2.3).
Nous pouvons alors lancer le RUN et attendre la fin de mémorisation. Si l'analyseur semble bloqué c'est que l'événement de déclenchement n'arrive pas. Cela peut provenir d'un mauvais branchement (ou pire une panne) des voies d'une sonde sur la maquette ou d'une erreur dans le mot de déclenchement.
Apres un run on peut visualiser la mémoire dans le menu DATA, soit sous forme d'une table (STATE TABLE), soit sous forme de chronogrammes (TIMING DIAGRAM).
Dans le mode TIMING DIAGRAM il faut afficher dans la colonne de gauche (sous le mot PAGE) les noms des signaux que l'on veut visualiser.
Pour plus d'information vous pouvez consulter le Reference Guide qui résume le Reference Manual.
.