[I2C] Bus abkoppeln

OP #6247057
Lesenswert?
• ▲
▼
Hallo zusammen,

ich hab hier schon unglaublich viel mitgelesen und viel gelernt. Aber zu 
meinem jetztigen Problem finde ich nix. Ich hoffe, ihr könnt mir einen 
Hinweis geben...

Die Situation ist:

Ich habe mehrere MCP23017 (Portextender) via i2c an meinen Raspi 
angeschlossen. Die MCPs liegen einige Meter vom Raspi und auch 
voneinander getrennt. Da I2C dafür nicht gedacht ist, habe ich 
P82B715-Chips dazwischen geschaltet. Die erlauben eine Erhöhung der 
Bus-Kapazität. An den MCPs hängen ein paar Relais, darum hat jede 
MPC/P82/Relais-Kombination seine eigene Spannungsversorgung. Läuft alles 
super.

Das Problem ist:
Wenn bei einem dieser Abschnitte die Spannungsversorgung ausfällt, 
blockiert das den ganzen Bus und alle anderen Abschnitte sind nicht 
erreichbar.

Ich habe versucht, das als Bild aufzumalen. Hoffe es ist 
nachvollziehbar.

Mein Lösungsansatz wäre, den Anschluss an den Bus mit Transistoren 
abzusichern. Diese Transistoren trennen dann, wenn die Spannung 
wegbricht. Allerdings bräuchte ich warscheinlich ein zweites 
Transistor-Paar für die Pullups, die an jedem Abschnitt den Bus mit 
Spannung versorgen.

Ist das ein Ansatz? Wenn ja, welchen Transistor würdet ihr empfehlen? 
Bin auch für andere Lösungsansätze zu haben. Mir reichen ein paar 
googlefähige Stichworte :-)

Vielen Dank und bleibt gesund!
Igor
Angehängte Dateien:
#6247195
Lesenswert?
• ▲
▼
Wenn wirklich nicht mehr am Bus hängt als in der Skizze, also nur je 1 
MCP und nur der RPi hinter seinem eigenen Bustreiber, dann könnte der 
PCA9600 als Bustreiber den P82B715 ersetzen. Der ist innen drin völlig 
anders aufgebaut, mit dem Nachteil, dass er nur in so einfachen 
Anwendungen funktioniert.

Aber mit dem entscheidenden Vorteil, dass er ohne VCC den Bus nicht 
blockiert. Das PCA9600-Datenblatt ist allerdings etwas für lange 
Winterabende. Ich hoffe, ich hab' nichts übersehen.

Bleiben noch die Pull-Up am Bus. In einem CAT-7 Kabel sind doch 8 Adern, 
evt. kann man die Pull-Up zentral versorgen. Wenn das nicht geht, könnte 
man sie abschalten, mit einen BC856 mit einem 5:1 Spannungsteiler an der 
Basis. Und dann wieder: sind verteilte Pull-Up so viel besser als einer 
am Master?
#6248431
Lesenswert?
• ▲
▼
Da gibt es eine schöne alte Application Note AN97055 von Philips 
(angehängt), in der steht auf Seite 11 wie man den Bus so gestaltet das 
er auch tut wenn ein Teil ohne Spannung ist.

BSS138 als FET soll scheinbar gehen.
Siehe Beitrag hier im Forum: 
Beitrag "Bi-directional level shifter (AN97055) - Alternativ Transistoren gesucht"


Gruß, Jürgen
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.