A la découverte d'un petit analyseur logique

Quoi de plus pénible lors de la mise au point d'une carte à base de micro-contrôleur de ne pas pouvoir visualiser ce qu'il se passe. Il est toujours possible d'utiliser un oscilloscope afin de visualiser quelques signaux mais il est impossible de suivre un communication SPI. L'analyseur logique est hors de portée d'un "hobbyiste" lambda,mais il existe quand même une solution...

Lors d'une récente tentative de mise au point d'un prototype, je me suis retrouvé face à une non-réponse d'un circuit. Cela venait-il du hardware, du software ? Difficile de suivre la communication avec un simple oscilloscope analogique. Pour tous ces problèmes de mises au point, ou même d'analyse des signaux, il est nécessaire d'utiliser un analyseur logique. Le matériel professionnel est hors de portée de la bourse du passionné d'électronique, mais cela ne veut pas dire que l'on doive se passer de ce type d'outil

Open Workbench Logic Sniffer

Ce nom un peu barbare est cependant la solution (ou du moins celle qui m'a semblé la plus intéressante) pour l'amateur que je suis. C'est un analyseur logique open source, avec connexion USB, développé en coopération par Dangerous Prototype et Gadget Factory, commercialisé par seedstudio pour la somme de 50 $.
J'ai donc reçu mon exemplaire ce matin et j'en profite donc pour vous faire découvrir mon nouveau "jouet".

Tout d'abord, quelques photos de la bête

logic-sniffer.JPG
Lors de la commande, je ne peux que vous conseillez de commander 2 connecteurs avec sondes qui vous permettrons de mettre en œuvre immédiatement cet analyseur
logic-sniffer-connectors.JPG

Caractéristiques techniques

Pour l'intégralité des caractéristiques techniques, je vous laisse consulter le site de Gadget Factory mais voici quand même le résumé des fonctionnalités de cette petite carte

  • 100 Msps à 50MHz sur 32 canaux
  • 200 Msps à 100 MHz sur 16 canaux
  • 16 canaux bufferisé, tolérant des signaux 5 V
  • Interface USB (Port série, Driver Microchip). Alimenté par le port USB.
  • Compatible avec "SUMP logic analyzer client", logiciel de visualisation des données.
  • Open source.
  • Faible cout.


Installation

L'installation du driver ainsi que du logiciel ne pose pas de problème particulier. Après avoir télécharger le package au format zip sur le site de Gadget Factory, il suffit de décompresser le fichier dans un dossier de votre disque dur.
Dossier-ols.PNG

Installation du driver

Afin de communiquer avec cette carte, il faut tout d'abord installer le driver "Serial Com" de Microchip. Aucun problème non plus de ce coté, le driver est fourni dans l'archive précédemment téléchargé. Il suffit d'ouvrir le dossier "driver", de double cliquer sur "install.bat" et de valider les différentes boites de dialogue.
Dossier-drivers.PNG
Lors de l'installation, noter le numéro de port série créé. Il sera utile dans quelques instants.

Open Logic Sniffer

Enfin, le grand moment tant attendu est arrivé, le premier test. On lance le programme "Jawis-OLS-client" se situant dans le dossier décompressé, et une interface (relativement austère) s'ouvre.
ols-premier-lancement.PNG
On clique sur le bouton de capture, une fenêtre permettant de sélectionner le port de communication apparait :
parametre-communication.PNG
On choisit également les paramètres de capture en fonction de nos besoins
parametre-capture.PNG
On jette un petit coup d’œil sur le troisième onglet de paramétrage par simple curiosité :-)
parametre-trigger.PNG
On valide et au bout d'un temps très court, nous obtenons ceci :
premiere-capture.PNG

Premier test.

J'ai justement une platine avec un PIC24FJ64GA102 et un MRF24J40MA en cours de test pour un projet d'automatisation. Je branche les sondes sur les différentes broches SPI et je lance la première capture. :-(, j'ai le même écran que précédemment. En effet la capture commence dès que l'on appuie sur le bouton, le temps d'enregistrement est très court (le buffer ne fait que 24k) et j'ai enregistré au mauvais moment.
Un petit coup d’œil sur le net pour découvrir le fonctionnement des triggers afin de ne déclencher la capture que lors d'un événement particulier. Comme je veux regarder ma liaison SPI, je sélectionne la broche CS du module radio comme trigger et je relance le test.
ols-capture-SPI.png
Voila qui est nettement mieux, mais il est surement possible d'enregistrer plus d’évènements. J'en profite pour placer des marqueurs sur les fronts montants de la clock pour calculer la vitesse de mon bus SPI. Inutile de faire des calculs compliqués, le soft le fait pour vous :
vitesse-clock-spi.png
Vu que ma clock est à 2,4 MHz, inutile d'enregistrer à 200 MHz, 20 MHz seront amplement suffisant et surtout, je pourrais enregistrer 10 fois plus longtemps. Effectivement, le résultat ne se fait pas attendre :
longue-capture.PNG
Encore une fois, tout le monde ne parle pas SPI, et Google Translate non plus. Heureusement, les développeurs de Open Logic Sniffer ont pensés à tout pour nous simplifier le travail.
decodage-SPI.png
Cerise sur le gâteau, le décodage apparait également sur le chronogramme.
resultat-decodage.png

Conclusion

Ce n'est pas un appareil dont on se sert tous les jours, bien qu'il permet bien plus de possibilités que ce que je viens de vous montrer. Mais, vu le coût relativement modique de cette carte, et les nombreux services qu'elle peut rendre, il serait dommage de s'en priver.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : http://www.cocquerez.com/trackback/10

Fil des commentaires de ce billet