🛠 Analyser un bus de protocole avec SLogic32U3
Objectifs
Ce tutoriel guide les débutants dans l'utilisation du Sipeed SLogic32U3 pour surveiller un bus de données numérique. L'objectif est de comprendre comment connecter l'appareil, configurer les paramètres d'échantillonnage adaptés à votre cible, et interpréter les trames de données via le logiciel SLogicView. Nous utiliserons un exemple concret de communication I2C entre un microcontrôleur et un capteur, une tâche courante en automatisation et en développement embarqué.
Matériel nécessaire
- Analyseur logique Sipeed SLogic32U3.
- Câble USB-C (fourni ou compatible USB 3.2).
- Ordinateur avec Windows, Linux ou macOS.
- Logiciel SLogicView installé.
- Cables de test (ponts) et pinces crocodiles.
- Circuit cible fonctionnant avec un bus I2C ou UART (ex : Arduino, Raspberry Pi Pico, ou module capteur).
- Résistances de pull-up si nécessaire pour le bus I2C (typiquement 4.7 kΩ sur SDA et SCL).
Étapes
- Installation du logiciel : Téléchargez et installez SLogicView depuis le site officiel de Sipeed. Assurez-vous que les pilotes USB sont correctement installés pour que l'ordinateur reconnaisse l'appareil.
- Connexion physique : Connectez le SLogic32U3 à votre ordinateur via le port USB-C. L'appareil est alimenté par l'USB, aucune source externe n'est requise. Les voyants LED s'allument pour indiquer l'alimentation.
- Configuration des canaux : Ouvrez SLogicView. Dans l'interface, sélectionnez les canaux physiques utilisés. Pour un bus I2C standard, utilisez le canal 0 pour SDA et le canal 1 pour SCL. Notez que les connecteurs sont des ports mini-HDMI ; utilisez les adaptateurs fournis pour accéder aux broches.
- Réglage de l'échantillonnage : Pour un bus I2C fonctionnant à 100 kHz ou 400 kHz, une fréquence d'échantillonnage de 10 à 20 MS/s est suffisante. Le SLogic32U3 offre jusqu'à 1400 MS/s sur 4 canaux, garantissant une résolution temporelle excellente. Réglez la tension de seuil à 3.3 V ou 5 V selon votre circuit cible (ajustable par pas de 0,1 V).
- Connexion à la cible : Connectez les pinces crocodiles aux lignes SDA et SCL de votre circuit. Reliez la masse (GND) du SLogic32U3 à la masse de votre circuit pour établir une référence commune. Attention : Ne dépassez jamais 10 V sur les entrées.
- Capture des données : Lancez l'acquisition dans SLogicView. Générez une communication sur votre circuit (ex : lire une valeur du capteur). Arrêtez la capture une fois les trames visibles.
- Décodage du protocole : Dans le logiciel, ajoutez un décodeur I2C. Sélectionnez les canaux correspondants. Le logiciel affichera les adresses des esclaves, les commandes et les données échangées en clair.
Vérification
Vérifiez que les signaux capturés sont nets, sans bruit excessif. Les transitions logiques doivent être claires. Si les données décodées sont erronées, vérifiez la connexion de la masse et l'ajustement du seuil de tension. Une impédance d'entrée de 100 kΩ assure une charge minimale sur le circuit testé.
Pour aller plus loin
Explorez les capacités multi-canaux du SLogic32U3 pour analyser des bus parallèles ou SPI à 4 lignes. Testez la mémoire tampon de 2 Gbit pour capturer des séquences longues sans perte de données. Essayez également le module ADC optionnel pour corréler les signaux analogiques avec les événements numériques.
Autres tutoriels pour cette carte
- SLogic32U3 : Premier branchement et mise en route
- Mise en route du SLogic32U3 : installation et premier branchement
- Interfacer le SLogic32U3 avec des périphériques externes
- Débogage de bus I2C et SPI avec le SLogic32U3
- Mise en route avancée du SLogic32U3 : configuration et validation
- Analyse avancée des interfaces GPIO et capteurs avec SLogic32U3