Un analyseur logique enregistre l’état de plusieurs fils d’un montage numérique, et l’instant exact de chaque changement. C’est l’instrument qui manque le jour où une liaison I2C reste muette, où un module SPI renvoie des valeurs incohérentes, ou où une carte émet une trame que le moniteur série ne montre pas. Un multimètre donne une moyenne et ne dit rien de l’ordre des fronts ; l’analyseur donne la chronologie complète, sur huit voies à la fois, et le logiciel en déduit le contenu du protocole sans qu’on ait à compter les bits à la main.
Ce modèle tient dans la paume de la main : un boîtier alimenté par le port USB, huit entrées numériques, un taux d’échantillonnage réglable jusqu’à 24 MHz et un connecteur à dix broches. Un câble USB et une nappe de dix fils de 20 cm sont fournis. Le logiciel n’est pas livré avec l’appareil, mais il est gratuit : deux programmes prennent ce matériel en charge et décodent le I2C, le SPI, l’UART et une centaine d’autres protocoles.
À quoi sert un analyseur logique USB ?
Le multimètre répond à la question « y a-t-il du courant ? ». L’analyseur logique répond à la question suivante, celle qui bloque vraiment : « dans quel ordre, et à quel moment ? ». Trois situations reviennent sans cesse en prototypage :
- Une liaison qui ne répond pas. La carte est alimentée, le programme tourne, et pourtant le module ne dit rien. Est-ce la carte qui n’émet pas, ou le module qui n’écoute pas ? Un seul fil observé tranche : soit des fronts apparaissent à l’instant attendu, soit la ligne reste immobile, et le diagnostic est fait en dix secondes au lieu d’une soirée de suppositions.
- Un bus partagé. Sur un bus I2C ou SPI, plusieurs interlocuteurs se relaient sur les mêmes fils. Seul un enregistrement simultané des deux ou quatre lignes permet de voir qui parle, à quelle adresse, et à quel moment la conversation déraille.
- Un temps à mesurer. Durée d’une impulsion, écart entre deux événements, rapport cyclique d’un signal de commande, délai de réponse d’un composant : ce sont des grandeurs que rien d’autre ne donne sans un oscilloscope.
Les huit voies de cet appareil sont là pour cela : un bus I2C complet, un bus SPI avec son signal de sélection, une liaison série et sa ligne d’horloge tiennent sur la même capture. Un seul fil observé suffit à comprendre beaucoup de choses, mais c’est l’ensemble qui montre une conversation.
Caractéristiques techniques
| Voies | 8 entrées numériques, repérées CH1 à CH8 |
|---|---|
| Taux d’échantillonnage | Jusqu’à 24 MHz, réglable dans le logiciel : 24, 16, 12, 8, 4, 2 et 1 MHz, puis 500, 250, 200, 100, 50 et 25 kHz |
| Tension d’entrée | 0 à 5 V, avec une limite haute à 5,25 V. Les 3,3 V comme les 5 V sont donc à l’aise |
| Niveaux reconnus | État haut à partir de 2 V, état bas en dessous de 0,8 V ; entre les deux, la mesure n’est pas décidée |
| Impédance d’entrée | Élevée, de l’ordre de 100 kΩ en parallèle avec quelques picofarads : l’analyseur ne charge pas le montage qu’il observe |
| Alimentation | Par le port USB : aucun bloc d’alimentation, aucun fil d’alimentation à prévoir |
| Interface | USB 2.0, câble fourni |
| Mémoire | Aucune mémoire interne : les échantillons partent vers l’ordinateur au fil de la capture, donc la profondeur dépend de la mémoire disponible sur le PC |
| Déclenchement | Logiciel uniquement — aucun niveau de tension à régler sur l’appareil |
| Logiciels | sigrok PulseView (Windows, Linux, macOS, Android) et les versions 1.x du logiciel Saleae Logic |
| Boîtier | Plastique noir, format de poche, étiquette sérigraphiée portant le repère « 24MHz 8CH », le schéma du connecteur et les noms des broches |
| Fourni | 1 analyseur, 1 câble USB, 1 nappe de 10 fils de 20 cm — le logiciel est à télécharger, il n’est pas sur un disque |
Le connecteur : dix broches, huit voies
Tout tient sur un connecteur de dix broches disposées en deux rangées de cinq, au pas standard de 2,54 mm. L’étiquette du boîtier porte le schéma : c’est la référence à garder sous les yeux au moment du branchement, car une nappe retournée met la masse à la place d’une voie.
| Rangée intérieure | CH1, CH3, CH5, CH7, CLK |
|---|---|
| Rangée extérieure | CH2, CH4, CH6, CH8, GND |
| Les huit voies | Une par fil observé. Elles sont totalement indépendantes et échantillonnées en même temps, à la même date |
| La masse | GND, à relier impérativement à la masse du montage observé : c’est elle qui donne une référence commune aux niveaux. Sans elle, la capture est un bruit sans signification |
| La broche CLK | Elle reste libre dans l’usage courant : les huit voies et la masse suffisent à tout ce que cette famille de matériel sait faire |
La nappe fournie est une rangée de fils de couleurs différentes, ce qui évite la faute de branchement : en notant la couleur associée à chaque voie dans le logiciel, on retrouve d’un coup d’œil quel fil va où. Pour un montage permanent, deux fils suffisent bien souvent — un signal et la masse — et les six autres voies restent disponibles si un doute apparaît plus tard.
Le logiciel : deux programmes gratuits
sigrok PulseView est le choix le plus direct. C’est un logiciel libre, multiplateforme, qui pilote cet appareil par un micrologiciel libre chargé automatiquement à la connexion. Il apporte plus de cent décodeurs de protocoles : I2C, SPI, UART, 1-Wire, et bien d’autres. Sur Windows, une installation de pilote est nécessaire la première fois, avec l’utilitaire libre Zadig : on y désigne l’appareil, on choisit le pilote générique WinUSB, et l’opération n’est plus à refaire. Sur Linux et macOS, l’appareil est reconnu sans rien installer.
L’autre voie est celle indiquée par le fabricant : les versions 1.x de Saleae Logic, gratuites et toujours téléchargeables, reconnaissent cette famille d’appareils. Le logiciel n’est pas livré sur un support avec le boîtier — c’est la seule chose à télécharger soi-même, et le compte n’est pas nécessaire avec PulseView.
Dans les deux cas la marche à suivre est identique : choisir le taux d’échantillonnage, cocher les voies utilisées, régler le déclenchement, capturer, puis empiler un décodeur sur les voies concernées. Le décodeur est ce qui change tout : au lieu de relire des fronts, on lit directement des octets et des adresses.
Ce que 24 MHz permettent de voir — et ce qu’ils ne permettent pas
Le taux d’échantillonnage ne se choisit pas au hasard : il faut au minimum quatre échantillons par période du signal observé, et une dizaine pour une lecture confortable. Le tableau suivant donne l’ordre de grandeur pour les protocoles courants, à 24 MHz :
| UART à 9600 bauds | Environ 2500 échantillons par bit : aucune difficulté, même à un taux bien plus bas |
|---|---|
| UART à 115200 bauds | Environ 200 échantillons par bit : largement suffisant, y compris pour repérer une erreur de vitesse |
| I2C à 400 kHz | Environ 60 échantillons par bit : très confortable |
| SPI à 1 MHz | 24 échantillons par bit : confortable |
| SPI à 8 MHz | Trop peu d’échantillons par bit pour un décodage fiable — c’est la limite réelle de cet appareil, à connaître avant de l’acheter pour du SPI rapide |
| Un signal d’horloge de 24 MHz | Invisible : il faudrait au moins 96 MHz de taux d’échantillonnage pour le voir correctement |
Deux autres particularités méritent d’être dites clairement. D’abord, l’appareil n’a pas de mémoire interne : les échantillons sont transférés à l’ordinateur pendant la capture, donc une seconde à 24 MHz représente des dizaines de mégaoctets, et c’est la mémoire vive du PC qui fixe la durée possible — pour observer un dialogue de quelques millisecondes, le taux élevé et une capture courte valent mieux qu’un long enregistrement lent. Ensuite, le déclenchement est purement logiciel : le logiciel surveille le flux et décide à partir de quel événement la capture est conservée, ce qui suffit dans la pratique mais n’a rien à voir avec le déclenchement rapide d’un oscilloscope. Enfin, un concentrateur USB ou une station d’accueil peut faire tomber la vitesse d’échange : pour une capture à 24 MHz, brancher l’analyseur directement sur un port de l’ordinateur évite ce genre de déconvenue.
Mini-projet : capturer et décoder une trame série émise par un Arduino
C’est l’exercice qui fait comprendre l’appareil en une soirée, et il ne demande que deux fils. La carte émet une trame de mesure une fois par seconde ; l’analyseur l’enregistre et la décode, comme le ferait un appareil de laboratoire sur un vrai protocole industriel.
Matériel
- une carte Uno R3 et son câble USB ;
- l’analyseur logique et son câble USB ;
- deux fils de prototypage pour relier les voies aux points de test.
Câblage
| CH1 de l’analyseur | Broche 1 (TX) de la carte Uno — c’est la sortie sur laquelle le microcontrôleur émet sa liaison série, en niveaux 5 V |
|---|---|
| CH2 de l’analyseur | Broche 8 de la carte — une impulsion courte sert de repère de synchronisation |
| GND de l’analyseur | Une broche GND de la carte, sans exception |
| Réglages | taux d’échantillonnage à 1 MHz, déclenchement sur CH2 au front montant, décodeur UART à 9600 bauds posé sur CH1 |
Programme à téléverser sur la carte
/*
* Generateur de signal pour analyseur logique, sur carte Arduino Uno
* CH1 : broche 1 (TX), trame serie a 9600 bauds
* CH2 : broche 8, impulsion de synchronisation de 200 microsecondes
* La masse de la carte et celle de l'analyseur sont reliees.
*
* Composants, brochage et fiche complete : www.marocproduits.com
*/
const byte PIN_SYNC = 8;
const unsigned long PERIODE = 1000; // une trame par seconde
unsigned int compteur = 0;
void setup() {
pinMode(PIN_SYNC, OUTPUT);
digitalWrite(PIN_SYNC, LOW);
Serial.begin(9600); // trame emise sur la broche 1, en niveaux 5 volts
}
void loop() {
compteur = compteur + 1;
// Le repere : un front montant sur CH2 sert de point de depart a la capture
digitalWrite(PIN_SYNC, HIGH);
delayMicroseconds(200);
digitalWrite(PIN_SYNC, LOW);
// La trame, terminee par un saut de ligne (code ASCII 10)
Serial.print("#MP;N=");
Serial.print(compteur);
Serial.write(10);
delay(PERIODE);
}Ce que la capture montre
Lancez la capture : le logiciel attend le front montant sur CH2, puis enregistre la suite. Sur CH2, une impulsion isolée de 200 microsecondes — à 1 MHz, cela fait environ 200 échantillons, bien visibles. Sur CH1, juste après, la trame série se déroule en créneaux : à 9600 bauds, chaque bit dure environ 104 microsecondes, soit une centaine d’échantillons par bit, ce qui laisse une grande marge pour lire chaque niveau. Le décodeur UART posé sur CH1 reconstruit alors les caractères et affiche la trame entière : le repère, le numéro de mesure et le saut de ligne.
Le vrai intérêt de l’exercice est ailleurs : en changeant la vitesse de la liaison dans le programme, on voit la largeur des bits changer alors que le reste du montage ne bouge pas ; en gardant 9600 bauds mais en réglant le décodeur sur 115200, on voit le décodeur produire des octets incohérents, exactement comme un vrai module mal configuré. C’est cette lecture-là qui rend l’appareil utile ensuite sur un matériel qu’on ne connaît pas.
Variante : surveiller un bus I2C en fonctionnement
Le bus I2C est le cas d’usage le plus fréquent de l’analyseur, parce que c’est le plus silencieux quand il tombe en panne : deux fils, plusieurs appareils, et rien à voir au multimètre. Branchez CH1 sur la ligne de données, CH2 sur la ligne d’horloge, reliez la masse, réglez le taux à 1 MHz pour un bus à 100 kHz (l’astuce vaut aussi pour un bus à 400 kHz), et posez le décodeur I2C sur le couple de voies. La capture affiche alors les adresses des appareils, le sens de chaque échange et les octets échangés.
C’est la méthode la plus rapide pour trancher entre trois causes de panne : un appareil qui ne répond pas à son adresse, un appareil qui répond mais renvoie des valeurs fausses, et un bus bloqué par une ligne maintenue à l’état bas. Les résistances de rappel, indispensables sur ce bus, sont le plus souvent déjà posées sur les modules du marché — mais si le bus ne montre aucune activité alors que le programme tourne, c’est la première chose à vérifier.
Questions fréquentes
Faut-il installer un pilote ?
Sous Linux et macOS, non : l’appareil est reconnu dès le branchement. Sous Windows, avec PulseView, une installation unique est nécessaire via l’utilitaire libre Zadig, qui associe à l’appareil le pilote générique WinUSB. Cette opération se fait une seule fois et n’empêche pas l’appareil de fonctionner ensuite avec les autres logiciels compatibles.
Peut-on mesurer une tension avec cet appareil ?
Non. Les huit entrées sont numériques : elles ne retiennent qu’un état haut ou un état bas, jamais une valeur. Une tension comprise entre 0,8 V et 2 V n’est pas décidée, et c’est précisément la zone qu’un montage en panne produit souvent. Pour une tension, un courant ou une forme d’onde analogique, il faut un multimètre ou un oscilloscope.
Pourquoi le décodage ne trouve-t-il rien alors que le signal est bien là ?
Quatre causes, dans l’ordre : la masse de l’analyseur n’est pas reliée à celle du montage (les niveaux n’ont alors aucune référence) ; le taux d’échantillonnage est trop faible pour le signal observé ; la voie choisie dans le décodeur n’est pas celle où le fil est réellement branché ; le décodeur est réglé sur une vitesse ou un protocole différent de celui du montage. Un signal bien présent mais décalé d’une voie est l’erreur la plus courante, et la plus vite corrigée.
L’analyseur alimente-t-il le montage observé ?
Non. Les entrées sont des entrées pures : elles n’apportent aucun courant au montage, qui doit donc garder sa propre alimentation. C’est une bonne nouvelle pour la mesure — l’instrument ne fausse rien — mais cela signifie aussi qu’il n’y a rien à attendre du côté alimentation.
Peut-on capturer plus de huit signaux à la fois ?
Pas avec cet appareil : huit voies, c’est huit signaux simultanés, et il n’existe pas de moyen d’en ajouter sans changer de matériel. Dans la pratique, la contrainte se contourne en choisissant les fils à observer : sur un bus SPI, les quatre lignes utiles plus un ou deux signaux de commande tiennent largement dans les huit voies.
Peut-on le laisser branché en permanence ?
Oui. Il est alimenté par l’USB, ne consomme presque rien et ne chauffe pas, ce qui permet de le garder sur un montage pendant toute une campagne d’essais sans y penser.
À combiner avec
L’analyseur prend toute sa valeur devant un module qui parle un protocole connu : un module Bluetooth série HC05 pour observer une liaison UART complète, un module radio NRF24L01 pour suivre un bus SPI et sa ligne de sélection, ou un afficheur LCD 1602 en I2C pour voir une conversation I2C se dérouler image par image. Dans les trois cas, la démarche est la même : brancher une voie par ligne, relier la masse, laisser le montage fonctionner et lire la capture.













