Introduction aux Analyseurs Logique


Généralités

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).

Principe de fonctionnement

Digitalisation des signaux (MEMORY CONFIG)

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).

Échantillonnage (TIMEBASE)

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 | | | | | |
réel 0 _ __| |____| |_____________| |_____________ _ _
____ ____ ____
signal 1 | | | | | |
mémorise 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          [  fenêtre 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 zéro à 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 (sur brillance,...).

Mémorisation (TRIGGER)

Après 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 
écran 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 sur brillance 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,...).

Utilisation de l'analyseur en TP

Les sondes

Elles présentent:
- 10 voies de données, numérotées de 0 à 9. Pour Analyser un bus d'adresses ou de
données, mettre la voie 0 sur le bit le moins significatif.

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.

Avant la mise sous tension de l'analyseur

Pour les TP, 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.

Mise sous tension de l'analyseur

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.

Réglages (menu CONFIG puis CHANNEL GROUPING)

Il faut identifier par un nom chaque 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'entrée)
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.

Le menu TIMEBASE

Par défaut (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).

Le menu TRIGGER

Par défaut nous sommes dans le mode GLOBAL EVENT. Avec l'exemple précédent nous obtenons l'écran 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.

Le menu DATA

Après 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 Référence Guide qui résume le Référence Manual.