Electronique > Réalisations > Interfaces > Espion/moniteur I2C/SMBus - [Pro]

Dernière mise à jour : 30/04/2017

Présentation

Cet espion/moniteur a été conçu pour visualiser les données transitant sur un bus I2C ou SMBus, tout en restant discret (non intrusif et non perturbateur). Les octets transmis sur le bus surveillé sont "transformés" en données série/RS232/USB pour analyse sur un PC.

Schéma

Le circuit fait appel à un PIC 18F25K22, lequel possède nativement des modules MSSP et UART.

espion_i2c_001
Schéma volontairement embrouillé (demande pro)

Les octets véhiculés sur le bus I2C ou SMBus sont récupérés et retransmis sur une sortie UART/RS232. Les données passent ensuite dans un convertisseur RS232/USB traditionnel. Le circuit est conçu pour ne pas perturber la liaison analysée.

Entrée "discrète"
Le moniteur se place en parallèle sur un bus I2C ou SMBus existant et "écoute" les changements d'état sur les lignes de données SDA et d'horloge SCL. L'étage d'entrée (SDA_In et SCL_In) a été étudié pour ne pas perturber le circuit sous analyse. Pour le reste, rien de sorcier, les octets sont traités au fil de l'eau, stockés temporairement dans un buffer circulaire avant d'être "traduits" pour envoi sur liaison série à la vitesse de 115200 bauds.

Sélection de l'adresse "esclave"
Le logiciel du PIC traite les données circulant sur le bus analysé, uniquement si l'adresse spécifiée par les micro-interrupteurs (DSW1) correspond à l'adresse émise par le maître du bus ayant entamé le dialogue. La valeur d'adresse spécifiée correspond aux opérations d'écriture, l'adresse correspondant aux opérations de lecture en est automatiquement déduite.

I2C ou SMBus
Le choix s'effectue avec le cavalier / micro-interrupteur câblé sur la ligne RB1.

Logiciel du PIC

Non disponible sur ce site.

Historique

30/04/2017
- Première mise à disposition.