Table des matières

Apprende à utiliser un analyseur logique

Matériels

But

Le but de ce tutoriel est de vous faire prendre en main un outil de debug matériel : un analyseur logique. Ce composant permet de visualiser l'état d'une ou plusieurs broche de votre composant à un instant donnée ou sur une période. Il permet également, grâce à un logiciel, d'analyser et de reconnaitre plusieurs protocoles de communication tel que la communication serie, i2c etc … Je vais tout d'abord vous présenter le logic analyser. Ensuite, je vais vous montrer à l'aide d'un exemple, avec une Arduino, le fonctionnement du logiciel associé.

Aujourd'hui, nous allons parler d'un petit appareil appelé “logic analyser” (analyseur logique pour ceux a qui l'anglais fait des boutons). Il se présente sous la forme d'un boitier avec des type de connexions. d'un coté on retrouve un port USB (mini usb) et de l'autre coté on retrouve 10 broches (pour un analyseur logique 8 voies car il y a deux voir qui vont à la masse).

La fonction du logic analyser : Ce boitier permet de visualiser sur l'ordinateur, à l'aide d'un logiciel, les niveau logique que prennent au fur et a mesure du temps les broches connectées au logic analyser. Concrètement, Nous allons connecter les broche du logic analyser à des pattes de nôtre composant électronique numérique.

Procédure

Au niveau de l'électronique

Nous allons tester avec un sketch Arduino émettant en communication série : “hello world”.

Tout d'abord on crée un sketch Arduino qui emet hello world sur le port serie. Comme on est des flemmard on va aller chercher dans les exemples fournies par l'IDE Arduino un skecth qui fait déja ou sa (ou presque). (On va trouver sa dans : Fichier/Exemple/SoftwareSerial et on choisi Software Serial example). On enleve toutes les lignes qui servent à rien et on obtient :

void setup()  
{
Serial.begin(9600);
Serial.println("Hello PMCLab");
}

void loop()
{
}

On aura donc après l'appui d'un RESET, une émission de “hello world” sur le port série et ensuite l'Arduino va boucler dans le code loop sans rien faire.

On charge le sketch dans l'Arduino.

Au niveau de l'ordinateur

On lance le logiciel Logic (il se peut qu'après l'installation du logiciel, le boîtier ne soit pas reconnu. Il faut redémarrer votre ordinateur pour que les drivers (pilotes) soit pris en compte.

Au lancement du logiciel, on vois la fenêtre suivante:

La fenêtre se décompose en 3 parties :

On fait les connexions suivantes :

On branche l'arduino à une source d'alimentation et on connecte le boitier en USB a l'ordinateur.

On lance le logiciel Logic si ce n'est pas encore fait. On va définir comme paramètre pour la sensibilité un front descendant sur le RESET. Ce n'est pas obligatoire, on peut choisir un front montant sur Tx. Dans notre sketch Arduino nous avons demandé a l'Arduino d'envoyer Hello PMCLab dès le démarrage de la carte. Ainsi, c'est un bon choix de choisir un front sur RESET comme sensibilité. On défini ensuite le nombre d'échantillons que l'on veut. Dans ce cas là, on peut mettre 100M mais en fonction du cas, on augmentera ou on diminuera.

Il se peut quelques fois que en cliquant sur start, un message apparaît vous indiquant que la fréquence d’échantillonnage est trop grande et dans ce cas on clique ok et la fréquence est automatiquement rabaissée.

On appui sur start dans l'interface de Logic, et là le logiciel attend de visualisé un événement définit dans la liste de sensibilité: Puis on appui sur RESET de l'Arduino et la magie opère, on vois une fenêtre de chargement.

Une fois l’échantillonnage fini, on ne vois pas grand chose. Il faut zoomer avec la molette de la sourie et la on vois apparaître :

On va a présent zoomer sur le pâté que l'on vois sur le canal 1:

Jusque là, vous allez me dire qu'on peut le faire avec un oscilloscope et c'est plus simple avec un oscilloscope. Mais vous allez à présent voir toute la puissance de ce petit outil.

Il faut cliquer sur le petit “+” à coté de analyzers ( dans le bandeau de droite vous vous rappelez :) ), (Prenez le temps de regarder tout les protocoles que reconnait ce logiciel) ensuite on clique sur Async Serial et une fenetre s'ouvre :

Dans notre cas, on a pas besoin de trop toucher aux réglages. On choisi le canal 1, le baudRate doit être à 9600. On ne modifie pas les autres réglages. Prenez le temps de les lire pour savoir de quoi il s'agit. Cela pourrais vous être utile plus tard. Cliquer sur Save. Une fenetre s'ouvre pour vous proposer de renommer le canal. Ce n'est pas nécessaire, cliquez sur don't rename.

On zoom encore sur les trames du canal 1 et on observe avec joie le résultat suivant :

Voilà, vous savez à présent comment utiliser un analyseur logique. Vous pouvez également appliquer cette outil pour tout type de communication.