banner
Centre d'Information
Fournisseur éprouvé et réputé de services exceptionnels

Les composants discrets répondent à l'énigme du bus I2C

May 02, 2023

Torsten Siems, de Toshiba Electronics Europe, suggère d'utiliser des isolateurs optiques discrets pour un transfert économique et flexible dans les applications industrielles.

Les applications de bus I2C nécessitent parfois une isolation haute tension pour assurer la sécurité et la fiabilité. Le bus I2C à circuit intégré a été introduit dans les années 1980 pour permettre la communication entre un processeur hôte et des périphériques pour la configuration, la surveillance et le contrôle. Initialement destiné à la communication à courte portée au niveau de la carte, son succès a vu les applications se multiplier et la capacité maximale de traitement des données s'étendre pour inclure le mode standard 100 kHz, le mode rapide plus 1 MHz et le mode ultra-rapide plus 5 MHz.

La norme spécifie une connexion à deux fils comprenant des lignes de données et d'horloge bidirectionnelles, qui peuvent être mises en œuvre de manière rentable. La simplicité et l'efficacité d'I2C ont vu les principes de communication sous-jacents incorporés dans des normes telles que SMBbus et PMBus.

Le bus I2C a généralement un contrôleur, tel qu'un MCU ou un SoC, et un ou plusieurs périphériques cibles. Le contrôleur possède des E/S à collecteur ouvert qui peuvent abaisser les lignes de données série (SDA) et d'horloge (SCL) et nécessite une résistance de rappel, ce qui permet à plusieurs contrôleurs et cibles de coexister sans provoquer de conflit de bus.

Le contrôleur utilise la ligne SDA pour sélectionner la cible à adresser et le registre auquel accéder dans cette cible. La cible renvoie les données demandées sur la ligne SDA. Les cibles utilisent également la ligne SDA pour accuser réception de la bonne réception de la demande (ACK) en maintenant SDA bas ou refuser la réception correcte (NACK) en laissant SDA être tiré haut.

La ligne SCL contrôle la vitesse de communication des données sur le bus. Ce signal est généralement unidirectionnel, bien qu'une cible puisse obtenir plus de temps pour répondre à une demande, si nécessaire, en maintenant à la fois SCL et SDA bas tout en générant un ACK. C'est ce qu'on appelle l'étirement de l'horloge.

Au fur et à mesure que la popularité d'I2C a augmenté, ses utilisations se sont étendues à des situations qui nécessitent des distances de communication plus longues. Dans ces situations, il est assez courant que les différences de potentiel de terre local entre les appareils connectés affectent les marges de bruit du système. De plus, les caractéristiques critiques des appareils telles que la tension d'E/S négative maximale peuvent être dépassées.

I2C est également utilisé pour communiquer entre les circuits qui ne peuvent pas avoir une référence de masse partagée, tels que l'automatisation et les entraînements industriels, les commandes de moteur, les micro-onduleurs à panneaux solaires et les systèmes médicaux qui nécessitent une isolation de sécurité entre les signaux de commande I2C et l'alimentation secteur.

Ces situations nécessitent un moyen pratique d'isoler les connexions I2C et il existe des circuits intégrés d'isolateur numérique intégrés qui implémentent l'ensemble du circuit d'isolation dans un seul appareil. Bien que faciles à utiliser, ils peuvent être coûteux et laisser l'utilisateur sans équivalents ou une deuxième source pour se protéger contre les problèmes de chaîne d'approvisionnement.

Une connexion isolée peut être construite à l'aide d'optocoupleurs standard, bien qu'il y ait quelques complications à prendre en compte. L'un est la nature bidirectionnelle des lignes SDA et SCL car les optocoupleurs sont généralement unidirectionnels. De plus, les appareils choisis doivent avoir des sorties à collecteur ouvert pour permettre un bon contrôle du bus.

Ils doivent également être en mesure de satisfaire aux exigences de synchronisation de la spécification I2C. Un aspect est la réponse ACK/NACK de la cible au contrôleur. Le signal ACK/NACK doit être valide après un temps d'établissement (tVD ; ACK) compris entre 3,45µs en fonctionnement en mode standard (100kHz) et 0,45µs en fonctionnement en mode rapide plus (1MHz). Il existe également des contraintes de temps pour la configuration des données. Une cible doit établir le signal SDA dans les 250 ns après le front descendant du bit d'horloge précédent en mode standard (selon le Tableau 11 I2C Spécification 1), et en 50 ns pour le mode rapide plus.

La figure 1 montre comment deux paires d'optocoupleurs peuvent être insérées dans les lignes SDA et SDL pour fournir une isolation et préserver la communication bidirectionnelle.

Les voies SDA et SCL du circuit fonctionnent de manière identique. En se concentrant sur le chemin SDA, la résistance R1 tire le signal SDA du côté non isolé (NIS) jusqu'à l'alimentation, tandis que R8 tire le SDA du côté isolé (IS). Les valeurs de résistance dépendent de la tension d'alimentation utilisée, de la charge capacitive vue par le contrôleur ou la cible et des caractéristiques de sortie de l'opto-isolateur. Le chapitre 7.1 de la spécification I2C définit les valeurs maximales et minimales :

R_p(max) =t_r/(0,8473 × C_b )etR_(p(min))=(V_DD-V_(OL(max)))/I_OL

où tr est le temps de montée maximal autorisé pour le mode de fonctionnement sélectionné et Cb est la capacité de bus estimée. VOL et IOL sont la tension et le courant de sortie de bas niveau de l'opto-isolateur.

Le circuit est dans son état par défaut avec SDA des deux côtés tiré haut. Lorsque le signal NIS SDA est tiré vers le bas, le courant traverse R4 et la LED de l'optocoupleur I2C. Cela passe l'état zéro au signal IS SDA lorsqu'il est tiré vers le bas par la sortie de I2C et la diode barrière à petit signal D2. La mise en œuvre du pôle inversé de la LED dans IC1 empêche le retour à l'état zéro du côté NIS, évitant ainsi un état zéro permanent. Comme le circuit est symétrique, un état zéro généré au SDA sur le SI passe au NIS de la même manière.

Cette approche nécessite 20 composants, soit quatre optocoupleurs, quatre diodes et les passifs associés. Les diodes séparent le signal d'envoi du signal de retour dans les voies bidirectionnelles SDA et SCL. Ils doivent avoir une faible capacité, comme les diodes à barrière Schottky (SBD), pour assurer un faible bruit et une faible distorsion, en particulier aux vitesses de signalisation les plus rapides. Les types à petits signaux sont suffisants. Ils doivent également avoir une faible tension directe pour garantir que le niveau de signal bas répond à la spécification I2C (VIL = 0,3 VDD).

Connaître la basse tension de sortie maximale VOL d'un opto-isolateur à collecteur ouvert dicte le choix du SBD. Par exemple, l'optocoupleur TLP2362 fournit une isolation de 3750 Vrms et a un taux de transfert de données maximal de 10 Mbps avec un VOL de basse tension de sortie maximal de 0,6 V (0,2 V typique), un SBD avec 0,3 V VF garantit que VIL est conforme aux spécifications même avec VDD de 3,3 V . Un seul condensateur de dérivation en céramique de 1 µF est requis entre chaque broche d'alimentation TLP2362 pour stabiliser le fonctionnement de la logique de sortie.

Les périphériques I2C peuvent varier considérablement, vérifiez donc que les appareils utilisés en conjonction avec ce circuit peuvent fournir le courant requis par la LED interne de l'opto-isolateur. Dans cet exemple, le courant de seuil d'entrée TLP2362 IFHL est de 5,0 mA maximum (typiquement 1,0 mA). Pour un courant plus faible, un autre optocoupleur fonctionnant à, par exemple, 3,3 V, aura un IFHL maximum de 2,4 mA (0,9 mA typique).

D'autres dispositifs peuvent être envisagés pour répondre aux exigences d'applications spécifiques, par exemple pour fournir une tension d'isolement et une ligne de fuite plus importantes, une vitesse d'horloge plus rapide ou des niveaux logiques plus élevés pour isoler directement le bus LIN.

La figure 2 montre la forme d'onde traversant l'optocoupleur. Sa forme épurée avec un retard presque symétrique d'environ 60 ns est tout à fait conforme aux exigences d'un fonctionnement I2C en mode rapide (400 kHz).

Bien qu'une plus grande intégration soit souvent préférée lors de la mise en œuvre de circuits, tels que l'isolation dans les connexions de bus I2C, les opto-isolateurs discrets peuvent offrir une plus grande flexibilité ou un coût inférieur et répondre aux spécifications de synchronisation I2C avec la configuration de sortie à collecteur ouvert nécessaire.

Personnel GE