I2C-Pull-up auf Mehrfachspannungsfrage

Kurzer Überblick über das, was vor sich geht: Ich verwende zwei PIC32MX, um beide I2C zu beherrschen. Sie werden ferngesteuert, um zu bestimmen, wer zu einem bestimmten Zeitpunkt der Meister ist. Aus Redundanzgründen haben beide ihren eigenen 3,3-V-Regler, der von denselben 5 V versorgt wird.

Bei meinem ursprünglichen Design habe ich die I2C-Leitungen auf die lokalen 5 V hochgezogen. Jetzt denke ich, ich sollte stattdessen auf 3,3 V hochziehen. Ich bin mir jedoch nicht ganz sicher, welche Konsequenzen ich sehen könnte, wenn ich die Leitungen auf ihre jeweiligen 3,3 V hochziehe. Sie sind mit demselben I2C-Bus verbunden.

Fragen:

  1. Habe ich recht mit der Sorge oder gibt es eigentlich keinen Grund zur Sorge?
  2. Sollte ich nur einen Satz Klimmzüge haben, weil sie parallel wirken?
  3. Bin ich besser dran, wenn ich einfach auf lokale 5 V hochziehe? Die PIC-I2C-Leitungen sind 5-V-tolerant, aber es ist ein 3,3-V-Gerät.
Es hängt davon ab, welche anderen Geräte am i2c-Bus sind. Sind sie alle 5 V tolerant?
Ja. Slaves sind 5V tolerant

Antworten (1)

Sie benötigen nur ein Paar Pull-up-Widerstände für den gesamten Bus. Wenn Sie sie an jedem Knoten hinzufügen, wird ein zu starker Pull-up erzeugt.

Dies beantwortet folglich Ihre anderen Bedenken - Sie können Klimmzüge an jede 3,3-V-Quelle anschließen und alles ist in Ordnung.

Es gibt jedoch eine Einschränkung - die meisten MCUs und andere I2C-Geräte haben eine maximale Pin-Spannung, die relativ zu VCC angegeben ist, z. B. "VCC + 0,5 V". Dies bedeutet, dass, wenn ein Gerät auf dem Bus aus irgendeinem Grund seine Stromversorgung verliert, seine Pins sofort den maximal zulässigen Bereich überschreiten.

Die Pull-up-Widerstände begrenzen den Strom und verhindern hoffentlich Burnouts. Für maximale Zuverlässigkeit würde ich jedoch vorschlagen, eine große 3,3-V-Versorgung zu verwenden, um alle Geräte am Bus mit Strom zu versorgen und auch Spannung für Pull-ups bereitzustellen.

Das ist keine schlechte Idee. Daran hatte ich nicht gedacht. Danke