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
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?
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>
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.