mercredi 27 mars 2024

DIVERS: Approvisionnement d'un analyseur logique bas coût

Rencontrant quelques difficultés dans le dépannage de l'unité de pilotage du FS5000 et ne souhaitant pas - dans un premier temps - sortir mon bon vieil analyseur logique Tek1241, j'ai acheté un petit analyseur 24MHz 8 canaux. Ce type d'équipement permet tout juste d'échantillonner l'état de huit signaux sans réellement prendre en compte la nature de ceux-ci. Ainsi les seuils bas et haut sont ceux du composant Cypress utilisé. Cela devrait cependant être suffisant dans un premier temps mais les premiers tests.

Je n'ai pu m'empêcher d'étudier le fonctionnement de ces modules, au pluriel car bien que basés sur le même principe et la même variation de micro-contrôleur, plusieurs fournisseurs ont intégrés des modifications: buffer d'entrée de type 245, sortie de l'horloge du micro, convertisseur analogique digital sur un ou deux canaux, ajout de 8 canaux supplémentaires ...

Le principe est simple: les ports d'entrée du micro-contrôleur permettent de lire l'état d'autant de signaux qu'il y a de ports. Ces états sont lus à une cadence pré-déterminée puis transmis sur la liaison USB. Le logiciel sur l'ordinateur hôte effectue tout le travail de mise en forme et d'analyse. Une particularité géniale du microcontrôleur Cypress FX2, qui date des années 2000, est utilisée qui permet de charger le firmware en RAM depuis la liaison USB puis de l'exécuter . 

Extrait du datasheet du FX2

Le logiciel permettant d'exploiter les données ainsi échantillonnées charge le firmware à chaque lancement et à chaque modification de certains paramètres, soit directement, soit par l'intermédiaire d'un driver. Ce dernier cas est celui utilisé par le logiciel PulseView et son driver 'fx2lafw' permettant de gérér la série Cypress FX2. Les sources du code 8051 téléchargé dans le Cypress sont disponibles ici.

Quiconque souhaiterait développer son propre firmware pour cette série de microcontrôleur pourra s'appuyer sur la librairie FX2LIB conçue à cet effet et sur le remarquable compilateur SDCC.

Aucun commentaire: