Forum: Mikrocontroller und Digitale Elektronik I2C Stromlosschalten?


von Peter H. (hp-soft)


Lesenswert?

Hallo zusammen,

Ich möchte mir einen Einschaltsequenzer bauen. D.h. Ich möchte mit I2C 
Portexpander mit nachfolgenden Transistorstufen (Horter & Kalb) eizelne 
Geràte am I2C Bus zu- oder abschalten. Dabei sollen die beiden I2C 
Leitungen fest angeschlossen sein und nur die Stromversorgung der Geràte 
über die Transitoren geschaltet werden.
Ist das überhaupt machbar? Oder himmle ich mir dabei den I2C Bus.

Falls es machbar ist , direkt die nächste Frage.

Die Transistoren (BD137) haben auf der CE Strecke einen gemessenen 
Spannungsabfall von 0,7 V. D.h. von meinen 5V Eingang kommen nur nur ca. 
4,3V raus. Da in den I2C Baugruppen auch zwei ATMEGA8 mit 16MHz verbaut 
sind, und der nicht mit 4,3V kann (zumindest startet er nicht), brauche 
ich noch eine gechickte Möglichkeit die Spannung an diesem Kanal etwas 
zu erhöhen. Bin aber kein Elektroniker, müsste etwas für Laien 
verständliches sein.

Vielen Dank im voraus

Gruss
HP-Soft

von Uwe B. (uwe_beis)


Lesenswert?

Das sollte prinzipiell machbar sein, nur dürfen die abgeschalteten 
Geräte nicht direkt am I2C-Bus liegen. Dafür kann man in die 
I2C-Leitungen, die zum Gerät gehen, je einen 
Kleinsignal-N-Channel-MOSFET legen, bei dem das Gate auf der 
geschalteten Betriebsspannung liegt. Der MOSFET muss symmetrisch sein 
(keine Diode) und eine geringe Schwellspannung haben. Vielleicht tut es 
schon ein BS170 oder ein BF862.

Bei TI gibt es in der CBT-Reihe ganze Arrays solcher Transistoren als 
Level Translator. Der SN74CBTLV1G125 ist so ein IC für nur eine Leitung. 
Bei dem muss VCC geschaltet sein und OE/ auf Masse liegen.

Warum nimmst zu zum Schalten einen NPN-Transistor mit 0,7 V Verlust? Das 
ist doch ein Fall für einen P-Kanal-MOSFET.

Und warum schreibt man (auch ich) so oft Transitor statt Transistor?

von Peter H. (hp-soft)


Lesenswert?

Danke für die Antwort,

Uwe Beis schrieb:
> Warum nimmst zu zum Schalten einen NPN-Transistor mit 0,7 V Verlust? Das
> ist doch ein Fall für einen P-Kanal-MOSFET.

Naja, der Transistor ist in einer fertigen Schaltung verbaut 
(Horter%Kalb).
Da ich aber furchtbar wenig Ahnung von der Elektronik habe, kann ich 
sowas nicht selber entwickeln. Obwohl ich doch immer viel 
rumexperimentiere.(Breadboard sei Dank) Ergibt aber leider oftmals sehr 
viel Rauch.
Ich habe mir halt gedacht, dass da ne Schaltung ist, die über I2C 8 
Transistorschaltstufen schaltet. Funktioniert sogar super, aber leider 
kommt hinter dem Trasistor nicht mehr das raus, was ich reingesteckt 
habe. Also in meinem Sinn kein Schalter!

Uwe Beis schrieb:
> I2C-Leitungen, die zum Gerät gehen, je einen
> Kleinsignal-N-Channel-MOSFET legen, bei dem das Gate auf der
> geschalteten Betriebsspannung liegt. Der MOSFET muss symmetrisch sein
> (keine Diode) und eine geringe Schwellspannung haben. Vielleicht tut es
> schon ein BS170 oder ein BF862.

Das mit den I2C Leitung macht Sinn. Ich schließe dann wohl über einen 
Widerstand an der Basis 2 Transistoren in die I2C Leitungen. Dann kann 
ich die schon mal sauber trennen.
Bleiben immer noch die 4,3 V am Transistorausgang, die ich nicht auf 5V 
bekomme.
Vielleicht sollte ich mal versuchen die 16 MHz auf 8 MHz zu senken und 
nen ATMEGA 8L verwenden.
Kann ich dann am gleichen Transistorausgang die Stromversorgung der 
Platine mit dem MEGA 8 und die beiden Trasistoren für den I2C Bus 
steuern?

Gruß Peter
PS.
Uwe Beis schrieb:
> Und warum schreibt man (auch ich) so oft Transitor statt Transistor?
Das ist die schleichende Infaltion < alles wird teurer>

von Joe F. (easylife)


Lesenswert?

Uwe Beis schrieb:
> nur dürfen die abgeschalteten
> Geräte nicht direkt am I2C-Bus liegen.

Das ist so nicht richtig.
I2C funktioniert so, dass alle Slaves hochohmig am Bus "lauschen". Nur 
wenn sie vom Master angesprochen wurden (Addresse passt), ACKen sie den 
Bus, in dem sie SDA auf GND ziehen. Oder wenn Daten von ihnen 
angefordert werden.

Sowohl der Master als auch die Slaves hängen ausschließlich mit 
Open-Collector oder Open-Drain am Bus, der High Pegel kommt 
ausschließlich durch die Pullups zustande.

D.h. ein stromloser I2C Slave beeinflusst den Bus auch nicht.

Soweit dazu.

Ein BD137 ist nicht dazu geeignet eine beliebige, unbekannte Last 
"high-side" zu schalten.
Deine "Horter & Kalb Lösung" ist also eher ungeeignet.
Du solltest über eine Alternative nachdenken.

Vermutlich ist auch das Gesamtkonzept nicht besonders ausgereift.

Die meisten Bauteile besitzen Reset, Enable oder Shutdown Funktionen, 
die man nutzen kann. In vielen Fällen ist auch power-down direkt über 
I2C möglich.
Die ich-schalte-dir-einfach-mal-den-strom-ab-Methode ist vielleicht 
naheliegend, muss aber nicht unbedingt richtig sein.

: Bearbeitet durch User
von Klaus (Gast)


Lesenswert?

Joe F. schrieb:
> D.h. ein stromloser I2C Slave beeinflusst den Bus auch nicht.

Es sei denn, die Substratdiode im Slave fängt an zu leiten und versucht 
den "stromlosen" Chip über die Pullups zu versorgen. Dann hat man 
beliebig undefinierte Zustände im System.

MfG Klaus

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Joe F. schrieb:
> D.h. ein stromloser I2C Slave beeinflusst den Bus auch nicht.

Das wäre schön, gilt aber nur für Fast-mode und Fast-mode plus Chips.
Zitat aus dem I2C Ref. Manual von NXP (UM10204) von 6/2014:
> [9]    If VDD is switched off, I/O pins of Fast-mode and
> Fast-mode Plus devices must not obstruct the SDA and SCL lines.

(Seite 47)

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Peter Hell schrieb:
> Bleiben immer noch die 4,3 V am Transistorausgang, die ich nicht auf 5V
> bekomme.

Bei I2C wir der High-Pegel durch den Pull-Up bestimmt und hängt nur von 
der Versorgungsspannung des Bussegmentes ab.

Die Schaltung mit den FETs findet sich z.B. in der AN10441 von NXP
http://www.nxp.com/documents/application_note/AN10441.pdf

Unter 2.0 ist dort auch explizit die Abtrennung abgeschalteter Busteile 
genannt
("In spite of its surprising simplicity, such a solution not only 
fulfils the requirement of bidirectional level shifting without a 
direction control signal, it also:
• isolates a powered-down bus section from the rest of the bus system")

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.