banner
Nachrichtenzentrum
Bewährter und seriöser Anbieter herausragender Dienstleistungen

Diskrete Komponenten lösen das I2C-Bus-Rätsel

May 02, 2023

Torsten Siems von Toshiba Electronics Europe schlägt den Einsatz diskreter optischer Isolatoren für eine kostengünstige und flexible Übertragung in industriellen Anwendungen vor.

I2C-Bus-Anwendungen erfordern manchmal eine Hochspannungsisolierung, um Sicherheit und Zuverlässigkeit zu gewährleisten. Der interintegrierte I2C-Bus wurde in den 1980er Jahren eingeführt, um die Kommunikation zwischen einer Host-CPU und Peripheriegeräten zur Konfiguration, Überwachung und Steuerung zu ermöglichen. Ursprünglich für die Kommunikation über kurze Entfernungen auf Platinenebene gedacht, hat sein Erfolg zu einer Vervielfachung der Anwendungen geführt und die maximale Datenverarbeitungsfähigkeit wurde auf den 100-kHz-Standardmodus, den 1-MHz-Schnellmodus Plus und den 5-MHz-Ultraschnellmodus Plus ausgeweitet.

Der Standard spezifiziert eine Zweidrahtverbindung mit bidirektionalen Daten- und Taktleitungen, die kostengünstig implementiert werden kann. Die Einfachheit und Effizienz von I2C hat dazu geführt, dass die zugrunde liegenden Kommunikationsprinzipien in Standards wie SMBbus und PMBus verankert sind.

Der I2C-Bus verfügt normalerweise über einen Controller, beispielsweise einen MCU oder SoC, und ein oder mehrere Zielgeräte. Der Controller verfügt über Open-Collector-I/Os, die die seriellen Daten- (SDA) und Taktleitungen (SCL) auf Low ziehen können und benötigt einen Pull-up-Widerstand, der die Koexistenz mehrerer Controller und Ziele ermöglicht, ohne dass es zu Buskonflikten kommt.

Der Controller verwendet die SDA-Leitung, um das anzusprechende Ziel und das Register auszuwählen, auf das innerhalb dieses Ziels zugegriffen werden soll. Das Ziel sendet die angeforderten Daten über die SDA-Leitung zurück. Ziele verwenden die SDA-Leitung auch, um den korrekten Empfang der Anfrage (ACK) zu bestätigen, indem sie SDA auf Low halten, oder um den korrekten Empfang zu verweigern (NACK), indem sie SDA auf High ziehen lassen.

Die SCL-Leitung steuert die Geschwindigkeit der Datenkommunikation über den Bus. Dieses Signal ist normalerweise unidirektional, obwohl ein Ziel bei Bedarf mehr Zeit zum Antworten auf eine Anfrage erhalten kann, indem es sowohl SCL als auch SDA niedrig hält, während ein ACK generiert wird. Dies wird als Clock-Stretching bezeichnet.

Mit zunehmender Beliebtheit von I2C wurden seine Einsatzmöglichkeiten auch auf Situationen ausgeweitet, die längere Kommunikationsentfernungen erfordern. In solchen Situationen kommt es häufig vor, dass Unterschiede im örtlichen Erdpotenzial zwischen angeschlossenen Geräten die Rauschmargen des Systems beeinträchtigen. Darüber hinaus können kritische Gerätewerte wie die maximale negative I/O-Spannung überschritten werden.

I2C wird auch zur Kommunikation zwischen Schaltkreisen verwendet, die keinen gemeinsamen Erdungsbezug haben können, wie z. B. industrielle Automatisierung und Antriebe, Motorsteuerungen, Solarpanel-Mikrowechselrichter und medizinische Systeme, die eine Sicherheitsisolierung zwischen den I2C-Steuersignalen und dem Wechselstromnetz erfordern.

Diese Situationen erfordern eine praktische Möglichkeit zur Isolierung von I2C-Verbindungen und es stehen integrierte digitale Isolator-ICs zur Verfügung, die die gesamte Isolationsschaltung in einem einzigen Gerät implementieren. Obwohl sie einfach zu verwenden sind, können sie teuer sein und den Benutzer ohne Äquivalente oder eine zweite Quelle zum Schutz vor Problemen in der Lieferkette zurücklassen.

Mit Standard-Optokopplern kann eine isolierte Verbindung aufgebaut werden, allerdings sind dabei einige Komplikationen zu berücksichtigen. Einer davon ist die bidirektionale Natur der SDA- und SCL-Leitungen, da Optokoppler typischerweise unidirektional sind. Darüber hinaus müssen die ausgewählten Geräte über Open-Collector-Ausgänge verfügen, um eine ordnungsgemäße Steuerung des Busses zu ermöglichen.

Sie müssen außerdem in der Lage sein, die Timing-Anforderungen der I2C-Spezifikation zu erfüllen. Ein Aspekt ist die ACK/NACK-Antwort des Ziels an den Controller. Das ACK/NACK-Signal muss nach einer Setup-Zeit (tVD; ACK) zwischen 3,45 µs im Standardmodus (100 kHz) und 0,45 µs im Schnellmodus plus Betrieb (1 MHz) gültig sein. Es gibt auch zeitliche Einschränkungen für die Dateneinrichtung. Ein Ziel muss das SDA-Signal innerhalb von 250 ns nach der fallenden Flanke des vorherigen Taktbits im Standardmodus (gemäß Tabelle 11 I2C-Spezifikation 1) und in 50 ns für den Schnellmodus Plus einrichten.

Abbildung 1 zeigt, wie zwei Optokopplerpaare in die SDA- und SDL-Leitungen eingefügt werden können, um für Isolierung zu sorgen und die bidirektionale Kommunikation aufrechtzuerhalten.

Die SDA- und SCL-Pfade der Schaltung funktionieren auf identische Weise. Konzentriert man sich auf den SDA-Pfad, zieht der Widerstand R1 das SDA-Signal von der nicht isolierten Seite (NIS) zur Versorgung, während R8 SDA auf der isolierten Seite (IS) hochzieht. Die Widerstandswerte hängen von der verwendeten Versorgungsspannung, der kapazitiven Belastung des Controllers oder Ziels und den Ausgangseigenschaften des Optokopplers ab. Kapitel 7.1 der I2C-Spezifikation definiert Maximal- und Minimalwerte:

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

Dabei ist tr die maximal zulässige Anstiegszeit für den ausgewählten Betriebsmodus und Cb die geschätzte Buskapazität. VOL und IOL sind die Low-Level-Ausgangsspannung und der Ausgangsstrom des Opto-Isolators.

Die Schaltung befindet sich im Standardzustand, wobei SDA auf beiden Seiten hochgezogen ist. Wenn das NIS-SDA-Signal auf Low gezogen wird, fließt Strom durch R4 und die LED des Optokopplers I2C. Dadurch wird der Nullzustand an das IS-SDA-Signal übergeben, da es durch den Ausgang von I2C und die Kleinsignal-Sperrdiode D2 auf Low gezogen wird. Die umgekehrte Polimplementierung der LED in IC1 verhindert die Rückkehr des Nullzustands zur NIS-Seite und vermeidet so einen dauerhaften Nullzustand. Da die Schaltung symmetrisch ist, wird ein bei SDA auf dem IS erzeugter Nullzustand auf die gleiche Weise an den NIS weitergeleitet.

Dieser Ansatz erfordert 20 Komponenten, also vier Optokoppler, vier Dioden und zugehörige Passive. Die Dioden trennen das Sendesignal vom Rücksignal in den bidirektionalen SDA- und SCL-Pfaden. Sie sollten eine niedrige Kapazität haben, wie zum Beispiel Schottky-Barrieredioden (SBD), um geringes Rauschen und Verzerrungen zu gewährleisten, insbesondere bei den höchsten Signalgeschwindigkeiten. Kleinsignaltypen sind ausreichend. Sie sollten außerdem über eine niedrige Durchlassspannung verfügen, um sicherzustellen, dass der niedrige Signalpegel der I2C-Spezifikation entspricht (VIL = 0,3 VDD).

Die Kenntnis des maximalen Ausgangs-Niederspannungs-VOL-Werts eines Opto-Isolators mit offenem Kollektor bestimmt die Wahl des SBD. Beispielsweise bietet der TLP2362-Optokoppler eine Isolation von 3750 Vrms und eine maximale Datenübertragungsrate von 10 Mbit/s bei einer maximalen Ausgangs-Niederspannung VOL von 0,6 V (0,2 V typisch). Ein SBD mit 0,3 V VF stellt sicher, dass VIL auch bei VDD von 3,3 V innerhalb der Spezifikation liegt . Zwischen jedem TLP2362-Versorgungspin ist nur ein einzelner keramischer 1µF-Bypass-Kondensator erforderlich, um den Betrieb der Ausgangslogik zu stabilisieren.

I2C-Peripheriegeräte können stark variieren. Überprüfen Sie daher, ob die in Verbindung mit dieser Schaltung verwendeten Geräte den von der internen LED des Opto-Isolators benötigten Strom liefern können. In diesem Beispiel beträgt der Eingangsschwellenstrom IFHL des TLP2362 maximal 5,0 mA (typischerweise 1,0 mA). Bei einem niedrigeren Strom hat ein anderer Optokoppler, der beispielsweise bei 3,3 V arbeitet, eine maximale IFHL von 2,4 mA (typisch 0,9 mA).

Andere Geräte können in Betracht gezogen werden, um bestimmte Anwendungsanforderungen zu erfüllen, beispielsweise um eine größere Isolationsspannung und Kriechstrecke, eine schnellere Taktrate oder höhere Logikpegel für die direkte Isolierung des LIN-Busses bereitzustellen.

Abbildung 2 zeigt die Wellenform, die durch den Optokoppler läuft. Seine klare Form mit einer nahezu symmetrischen Verzögerung von etwa 60 ns entspricht deutlich den Anforderungen für den I2Betrieb im Schnellmodus (400 kHz).

Während bei der Implementierung von Schaltkreisen oft eine größere Integration bevorzugt wird, wie etwa die Isolierung in I2C-Bus-Verbindungen, können diskrete Opto-Isolatoren eine größere Flexibilität oder geringere Kosten bieten und die I2C-Timing-Spezifikationen mit der erforderlichen Open-Collector-Ausgangskonfiguration erfüllen.

EW-Mitarbeiter