I2C est l'abréviation de "Inter-Integrated-Circuit communications" (communication entre circuits intégrés). Elle est destinée aux courtes distances sur un PCB ou un sous-ensemble. Mais, hé, nous sommes des ingénieurs et nous aimons repousser les limites de la technologie, non ?
Alors pourquoi ne pas essayer de faire passer l'I2C par un câble d'un mètre de long, voire plus ? Si vous essayez de le faire, vous vous apercevrez rapidement que la longueur du câble ajoute de la capacité et de la résistance qui ralentissent les pullups à drain ouvert utilisés dans I2C, ce qui rend difficile l'utilisation de vitesses d'horloge de 100KHz+. Vous pouvez essayer de ralentir votre horloge I2C à 1 KHz... ou vous pouvez utiliser un terminateur actif LTC4311 comme celui-ci sur Adafruit!
L'utilisation de cette carte est simple : connectez-la à votre bus I2C au début de la chaîne (si vous n'avez pas un câble très long, vous pouvez aussi essayer à la fin de la chaîne). Lorsque la puce est alimentée et activée, elle surveille les lignes SCL et SDA. Lorsqu'il voit qu'elles sont tirées vers le haut par les résistances I2C, il s'active et déverse du courant pour donner un coup de pouce au rail d'alimentation supérieur.
Il est désormais possible d'atteindre des débits de données beaucoup plus rapides sans avoir à jouer avec des résistances, et sur de longs câbles. Adafruit a fait passer un OLED de 400 KHz sur 3 mètres de fil téléphonique avec facilité. Avec un signal de 100KHz, ils ont même fait fonctionner un BME680 sur 30 mètres d'Ethernet (environ 3000pF aller-retour !), et ont fait afficher les détails du capteur par une OLED.
Fonctionne avec n'importe quelle tension de bus, de 1,6V à 5,5V et jusqu'à 400 KHz de vitesse SCL, avec des câbles jusqu'à 4000pF. Aucun micrologiciel, logiciel ou configuration spécifique n'est requis. Il suffit de brancher les connecteurs d'alimentation, de mise à la terre, SCL et SDA sur votre bus et de voir vos temps de montée se transformer comme par magie en dents de scie en ondes carrées.
Pour vous permettre de vous lancer rapidement, Adafruit a créé un circuit imprimé sur mesure dans le facteur de forme STEMMA QT, ce qui facilite son interface. Les connecteurs STEMMA QT de chaque côté sont compatibles avec les connecteurs I2C SparkFun Qwiic. Cela vous permet d'effectuer des connexions sans soudure entre votre carte de développement et le LTC4311 ou de le chaîner avec une large gamme d'autres capteurs et accessoires en utilisant un câble compatible.
DÉTAILS TECHNIQUES
LTC4311 Caractéristiques et spécifications
Améliore la transition du temps de montée du bus I2C
Assure l'intégrité des données avec plusieurs dispositifs sur le bus I2C.
Large plage de tension d'alimentation : 1,6 V à 5,5 V
Amélioration de la marge de bruit à l'état bas
Fonctionnement jusqu'à 400 kHz
Détection automatique Mode veille à faible consommation
Arrêt à faible courant d'alimentation (<5?A )
Ne charge pas le bus lorsqu'il est désactivé ou mis hors tension
Fort courant d'excursion haute limité
±8 kV Modèle de corps humain Robustesse ESD