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ß
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? Ich hätte Bedenken, dass er den Bus blockiert.
Vorweg: Ich kenne die STM-/ARM-Mikrocontroller nur bedingt. Aber: Ist es denn unbedingt nötig, den STM komplett von VCC zu trennen? Ihn stattdessen in einen Standby-Modus zu versetzen wenn er nicht genutzt wird, in einer Konfiguration, die den I2C nicht negativ beeinflusst, ist nicht möglich?
> 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
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.
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.
Ich würde den STM auch nur schlafen legen, sofern das geht oder aber: Wenn ein µC eh immer an ist könnte man den nutzen um den STM gezielt auf den I2C-Bus auf- und abzuschalten. Wäre IMHO die saubere Lösung. Es bliebe natürlich auch noch die Möglichkeit mal zu testen was ein abgeschalteter STM an einem I2C-Bus macht ;)
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"
:
Bearbeitet durch Moderator
Guest schrieb: > ich habe einen STM32G031G8 Lt. Datenblatt sind bis zu 3,6V an den IO-Pins erlaubt, bei VDD = 0V. Man kann also die I2C-Pin einfach unter Spannung lassen.
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... ;-)
:
Bearbeitet durch Moderator
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.
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.
:
Bearbeitet durch Moderator
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.
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.