Utilisation d'un analyseur logique dans le domaine amateur
Découverte de l'analyseur logique HP 16500B

Les
systèmes de gestion à microprocesseurs et à microcontrôleurs
deviennent omniprésents dans les domaines de la radio, de la télévision,
de la métrologie, etc... On ne peut plus aujourd'hui imaginer de
système de synthèse de fréquence, de télécommande,
d'affichage, qui n'ait pas recours à de tels systèmes. Lors
des phases de développement et de mise au point le travail est
grandement facilité si l'on dispose d'un outil permettant d'examiner
les échanges entre le processeur et les divers éléments
périphériques : l'analyseur logique. Les erreurs logicielles
peuvent être tracées, les signaux logiques erratiques détectés,
la performance d'ensemble mesurée.
De plus
l'analyseur logique est l'outil de choix pour effectuer un travail de
"reverse engineering". Sur un équipement ancien, sans
documentation, il devient possible d'étudier dans le détail
les échanges entre l'unité centrale et ses périphériques.
Le développement de nouvelles cartes compatibles avec le matériel
ancien pourra ainsi être facilité.
Nous
décrirons ici un analyseur logique un peu ancien, mais très
performant, le HP 16500B fabriqué au début des années
1990 par la société Hewlett Packard (aujourd'hui Agilent).
Il peut rendre de grands services à l'amateur intéressé
par le développement de systèmes à microcontrôleurs.
Quelques généralités sur les analyseurs logiques
L'analyseur
logique peut être comparé à un gros oscilloscope multivoies
à mémoire, spécialisé dans la capture et la
visualisation de signaux logiques. Comme l'oscilloscope il présentera
l'évolution de niveaux logiques en fonction du temps. Cependant
la grandeur présentée ne sera pas une tension, mais seulement
une donnée binaire résultant d'une comparaison à
un seuil de tension. Par exemple, si la tension présente sur une
entrée est supérieure à 2,5 V sur une entrée,
l'analyseur logique présentera un niveau 1, dans le cas contraire
un niveau 0. Les niveaux intermédiaires ne seront pas représentés.
Il faut
souligner deux points forts des analyseurs logiques :
-
ils peuvent visualiser l'évolution des niveaux logiques de plusieurs
dizaines à plusieurs centaines de sources simultanément.
Les données entrantes peuvent être groupées pour
être présentées sous des formes diverses, par exemple
sous forme d'octets,
- le déclenchement de l'analyseur peut s'effectuer, au choix
de l'utilisateur, selon des critères très élaborés:
fronts, apparition d'un octet ou d'un mot donné, d'une séquence
quelconque, d'une conjonction d'évènements, faire intervenir
des temporisations, etc...
Deux
modes d'utilisation peuvent être sélectionnés:
-
le mode "timing" qui s'apparente beaucoup au mode de fonctionnement
d'un oscilloscope classique. L'axe horizontal représente simplement
le temps.
-
le mode "state" où la base de temps est fournie par
l'horloge du système observé. Les données présentées
sont celles capturées aux instants précis des transitions
du signal d'horloge. Ce mode de fonctionnement permet de ne mettre en
mémoire que les seules données pertinentes d'un système
logique, d'optimiser l'utilisation de la mémoire et de faciliter
ensuite le travail d'interprétation.
Les
données et la configuration peuvent généralement
être archivées sur un disque dur interne à l'appareil.
Les fichiers de données peuvent ensuite être exportés
à des fins de traitement externe.
Présentation de l'analyseur logique HP 16500B
Pour
un usage amateur, nous ne considèrerons que des matériels
d'occasion raisonablement anciens et proposés à prix modérés.
Parmi les plus grands fabricants mondiaux d'analyseurs logiques, dont
les matériels sont présents aujourd'hui sur le marché
de l'occasion, on peut citer HP/Agilent, Tektronix et Philips/Fluke. Tektronix,
avec ses modèles 1240 et 1241, Philips avec sa série PM
3580, ont fabriqué d'excellentes machines qui ont connu une large
diffusion. Nous nous arrêterons toutefois sur la production de HP/Agilent
leader incontesté du marché, avec sa famille HP 16500 qui
a été son produit phare des années 1990.
Dans
la famille HP 16500 trois modèles sont apparus successivement:
le HP16500A qui ne comporte pas de disque dur et où les fichiers
système sont contenus sur une disquette, le HP16500B comportant
un disque dur de 85 Mo et le HP16500C où la capacité du
disque dur a été portée à 540 Mo. Le système
d'exploitation de cette famille d'appareils s'apparente à MS-DOS.
A noter sur le HP16500C quelques améliorations de détail
: en standard appareil communiquant grâce à un port Ethernet,
périphériques (souris, clavier) PS/2 au lieu de HIL, commande
de cible (target control), etc....
Comme
les autres membres de cette famille, l'analyseur logique HP 16500B est
un appareil évolutif et modulaire. Il se compose d'un chassis comportant
le système de visualisation et l'alimentation, avec à l'avant
un écran tactile couleur, un gros bouton de sélection de
fonctions et un lecteur de disquettes 3,5". On trouve à l'arrière
cinq logements pouvant accueillir différents types de cartes: cartes
d'acquisition, mais aussi carte oscilloscope numérique, générateur
de séquence,...
Les
commandes s'effectuent au moyen de menus déroulants, accessibles
à partir de l'écran tactile ou plus aisément d'une
souris. Attention, sur l'analyseur logique HP 16500B, la souris est un
modèle spécifique, type HIL.
(cliquer pour agrandir)
A l'allumage
de l'appareil, la configuration matérielle apparaît à
l'écran sous la forme d'un synoptique:

(cliquer pour agrandir)
Les
caractéristiques essentielles des cartes d'acquisition les plus
répandues sont les suivantes:
carte
|
fréquence d'échantillonnage max
|
nombre d'entrées
par carte
|
taille
mémoire
|
mode state
|
mode timing
|
HP 16510A
(la plus ancienne)
|
25 MHz
|
100 MHz
|
80
|
1 k
|
HP 16550A
|
100 MHz
|
250 MHz / 500 MHz
|
102
|
8 k / 4 k
|
HP 16555A
|
110 MHz
|
250 MHz / 500 MHz
|
68
|
2 M / 1 M
|
HP 16555D
|
110 MHz
|
250 MHz / 500 MHz
|
68
|
4 M / 2 M
|
|
|
la
carte HP 16550A qui comporte 102 entrées
|
un
logement équipé de la carte HP 16555A
|
(cliquer sur
les vignettes pour les agrandir)
Comme
son nom l'indique, une carte d'acquisition permet de capturer les signaux
présents sur ses entrées et de les conserver en mémoire.
Les signaux d'entrée peuvent au besoin être associés
par groupe de 8, pour être visualisés sous forme d'octets
dans leur représentation hexadécimale, ou bien par groupe
de 16 pour être présentés sous forme de mots de 16
bits.
Comme
nous l'avons vu, le déclenchement de l'analyseur peut s'effectuer,
au choix de l'utilisateur, selon des critères très élaborés:
fronts, apparition d'un octet ou d'un mot, temporisations, séquence
quelconque, conjonction d'évènements,... Un ensemble de
macro-instructions facilite la tâche de l'utilisateur. L'ensemble
est très convivial, l'utilisation intuitive. De plus les notices
d'utilisation sont encore présentes sur le site de Agilent.
|
|
un
exemple simple de définition des entrées
|
un
exemple simple de séquence de déclenchement
|
Le processus
interne de mémorisation étant continu, il est bien sûr
possible de visualiser les signaux apparaissant après l'instant
de déclenchement, mais aussi avant ! Cette possibilité
est très intéressante pour comprendre l'origine d'un problème.
Bien entendu, la taille mémoire conditionne la durée de
l'historique qui est mémorisé.
Enfin,
il est possible d'imprimer les images sur une imprimante externe ou bien
de sauvegarder celles-ci au format TIF soit sur une disquette, soit sur
le disque dur de l'analyseur. Les copies d'écran qui figurent dans
le présent article ont été obtenues au moyen de cette
fonctionnalité.
Un exemple simple d'utilisation
A titre d'exemple, connectons notre analyseur logique sur les connecteurs internes à un émetteur-récepteur Alcatel ATR2680 afin d'observer les signaux transmis par le microcontrôleur d'origine à la platine synthétiseur:

Paramètrons
ensuite l'analyseur: entrées logiques utilisées, seuils,
affectation d'étiquettes aux signaux, critère de déclenchement:
A l'allumage
de l'émetteur-récepteur, la séquence d'initialisation
des synthétiseurs émission et réception apparaît
! Muni de la documentation du circuit intégré PLL, le spécialiste
pourra facilement déterminer les fréquences de fonctionnement
de l'appareil !
On
observera à droite une représentation dilatée, avec
présence des curseurs temporels qui permettent d'effectuer des
mesures de temps précises.
Où se procurer un analyseur logique ?
Les
analyseurs logiques sont des systèmes qui évoluent rapidement
(fonctionnalités, vitesse) et qui connaissent donc, chez les industriels
exigeants, une durée de vie courte. Il existe un déséquilibre
important entre l'offre et la demande de matériel de deuxième
main. Comme on peut l'observer sur les sites de vente en ligne, le marché
de l'occasion est particulièrement déprimé. Conséquence
immédiate: les prix de vente ne représentent qu'une très
faible fraction de leur prix neuf et les prix sont au bout du compte principalement
déterminés par les acheteurs.
Avec
les précautions d'usage, on pourra aisément se procurer
un analyseur logique à prix modéré sur les grands
sites d'enchères en ligne (EBay,
...). A considérer également les magasins traditionnels
de vente de matériel d'occasion qui proposent souvent d'excellentes
machines. Attention aux accessoires ! Il faut dans tous les cas privilégier
les offres incluant, outre le chassis de base, les cartes d'acquisition,
nappes de liaison, pods, dispositifs de connexion, etc... Vérifier
également la présence des logiciels système. Leur
recherche ultérieure pourrait s'avèrer problématique
et interdire le fonctionnement de l'appareil.