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:
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 Photon
D4ILYD0SE