Header Ads

Un bus I2C différentiel long distance grâce au breakout board de SJTBits

Voici une carte permettant d'étendre significativement la distance opérationnelle d'un bus I2C. Produit par SJTbits converti la ligne d'horloge et de donnée du bus I2C en signal différentiel (et inversement). Cela permet d'étendre la distance de communication au delà de 30 mètres. L'utilisation de signal différentiel permet également d'assurer la stabilité du signal en utilisant des paires torsadées.
I2C Extender Différentiel de SJTBits - disponible chez MCHobby

La carte I2C extender de SJTbits est une "passerelle" I2C/TWI transparente entre les différentes cartes I2C branchées sur un bus I2C différentiel. La carte accepte les deux lignes du bus I2C (SDA et SCL) et divise ces signaux du bus I2C en signaux entrant et sortant (soit quatre signaux logiques). Chacun des signaux unidirectionnels est connecté sur la ligne différentiel réceptrice correspondante (formant ainsi un ensemble de paires différentielles, soit huit fils).

Avantage du mode différentiel
En utilisant des signaux différentiels:

Résistance aux bruits

La carte d'extension accroît la porté du bus mais assure également une meilleure immunité du bus I2C face aux bruits.
Pour les "non initiés":
Chaque signal passe sur une paire torsadée (signal+ et signal-) et c'est la différence entre signal+ et signal- qui est utilisé.
Comme la paire signal+ et signal- est torsadée (comme tous les autres signaux du bus différentiels), quand un parasite passe par là, il vient s'ajouter à signal+ comme à signal- (à l'identique quantitativement).
Cela signifie que signal+ sera "augmenté d'une quantité X" et que signal- sera également "augmenté de cette même quantité X".
Comme nous mesurons la différence signal à l'autre bout de la ligne, nous avons toujours la même grandeur mesurée... puisque la quantité parasité ajoutée sur Signal+ est soustraite sur Signal- .

Isolation

Cela permet également d'isoler chacun des périphériques du bus I2C et permet d'éviter les problèmes causés par une capacitance excessive d'un bus I2C traditionnel.
Pour les "non initiés":
Cette capacitance, voyez la comme une "capacité" qui fait une rétention d'énergie qui est libérée progressivement lorsque le signal retombe à Zero. A contrario, une capacité doit également être chargée quand le signal passe au niveau haut (et donc, elle retarde aussi le passage au niveau haut).
L'onde n'est donc plus vraiment carrée... mais surtout la chute/montée de tension n'est plus immédiate et le temps que met la tension à chuter/monté dépend des différentes résistance présentes sur le circuit.
Donc une capacitance plus élevé (capacité parasite) limitera aussi la fréquence maximale utilisable sur le bus... parce qu'il faut plus de temps pour que le signal retombe à zero. Cille le signal doit absolument rester "compréhensible" sur le bus il faudra ralentir la cadence pour que tous le monde (comprenez maître et esclaves du bus) puisse voir et détecter les trames de signaux carrés.

Intéressant n'est-ce pas?

Montage



Truc et astuce - Utiliser du câble Ethernet
Un câble Ethernet catégorie 5 (ou dit "Cat 5", le raccordement Ethernet le plus courant) contient 4 paires différentielles (paires torsadées).
C'est donc un candidat idéal pour réaliser une connexion entre deux cartes d'extension I2C. SJTbits à testé la carte avec un câble cat 5 sur une distance de 45m et une horloge I2C cadencé 100 kHz.

Où acheter
Les éléments présentés ici sont disponibles sur le shop.mchobby.be