I2C Pullups an ausgeschaltetem IC

Gast #7096592
Lesenswert?

Hallo,

ich habe einen STM32G031G8 
(https://www.st.com/resource/en/datasheet/stm32g031g8.pdf) auf einer 
Platine vorgesehen. Dieser ist als I2C Sklave mit einem anderen 
Mikrocontroller verbunden. Der STM32G031 ist nur in bestimmten Fällen 
mit VCC versorgt, der andere Mikrocontroller ist immer mit 3.3V 
versorgt. Kann es zu Problemen führen, wenn der STM32G031 nicht mit VCC 
versorgt wird, aber trotzdem am I2C Bus hängt, der mit 4.7k Pullups an 
3.3V hängt? Kann es sein, dass er durch die Eingangsdioden weiter mit 
Spannung versorgt wird und dadurch Schaden nimmt, oder sind die Pullups 
dafür zu hochohmig und man kann das so machen? Wie würde man es sonst 
lösen, falls das ein Problem sein sollte?

Laut Datenblatt Tabelle 18 ist das maximale Potential an einem Pin nicht 
auf VCC bezogen, sondern liegt bei 4.0V. Oder sehe ich mir da den 
falschen Teil des Datenblatts an?

Gruß
Gast #7096637
Lesenswert?

> Kann es sein, dass er durch die Eingangsdioden weiter mit
> Spannung versorgt wird und dadurch Schaden nimmt, oder sind die Pullups
> dafür zu hochohmig und man kann das so machen?

Du wirst doch wohl selber ausrechnen koennen welcher Strom dann maximal
durch die Pins fliessen kann oder?

Kaputt geht er dadurch sicher nicht, aber es kann dir passieren das
er einfach weiterlaeuft.

Olaf
Gast #7096640
Lesenswert?

Guest schrieb:
> Kann es zu Problemen führen, wenn der STM32G031 nicht mit VCC versorgt
> wird, aber trotzdem am I2C Bus hängt, der mit 4.7k Pullups an 3.3V
> hängt?

Was sagt das Datenblatt des Herstellers dazu? Der kennt seinen Chip 
zumindest so gut, dass er dort aufführt, welche Betriebsbedingungen 
Probleme ausschließen. Alles andere ist dünnes Eis.
Wenn der STM32G031 nicht mit VCC versorgt wird, kannst du davon 
ausgehen, dass VCC=0V beträgt. In den Absolute Maximum Ratings kannst du 
nachlesen, in welchem Spannungsbereich sich dann die Signale an den 
IO-Pins, insbesondere auch denen für deinen I2C-Bus, bewegen dürfen.
Gast #7096644
Lesenswert?

Guest schrieb:
> 3.3V hängt? Kann es sein, dass er durch die Eingangsdioden weiter mit
> Spannung versorgt wird und dadurch Schaden nimmt, oder sind die Pullups
> dafür zu hochohmig und man kann das so machen? Wie würde man es sonst
> lösen, falls das ein Problem sein sollte?
Zwei Probleme:

-Ein Low auf Data von I2C blockiert den Bus für alle Teilnehmer.

-Die Eingangsdioden wirken beim ausgeschaltetem ST wie ein Gleichrichter 
auf VCC d.h. ein High an Clock und/oder Data lupft den Prozessor 
spannungstechnisch an. Ich schätze mal, dass der treibende Prozessor 
nicht die Leistung hat, den ST auf echte 3,3V zu heben, aber toll ist 
das nicht.
Kannst Du den I2C Dialog nicht abschalten, während der ST aus ist?
Die Pullups würde ich dann an die Versorgung vom ST hängen, der Bus ist 
ja ohnehin blockiert.
Moderator (Firma: Titel) Persönliche Seite #7096719
Lesenswert?

Guest schrieb:
> Kann es zu Problemen führen, wenn der STM32G031 nicht mit VCC versorgt
> wird, aber trotzdem am I2C Bus hängt, der mit 4.7k Pullups an 3.3V
> hängt?
Ja.

Olaf schrieb:
> aber es kann dir passieren das er einfach weiterlaeuft.
Das nennt sich dann: Parasitäre Versorgung über die Schutzdioden. Wenn 
man weiß wie es geht kann man das ausnutzen. Hier wird der ATtiny über 
den Pullup versorgt, an Vcc hängt nur der Pufferkondensator:
Beitrag "Re: Bosch E-Bike Antrieb Geschwindigkeitssensor"
Moderator (Firma: Titel) Persönliche Seite #7096793
Lesenswert?

Peter D. schrieb:
> Lt. Datenblatt sind bis zu 3,6V an den IO-Pins erlaubt
Du hast da die "Operating Cnditions" hergenommen. Aber dafür muss der µC 
mindestens Vcc=1,7V haben und die Fußnote 2 beachtet werden:
"For operation with voltage higher than VDD +0.3 V, the internal pull-up 
and pull-down resistors must be disabled."

Aber halb so wild: wenn man in den Maximum Ratings schaut, dann sind mit 
Vcc=0V sogar bis zu 4V am IO-Pin erlaubt... ;-)
Angehängte Dateien:
Gast #7096831
Lesenswert?

Lothar M. schrieb:
> Aber halb so wild: wenn man in den Maximum Ratings schaut, dann sind mit
> Vcc=0V sogar bis zu 4V am IO-Pin erlaubt... ;-)

Auf die Tabelle hatte ich mich in meinem Eingangspost bezogen. Ändert 
diese Information die Einschätzung, dass das eine blöde Idee ist, oder 
heißt das, dass ich das so machen kann?

In den Ruhezustand versetzen kann ich den STM32G031 nicht, der wird von 
einer anderen Spannungsquelle versorgt, die nicht immer präsent ist. Ich 
könnte aber auch eine Schaltung mit zwei Schottky-Dioden vorsehen, um 
ihn auch von der primären Spannungsquelle speisen zu können.
Moderator (Firma: Titel) Persönliche Seite #7096927
Lesenswert?

Guest schrieb:
> Ändert diese Information die Einschätzung, dass das eine blöde Idee ist
> oder heißt das, dass ich das so machen kann?
Bei der Betrachtung anhand der Maximum Ratings kann man nur sagen, dass 
der µC bei Spannungen unter 4V nicht kaputt geht. Es könnte also auch 
sein, dass bei Vcc=0V und einer Spannung von 4V am Pin zwar spürbar 
Strom in den Pin hineinfließt, der µC das aber überlebt.

Es ist also den Datenblattangaben nicht entnehmbar, ob der Pin im 
abgeschalteten Zustand hinreichend hochohmig ist und der I2C-Bus 
weiterhin funktioniert.

Bleibt also im Grunde nur: ausprobieren und hoffen, dass hinterher 
keiner dieses Verhalten ändert. Mit ein wenig Glück bekommst du ja von 
einem FAE eine Aussage/Einschätzung zu dem Thema.
#7099153
Lesenswert?

Guest schrieb:
> Lothar M. schrieb:
>> Aber halb so wild: wenn man in den Maximum Ratings schaut, dann sind mit
>> Vcc=0V sogar bis zu 4V am IO-Pin erlaubt... ;-)
>
> Auf die Tabelle hatte ich mich in meinem Eingangspost bezogen. Ändert
> diese Information die Einschätzung, dass das eine blöde Idee ist, oder
> heißt das, dass ich das so machen kann?
>

Die Idee ist nicht blöd. War sogar als Betriebsart bei I²C vorgesehen. 
Nur halten sich viele IC Hersteller nicht daran. Übrigens die Diskussion 
hatten wir doch gerade erst - 
Beitrag "I2C Gerät - VCC aus, müssen die Pullup-Widerstände auch von VCC getrennt werden?"

Zusammenfassung - eigentlich müsste es mit jedem I²C kompatiblen Chips 
problemlos funktionieren, siehe I²C Spec (ab FAST hat man es 
reingeschrieben, davor war das eh "Allgemeinwissen"). Leider wissen das 
viele Hersteller nicht bzw. beachten es nicht. Viele bauen leider auch 
an I²C Pins Standard Ableitdioden ein. Deshalb - wenn's im Datenblatt 
steht, wird's schon stimmen, wenn's nicht drinnen steht, muss man leider 
nachfragen/nachmessen. Oft gibt's in den Supportforen des Herstellers 
dazu schon Threads.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren