Kann ein Slave-i2c-IC verhindern, dass der Master das Signal auf Low zieht?

Ich habe einen MSP430F6659, der über I2C mit 1,5-K-Pullups an einen ISO1541 angeschlossen ist. Der I2C-Bus ist ein Durchgangsdraht anstelle einer Leiterbahn, sodass ich identische Leiterplatten mit den ISO1541-ICs austauschen kann.

Eines dieser Boards mit ISO1541 funktioniert einwandfrei. Ich kann die Takt- und Datensignale im Oszilloskop sehen. Wenn ich jedoch den anderen anschließe und versuche, ein Byte mit demselben MSP430 zu senden, bleibt das Signal bei 3,3 V flach.

Hat der Master kein Mitspracherecht darüber, ob das Signal niedrig wird oder nicht? Kann einer der Slaves den Master daran hindern, die Leitung auf Low zu bringen?

Wenn es nicht einmal den geringsten Signalabfall gibt, haben Sie einen Kurzschluss zu VCC. Schlicht und einfach.
Welches Signal bleibt hoch, die Uhr oder die Daten?
Sowohl die Uhr als auch die Daten bleiben hoch
Wenn dies eine Platine von mehreren Exemplaren ist, dann hat diese Platine einen Fehler. Auf Lötbrücken prüfen.

Antworten (1)

Nein das sollte nicht möglich sein. I2c-Leitungen sind Open-Drain, sodass Schnittstellen das Signal nur auf Low zwingen können.

Ich würde damit beginnen, auf dem Slave-Board zwischen den Linien und 3v3 nach Shorts zu suchen. Der msp430 kann nur mit begrenzter Kraft nach unten ziehen.

Das Slave-IC könnte beschädigt oder falsch konfiguriert sein. Einige haben Bootstraps, die die Pins zwischen i2c und spi muxen (spi kann die Leitungen hoch treiben).

Das von Ihnen erwähnte IC ist ein Isolator, der sich möglicherweise schlecht verhält, wenn die Sekundärspannung nicht korrekt ist. Überprüfen Sie jede Pin-Spannung und suchen Sie nach Unterschieden zwischen dem ausgefallenen und dem funktionierenden Beispiel.

Wenn nichts davon funktioniert, würde ich vermuten, dass Ihr IC beschädigt ist. Der maximale Strom für Seite 1 beträgt 3,5 mA. Wenn Sie diese überschritten oder einer Überspannung ausgesetzt haben, sind möglicherweise die internen Schutzdioden kurzgeschlossen.

Dies ist sowohl auf dem SDA als auch auf dem SCL. Das Signal bleibt völlig ruhig. Die Klimmzüge sind am Sklavenende. Der Slave scheint außer den flachen Signalleitungen keine Probleme zu haben.
In diesem Fall würde ich damit beginnen, nach einer Art Kurzschluss zwischen den Linien und 3v3 auf dem Slave-Board zu suchen. Muxt der Slave diese Pins für andere Zwecke? Spi zum Beispiel.
Dies ist kein Forum, und Antworten dürfen nur als Antworten verwendet werden, nicht als Fragen. Um weitere Informationen anzufordern, verwenden Sie einen Kommentar.
Okay CL, tut mir leid! Ich habe es als Antwort geschrieben, weil es die Frage beantwortet hat. Weitere Informationen angefordert, weil es nicht viel hilft, nur "Nein" zu sagen. Und belasse es dabei.
@loganf Du hattest Recht, es ist nicht möglich. Mir fehlte ein Schritt am Anfang des Codes, wo er ein Byte sendet und nach einer Bestätigung sucht. Wenn es nicht empfängt, lässt es nie wieder zu, dass ein Byte übertragen wird. Danke für die Hilfe.