I2C PCA9600 Logikseiten-Offset + Klingeln

Ich verwende einen NXP PCA9600 I2C-Buspuffer, um ein 2-Meter-Kabel in einer Zweidrahtkonfiguration zu betreiben. Meine Uhr ist 100KHz . Die Busspannung beträgt 5 V und die Geräteseiten 3,3 V. Ich habe 350 Ohm Klimmzüge im Bus. An beiden Enden des Kabels befinden sich außerdem Schottky-Dioden zum Schutz vor Überspannungen beim Hot-Plugging. Das Kabel ist ein HDMI-Kabel. Eine der TX-RX-Leitungen ist wie gezeigt mit logischem GND verdrillt, und die andere TX-RX-Leitung ist mit 5 V verdrillt. Jedes Paar ist einzeln mit Erde abgeschirmt. (nicht gezeigt).Geben Sie hier die Bildbeschreibung ein

Meine Oszilloskopsonden sind auf 10X und wurden getrimmt. Bei der Scope-Erfassung ist Blau die Uhr, Rot sind Daten und Grün ist Massebezug. Der beigefügte Scope-Trace wird auf der Geräteseite (SX & SY) genommen. Die Kurve zeigt, dass das Clock-Low ~0,6 V über Null liegt (grüne Bezugsmasse). Ist das normal? Außerdem sieht es so aus, als würde die Slave-Bestätigung (rot) die Leitung tatsächlich auf Null ziehen. Die Dioden sind auf der Sendeseite, also sollte es nicht die 0,6-V-Verschiebung verursachen, oder?

Scope-Trace

Die Schaltung funktioniert. Die beiden I2C-Slave-Geräte antworten. Meine Fragen sind jedoch:

  1. Im Vergleich zu einigen anderen I2C-Traces, die ich gesehen habe, scheint es übermäßiges Klingeln zu geben. Was kann getan werden, um dies zu reduzieren?
  2. Müssen die busseitigen Dioden an beiden Enden des Übertragungsbusses oder nur auf der Slave-Seite sein?
  3. Müssen die geräteseitigen Pull-Ups beide den gleichen Wert haben? Würden unterschiedliche Werte den angezeigten Offset verursachen?

Alle zusätzlichen Kommentare oder Tipps sind willkommen.

Das 0,6-V-Logiktief klingt fast so, als würde es von einer Gegentaktstufe angesteuert, nicht von einer Od-Stufe. was sagt das Datenblatt dazu? Auch wenn Sie den Klimmzug an der Sck-Linie herausnehmen, würden Sie immer noch die Wellenform sehen?
Das Klingeln ist wahrscheinlich das Ergebnis davon (niedrige Ausgangsimpedanz einer Gegentaktstufe, niedriger Pull-up und lange Drähte). 100 kHz ist niedrig genug, um einen so niedrigen Pull-up zu verwenden.
sieht sowohl nach Masse als auch nach schlechtem 3,3-V-Entkopplungsrauschen und möglichem Erdungsaufnahmerauschen der Sonde aus.
Sieht aus wie das Ergebnis einer x1-Sonde mit induktiver Masseleitung und Koaxialresonanz> 10 MHz

Antworten (1)

Die niedrige Ausgangsspannung auf der Ausgangsseite beträgt in der von Ihnen verwendeten Konfiguration typisch 0,6 Volt. Das ist also normal. Wo der Slave die Uhr nach unten zieht, sehen Sie fast 0 Volt, das ist normales Verhalten. Die Pull-up-Widerstände verursachen diesen Offset nicht.

Laut Datenblatt müssen die Klemmdioden auf beiden Seiten platziert werden, um die Transienten möglichst nahe an den Chipeingängen zu reduzieren.

Das Klingeln, das Sie sehen, kann durch viele Dinge beeinflusst werden. Im Vergleich zu einem ähnlichen Setup im Fat Adhes sind die Pull-up-Widerstände recht hoch. Auch die Kondensatoren auf den Leitungen werden in Ihrer Zeichnung nicht angezeigt. Auch die Kapazität Ihrer Sonden kann das Klingeln beeinflussen. Das Datenblatt ist sehr vollständig in Bezug auf akzeptables Klingeln auf den Leitungen.

"... das ist normales Verhalten. Die Pull-up-Widerstände verursachen diesen Offset nicht." Danke!
"Die Kondensatoren auf den Leitungen werden in Ihrer Zeichnung nicht angezeigt" Das PC9600-Datenblatt scheint nur Kondensatoren auf der Geräteseite anzugeben, wenn ein Flachband- oder Telefonkabel verwendet wird, wie in Abb. 14 und Tabelle 7 gezeigt. Da bin ich Bei Verwendung eines HDMI-Kabels mit verdrillten, abgeschirmten Paaren habe ich keine Kondensatoren zwischen dem SX und Masse hinzugefügt. Außerdem ist aus Fig. 14 und Tabelle 7 nicht klar, ob die Kondensatoren C2 einfach die typische Buskapazität darstellen oder ob sie der Schaltung hinzugefügte Kondensatoren sind. Soll ich sie hinzufügen? Würde dies dazu beitragen, das Klingeln auf der Geräteseite zu reduzieren?
"Das Datenblatt ist sehr vollständig in Bezug auf akzeptables Klingeln auf den Leitungen." Es scheint mir, dass das Datenblatt in Bezug auf LINE-Seitenklingeln sehr klar ist. Es scheint nicht so klar auf der akzeptablen Geräteseite zu klingeln, wo meine geposteten Oszilloskopspuren aufgenommen werden. Ich habe mir sogar das Datenblatt NXP UM10204 „I2c0bus Specification and User Manual“ < nxp.com/documents/user_manual/UM10204.pdf > angesehen und es enthält nur sehr wenige Informationen in Bezug auf akzeptables Klingeln.
Ich habe den 4,7k-Widerstand auf ~1K Ohm geändert. Es hatte keine Auswirkung auf das Klingeln. Der einzige Effekt bestand darin, die Uhr in eine eher trapezförmige Welle zu ändern. dh die Ladungskurve wurde fast gerade.
Ich würde lieber ein paar Zehn-Ohm-Serien entlang TX / RX-Linien ausprobieren. Sie müssen den Bus herunterziehen. Stellen Sie nur sicher, dass Ihr niedriger Pegel niedrig genug bleibt, um den Rauschabstand nicht zu beeinträchtigen.