Les longueurs insensées comme 10,25 et 100 m sont parfaitement possibles, et j’utilise souvent la méthode (avec UART, pas avec I2C, mais avec la méthode) lorsque j’ai besoin de rassembler des éléments rapidement. Ce n'est pas exactement la meilleure façon, cependant.
La clé est de connaître votre seuil de tension d'entrée. Assurez-vous que la chute de tension dans le fil de terre est bien inférieure à cela, sinon un émetteur à un potentiel de terre élevé ne sera pas en mesure de tirer la tension suffisamment bas. Manque de tolérance pour les compensations au sol IMHO est la principale raison d'utiliser RS485 ou des émetteurs-récepteurs de capacité (I2C sur CAN est mentionné dans quelques notes d'application).
Idéalement, tous les appareils auront leur propre verrue murale et leur propre batterie et aucun courant ne sera envoyé sur le fil de terre entre les appareils.
Mais prenons CAT5 par exemple. CAT5 ne peut pas être supérieur à 52 pf / m, ou bien ce n'est pas CAT5.
100 m de câble 52pf ont une capacité de 5200pf ou 5.2nf.
5,2n fois 20kohms (pullup) donne une constante de temps d'environ 104 microsecondes. Cela limite la vitesse à environ 10 kHz environ.
En utilisant 2,2 Kohm Pullup, vous pourriez probablement atteindre 100kHz.
J'ai entendu dire que les appareils devraient avoir une résistance sur SDL et SCK, en raison de la grande charge capacitive qu'ils entraînent, de l'ordre de 180 ou 200 ohms.
Mais honnêtement, I2C n’est pas du tout le chemin à parcourir pour les longues distances. Les émetteurs-récepteurs CAN ou RS485 utilisés avec un UART normal sont une solution robuste offrant une très bonne protection contre les défaillances, la résistance aux décharges électrostatiques, la vitesse, la distance, etc., pour un coût d'environ un dollar par puce, les décalages au sol importent peu libre de transporter le pouvoir avec des données.
Le seul inconvénient est qu'un émetteur-récepteur de boîte peut atteindre 70 mA en émission et 1 ou 2 mA en écoutant. I2C ou UART TTL direct peuvent être utiles dans les situations de très faible consommation, mais prenez en compte le temps que vous passez réellement à envoyer.