Les analyseurs logiques

Cet espace concerne les composants électroniques, les techniques de réalisation, le soudage, la mesure et ses divers instruments, les programmateurs ou encore votre laboratoire. Recueille également les éventuelles ventes, achat, dons ou recherches.

Modérateurs : Papy.G, fneck, Carl

Notator
Messages : 1300
Inscription : 09 août 2015 20:13

Les analyseurs logiques

Message par Notator »

J'ouvre ce sujets sur les analyseurs logiques, qui sont des outils de diagnostique puissants, mais trop méconnus pour beaucoup d'entre nous.

Quand il s'agit de faire de la mise au point ou du dépannage de circuits logiques et numériques, on se retrouve vite limité, une fois qu'on a vérifié les tensions d'alimentation et les niveaux logiques de quelques points de mesure à l'aide d'un multimètre ou d'un oscilloscope.

C'est alors là que les analyseurs logiques peuvent trouver toute leur utilité, et précisons tout de suite qu'ils ne sont conçus que pour faire du numérique, donc des circuits logiques et à microprocesseurs.

Avant d'aborder plus précisément les analyseurs logiques, je voudrai présenter un instrument assez oublié qui n'a pas leur puissance, mais qui peut rendre de bons services : c'est la sonde logique, qui est un peu l'analyseur logique du pauvre.

Sonde logique.png
Sonde logique.png (172.05 Kio) Consulté 3099 fois

Les sondes les plus élaborées peuvent être réglées pour du TTL ou du Cmos, et elles indiquent par la couleur d'une led le niveau logique (1 ou 0) au point de mesure appliqué.
J'en ai deux, et c'est bien pratique pour des vérifications rapides.


Mais les sondes logiques trouvent vite leur limite quand il est question de voir ce qu'il se passe sur le bus de données d'un microprocesseur, par exemple.
C'est là qu'arrivent les analyseurs logiques, qui peuvent mesurer les états sur plusieurs lignes numériques.
Il en existe avec un plus ou moins grand nombre de voies, à des tarifs variables, évidemment.

Personnellement, je dispose d'un 9 voies Scanna plus d'Ikalogic, ce qui suffit à mes besoins, comme je ne fais que du microprocesseur 8 bits.

Scana Plus Ikalogic.png
Scana Plus Ikalogic.png (319.47 Kio) Consulté 3099 fois

D'un côté on le branche par une prise USB sur un ordinateur, et de l'autre côté on a un faisceau de grip-fils (de différentes couleurs pour leur repérage) sur les lignes à mesurer.
L'appareil échantillonne sur le bus de données, par exemple, l'état des différents niveaux logiques, et les affiche à l'écran, un peu comme un oscilloscope multivoies.
Chaque trace correspond par sa couleur au grip-fil de même couleur.

Scana Plus oscillogramme.png
Scana Plus oscillogramme.png (164.62 Kio) Consulté 3099 fois
Trace.png
Trace.png (58.66 Kio) Consulté 3099 fois

Comme il peut être fastidieux d'interpréter tel quel les signaux, il est possible d'afficher leur valeur en hexadécimal (ou en une autre base, à volonté).

De plus, il est par ailleurs possible d'afficher en clair les données d'un protocole informatique défini ; par exemple, si on a choisi de l'USB, les différentes informations mesurées sont affichées en clair.

Traces protocole.png
Traces protocole.png (23.08 Kio) Consulté 3099 fois

Voila, j'espère que ce petit article vous aura pour certains mieux fait réaliser ce qu'est un analyseur logique, et ce qu'il peut éventuellement vous apporter.

Je laisse maintenant libre à chacun d'apporter tous les compléments d’information qu'il jugera bon d'ajouter dans ce sujet.
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
Avatar de l’utilisateur
Dynaroo
Messages : 524
Inscription : 25 juil. 2020 00:06
Localisation : Sud 77

Re: Les analyseurs logiques

Message par Dynaroo »

Matos supportés par Sigrok:
https://sigrok.org/wiki/Supported_hardware
Hacker vaillant, rien d'impossible !
Avatar de l’utilisateur
hlide
Messages : 3507
Inscription : 29 nov. 2017 10:23

Re: Les analyseurs logiques

Message par hlide »

Premier analyseur logique : Hantek 6022BL (8 canaux). Je l'ai utilisé comme oscilloscope et je ne souviens pas de l'avoir testé en LA.

Deuxième analyseur logique : Kingst LA1010 (16 canaux). Acheté à cause d'un besoin de plus de canaux à un prix abordable. Mais attention, il est assez limité au bout du compte, genre la période minimum d'une pulsation qu'il détecte est 20 ns.

Troisième analyseur logique : Kingst LA5032 (32 canaux). Acheté à cause d'un besoin de plus de canaux et d'une meilleure précision des périodes des pulsations (6,25 ns).
Avatar de l’utilisateur
6502man
Messages : 12332
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: Les analyseurs logiques

Message par 6502man »

Pour ma part j'ai un LA1010 (16 voies) mais on arrive vite aux limites.
et j'ai aussi une version LA... 32 voies la aussi il y à pas mal de limite
et ensuite j'ai un ZeroPlus LAP-C 16064 et la on rentre dans un autre domaine
c'est bien plus confortable et surtout on à accès à énormément de Protocol.
L'interface est très bien faite et pratique.
J'avais put l'acheter dans une boutique suèdoise il y à quelques années
ils faisait une superbe promo à l'époque :D
Mais ca demande beaucoup de temps entre la connexion des différents
câbles puis l'analyse des résultats, et je m'en suis surtout servit pour la
mise au points d'extensions mais pas pour la réparation (bien que cela
peut être utile aussi).

Et comme la dit notator la sonde logique est aussi très pratique pour vérifier
certains signaux Reset notamment.
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Pocket
Messages : 358
Inscription : 12 janv. 2020 20:58
Localisation : Toulouse
Contact :

Re: Les analyseurs logiques

Message par Pocket »

Salut,

Ouaip, j'ai aussi un LAP-C 32128, une tuerie ce truc, acheté aussi en super promo.
J'ai pu analyser quelques protocoles avec (gpib, one wire, ...) parfois délicat à configurer, mais vraiment très puissant.

A+
Pocket
Image
Avatar de l’utilisateur
ambi04
Messages : 77
Inscription : 24 juin 2022 12:26
Localisation : Alpes-de-Haute-Provence

Re: Les analyseurs logiques

Message par ambi04 »

En open source il y a un 24 Chanel 100Mhz a base de Pi Pico. https://github.com/gusmanb/logicanalyzer
Pas encore essayé, j'ai commandé les PCB chez jlpcb, je fais un retour dès que je les aurai reçu et construit.
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

6502man a écrit : 21 avr. 2023 20:57 j'ai aussi une version LA... 32 voies la aussi il y à pas mal de limite
C'est un LA5032 ? Je vais bientôt en recevoir un.
Peux-tu en dire plus sur les limites que tu as détecté ?
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

De mon coté, j'ai des clones de Saleae en 8 et 16 voies. Pour l'instant, ils répondent globalement à mes besoins.

Je trouve juste le soft de Saleae limité. Par exemple, quand on veut décoder un bus d'adresse (analyseur 'parallel'), il demande un signal de 'clock' unique. Hors, il est courant d'avoir besoin de combiner 2 signaux pour avoir une 'clock' valide, ce qui n'est pas possible avec le soft. Par exemple, l'adresse d'une EPROM 2764 n'est valide que si /E (chip enable) et /G (output enable) sont à 0. idéalement, il faudrait pouvoir créer une clock virtuelle en combinant les 2 signaux. Par contre, il semble qu'on puisse faire des analyseurs custom en Python. Je vais me pencher sur la question.

Des choses très utiles aussi sont les 'test clips' qui sont je trouve de plus en plus difficile à trouver pour les anciens chips. Au lieu d'aller d'accrocher directement l'analyseur sur les pâtes des puces, on peut tout préparer calmement sur le test clip et venir ensuite le mettre sur la puce. C'est du coup aussi très facile à retirer.

Voici par exemple mon clone de Saleae 16 voies en action avec un test clip sur un ordinateur très rare donc je parlerai plus tard :mrgreen:

Clone de Saleae 16 en action
Clone de Saleae 16 en action
PXL_20230325_120128132_small.jpg (350.04 Kio) Consulté 2203 fois
Dernière modification par gotcha le 24 avr. 2023 10:54, modifié 1 fois.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
hlide
Messages : 3507
Inscription : 29 nov. 2017 10:23

Re: Les analyseurs logiques

Message par hlide »

Le Kingst LA5032 est à 500 MHz mais plus tu utilises des voies, plus ça baisse. Le logiciel ne permet pas de regrouper les voies visuellement en une seule ligne (bus de donnée ou adresse) alors que pourtant on peut lui associer un protocole parallèle pour afficher la valeur en hexa. Il y a bien un système de plugin pour faire ces propres protocoles mais j'ai un peu peur que ce soit avec une vieille version de Visual Studio C++ (2013). A noter que c'est aussi possible en Linux ou MacOS.
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

Après avoir pas mal utilisé des analyseurs logiques USB modernes, j'ai l'impression qu'ils ne sont pas forcement les plus adaptés au travail sur des systèmes à base de microprocesseurs. J'ai donc commencé à m’intéresser aux analyseurs vintages qui me semblent très intéressants car ils ne se contentent pas de faire du 'timing analysis', mais ils peuvent aussi faire du 'state analysis' et pour certains du 'inverse assembler'.

Bon, ils sont clairement gros et lourds, mais ils ont quand même je trouve 'de la gueule'. Comme ils sont presque aussi vieux que les ordinateurs qu'on répare, ils peuvent aussi tomber en panne :lol:

Je me suis donc acheté récemment un nouveau joujou, un HP1650A de la fin des années 80. C'est un 80 canaux, 100Mhz en timing et 25Mhz en state, ce qui est largement suffisant pour les machines des années 80. Il n'a franchement pas à rougir devant les analyseurs chinois qu'on utilise.

Actuellement, j'apprends à maitriser la bête, par exemple en traçant des accès mémoire et en déclenchant sur une adresse mémoire en particulier. Un de mes MPF1 me sert de cobaye :)

Mon prochain objectif est de faire du désassemblage à la volée du Z80. L'analyseur peut le faire (j'ai le soft qu'il faut). A l'époque, il y avait une grande variété d'interfaces dédiées à un processeur particulier pour ce type d'analyseur (qu'ils appelaient 'préprocesseur interface'). Malheureusement, je n'en ai aucune. Après avoir étudié le probleme, il me semble que je vais devoir faire une petite interface de manière à capter les bons signaux et effectuer le désassemblage du Z80 dans l'analyseur.

PXL_20230518_194241636_small.jpg
PXL_20230518_194241636_small.jpg (402.18 Kio) Consulté 1548 fois
PXL_20230520_183357008_small.jpg
PXL_20230520_183357008_small.jpg (290.47 Kio) Consulté 1548 fois
Dernière modification par gotcha le 22 mai 2023 07:52, modifié 1 fois.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Notator
Messages : 1300
Inscription : 09 août 2015 20:13

Re: Les analyseurs logiques

Message par Notator »

Ah, c'est très intéressant (j'adore ces vieux appareils). N'hésite pas à développer plus, car pour le moment, j'ai du mal à voir la plus-value de ta démarche... :)

Par 'désassembler', pour écarter toute confusion possible, je suppose que tu veux dire : traduire les codes binaires que tu recueilles en mnémoniques d'Assembleur...

Pour le MPF-1B (et MPF-1P), il y a sur la carte imprimante un programme de désassemblage qui peut faire cela sur une zone mémoire définie, mais le faire avec un analyseur peut avoir un intérêt supplémentaire qui m'échappe pour l'instant... :)
Notator est le nom d'un programme séquenceur Midi et notation musicale pour Atari ST(e) (puis Mac).
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

Lorsque tu debugues un système, ce type de désassemblage à la volée via l'analyseur est extrêmement utile. Cela permet d'obtenir la trace d’exécution (avec la valeur des données), ce que tu n'as pas avec un desassembleur 'hors ligne'. Les deux types de désassemblage sont en fait complémentaires.

Sinon, rien pour pour le trigger, sur mon clone de Saleae, il m'est impossible de combiner plusieurs signaux dans leur soft. Avec cet analyseur, j'ai plusieurs clocks que je peux combiner et je peux aussi déclencher sur une valeur d'un bus 8 bits (data) ou 16 bits (adresse). Bon courage avec le soft des analyseurs modernes pour faire cela :wink:
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

Je me suis fait un petit prototype de 'Z80 preprocessor interface' minimale (inspirée de l'originale qui est introuvable) de manière à pouvoir utiliser l'assembleur inversé d'HP.
Cette interface est nécessaire pour retarder le changement d'état de certains signaux de manière à ce qu'ils soient échantillonnés avec la bonne valeur.
Il faudra que je m'assure que tout est réellement stable au niveau timing mais en tout cas, les premiers essais sont assez concluants.

Sur les photos, j'ai mis le trigger sur un 'opcode fetch' à l'adresse 800h du MPF1, adresse du BASIC. L'analyseur se déclenche bien quand je fais un 'go' sur cette adresse et commence à désassembler ce qu'il observe sur les sorties du Z80 :D

PXL_20230523_051629543_small.jpg
PXL_20230523_051629543_small.jpg (467.72 Kio) Consulté 1395 fois
PXL_20230523_051636288_small.jpg
PXL_20230523_051636288_small.jpg (302.64 Kio) Consulté 1395 fois
Dernière modification par gotcha le 23 mai 2023 08:14, modifié 2 fois.
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Avatar de l’utilisateur
Leraptor06
Messages : 691
Inscription : 15 févr. 2022 10:34
Localisation : Mandelieu

Re: Les analyseurs logiques

Message par Leraptor06 »

C'est fabuleux des outils comme ca. Ca me rappelle l'émotion que j'ai eu de rentrer dans un labo d'ingénieurs la premiere fois. Tout ces equipements me plaisent, maintenant je collectionne les programmateurs de composant. Merci du partage et des belles photos gotcha.
Jp
gotcha
Messages : 2802
Inscription : 30 mars 2017 11:39
Localisation : Isère
Contact :

Re: Les analyseurs logiques

Message par gotcha »

J'aime beaucoup les équipements de développement, avec un attrait certain pour les analyseurs logiques qui sont mes outils de prédilection. Par contre, ça prend de la place, autant si ce n'est plus que des ordinateurs. J'ai aussi un HP 16500B qui est encore plus gros et lourd ! Il est à priori plus puissant que le 1650A que j'utilise pour mes essais. Je n'ai pas encore 'joué' avec, mais cela ne saurait tarder :-)

Coté programmateur, je me contente d'un TL866A très compact pour l'instant :-)
@Leraptor06 tu ne veux pas créer un fil de discussion pour nous présenter tes programmateurs en action ?
Amstrad CPC et Goupil power :mrgreen:
Bénévole à l'association pour un conservatoire de l’informatique et de la télématique (https://www.aconit.org)
Répondre