Forum: Mikrocontroller und Digitale Elektronik I2C Gerät - VCC aus, müssen die Pullup-Widerstände auch von VCC getrennt werden?


von Keks F. (keksliebhaber)


Lesenswert?

Hallo,

folgende allgemeine Situation:

IC angeschlossen über I2C mit Mikrocontroller. Der IC ist das einzige 
Gerät am I2C Bus. IC verbraucht sehr sehr wenig Strom (uA-Bereich, und 
der "output sink current" von SDA wird im 1-stelligen mA-Bereich 
angegeben) und braucht laut Datenblatt keine Kondensatoren.
Man will den IC bei Bedarf abschalten bzw. die meiste Zeit soll er Aus 
sein.

(1) Kann bzw. sollte man aus Einfachheitsgründen den IC vom IO Pin des 
MCU direkt mit Spannung versorgen? (Unter dem Vorbehalt, dass der IC zu 
keinem Zeitpunkt den Maximalstrom des IO Pins verbraucht, und der 
Spannungsabfall durch den Eigenwiderstand des IO Pins und des Verbrauchs 
des ICs vernachlässigbar ist)

(2) Und wie sieht es mit den Pullup-Widerständen aus? Wenn ich VCC des 
ICs trenne, muss ich die Pullups ebenso von VCC trennen, weil SDA/SCK 
und der Rest des ICs auf demselben Potential sein müssen?
(Ausgenommen ICs bei denen explizit die Spannungsversorgung von 
IC-"Hauptteil" und dem Kommunikationsteil getrennt sind, und dann 
entsprechender VVDIO-Pin vorhanden ist)

(3) Wenn alles bejaht werden kann, kann ich dann alles über den IO Pin 
mit versorgen?

(4) Oder gibt es andere Gründe das Ganze über einen Transistor an der 
zentralen/"globalen" Spannungsversorgung zu schalten?

Vielen Dank und frohe Feiertage!

: Bearbeitet durch User
von Roland E. (roland0815)


Lesenswert?

Zu (1): Steht im Datenblatt.

Erfahrungsgemäß: Nein, denn der Bus wird noch von anderen benutzt und 
dann wird das IC über den Bus versorgt.

von Wolfgang (Gast)


Lesenswert?

Keks F. schrieb:
> (2) Und wie sieht es mit den Pullup-Widerständen aus? Wenn ich VCC des
> ICs trenne, muss ich die Pullups ebenso von VCC trennen, weil SDA/SCK
> und der Rest des ICs auf demselben Potential sein müssen?

Das hängt von dem internen Aufbau an den Pins des ICs ab. Welche 
Spannung an den Pins liegen darf, steht im Datenblatt des ICs.
Wenn dort der Maximalwert auf VCC bezogen spezifiziert ist, solltest du 
das berücksichtigen. Wenn die Maximum Ratings nicht eingehalten werden, 
garantiert der Hersteller nicht, dass das gut für das Wohlbefinden des 
ICs ist. Das reicht bis zu verdeckter Schädigung - besonders 
unübersichtlich.

von Wolfgang (Gast)


Lesenswert?

Roland E. schrieb:
> Erfahrungsgemäß: Nein, denn der Bus wird noch von anderen benutzt und
> dann wird das IC über den Bus versorgt.

Es geht um I²C. Da legt kein Busteilnehmer aktiv einen High-Pegel auf 
den Bus. Damit ist eine parasitäre Versorgung unabhängig davon, ob 
andere Teilnehmer den Bus benutzen.

von EAF (Gast)


Lesenswert?

Keks F. schrieb:
> folgende allgemeine Situation:

Viele Worte, aber keine klaren Gedanken!

Das Datenblatt des Chips gibt Auskunft!

Meine Glaskugel sagt:
0,5V+Vcc maximal an den I2C Leitungen

Und jetzt du:
Wie hoch ist Vcc, wenn Vcc abgeschaltet ist?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Keks F. schrieb:
> IC verbraucht sehr sehr wenig Strom (uA-Bereich, und
> ...
> Man will den IC bei Bedarf abschalten bzw. die meiste Zeit soll er Aus
> sein.

Warum sollte man das tun wollen? Klar, es ist nicht ausgeschlossen, I2C 
Devices auszuschalten. Aber da muss man echt arg aufpassen, eben mit 
Versorgung von wo man's nicht vermutet, komischen Pegeln, etc.
Also: Wenn das Ding eh kaum Strom verbraucht, lass' es einfach an.

Gruss
WK

von (prx) A. K. (prx)


Lesenswert?

Keks F. schrieb:
> (2) Und wie sieht es mit den Pullup-Widerständen aus? Wenn ich VCC des
> ICs trenne, muss ich die Pullups ebenso von VCC trennen, weil SDA/SCK
> und der Rest des ICs auf demselben Potential sein müssen?

Sinnvollerweise hängt man die Pullups an die gleiche Versorgung wie das 
I2C-IC und wird die Pullups eher schwach wählen:

Keks F. schrieb:
> (4) Oder gibt es andere Gründe das Ganze über einen Transistor an der
> zentralen/"globalen" Spannungsversorgung zu schalten?

Das hängt davon ab, ob der Enable-Output genug Strom für die Versorgung 
von I2C-Device und Pullups hergibt. Ein kleiner Cap wäre aber schon 
empfehlenswert, weils sonst auf der IC-Versorgung deutlich klappert.

Wolfgang schrieb:
> Es geht um I²C. Da legt kein Busteilnehmer aktiv einen High-Pegel auf
> den Bus. Damit ist eine parasitäre Versorgung unabhängig davon, ob
> andere Teilnehmer den Bus benutzen.

Als parasitär könnte man eine Versorgung über SCL/SDA bezeichnen. Das 
ist bei I2C etwas schwierig. Er hatte m.E. an einen separaten µC-Pin für 
die Versorgung gedacht.

-

Allgemein, nicht auf den konkreten Fall bezogen: Ein I2C Bus mit 
getrennter Stromversorgung der diversen Teilnehmer ist nicht ganz so 
exotisch und folglich hat man sich darüber schon Gedanken gemacht. Dafür 
gibts beispielsweise den PCA9306.

Der dürfte freilich nicht so arg viel anders arbeiten als die gängigen 
I2C-Pegelwandler mit 2xMOSFET, wenn man die Gates als Enable nutzt. 
Aufgrund der Abschlussfrage ist das im hiesigen Fall aber keine Lösung.

: Bearbeitet durch User
von Keks F. (keksliebhaber)


Lesenswert?

Hallo,

vielen Dank für die Gedankenanstöße.
Ich lese heraus, dass das stark fallabhängig ist, wie ich schon dachte, 
deswegen ist die Frage auch allgemein gehalten. Es geht mir weniger um 
einen konkreten Anwendungsfall, sondern ich möchte eben lernen, wie ich 
das selber herausfinden kann.
Ich sehe ein guter Ansatz ist schonmal im Datenblatt zu gucken, ob die 
Ratings VDD-abhängig sind.

Dergute W. schrieb:
> Warum sollte man das tun wollen?

Batteriebetrieb zum Beispiel.

EAF schrieb:
> Viele Worte, aber keine klaren Gedanken!
> Das Datenblatt des Chips gibt Auskunft!

Wie gesagt, mir geht es darum einen übergreifenden Eindruck zu bekommen, 
damit ich selber fallspezifisch entscheiden kann.

Falls aber ein theoretisches Beispiel
hilft, nehmen wir mal diesen IC, den habe ich in meinem Fundus (neben 
einigen anderen ICs wie bspw. Sensoren usw., die auch einen I2C Bus 
haben) und wird demnächst mal verwendet.

https://www.reichelt.de/i-c-lcd-treiber-duplex-vso-40-pcf8577ct-3-p270125.html

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Keks F. schrieb:
> nehmen wir mal diesen IC, den habe ich in meinem Fundus

Ausgerechnet den. ;-)

Ein LCD mit Wackelstrom zu versorgen, ist keine wirklich brilliante 
Idee. Zumal das Teil je nach Displaytyp mehr als 5V braucht, und zwar 
mit etwas Glück negativ.

: Bearbeitet durch User
von Keks F. (keksliebhaber)


Lesenswert?

(prx) A. K. schrieb:
> Ein LCD mit Wackelstrom zu versorgen, ist keine wirklich brilliante
> Idee.

Hallo,

kannst du das bitte erklären?

von (prx) A. K. (prx)


Lesenswert?

Keks F. schrieb:
> kannst du das bitte erklären?

Der Kontrast einfacher LCDs kann stark spannungsabhängig sein. Die 
Versorgung des Displays kann aber dank der Abschlusswiderstände an der 
gleichen Versorgung wackeln und obendrein auch vom temperaturabhängigen 
Innenwiderstand des Pin-Treibers abhängen.

Obacht: Was aus dem Datasheet nicht wirklich hervorgeht ist die 
Versorgung der Backplane des Displays. Die kann gegenüber GND auch 
negativ werden.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Als parasitär könnte man eine Versorgung über SCL/SDA bezeichnen. Das
> ist bei I2C etwas schwierig.

Eben, da würde das IC über die I²C-Pullups und die Eingangsschutzdioden 
versorgt. In was für einen Betriebzustand es dabei gelangen würde, hängt 
sehr davon ab, wie die Stromaufnahme und sonstiges Verhalten des IC ist 
und wie groß die Pullups sind. Bleiben die Maximum Ratings für den Pin 
bzgl. VCC als Grundproblem dabei.

von Keks F. (keksliebhaber)


Lesenswert?

(prx) A. K. schrieb:
> Obacht: Was aus dem Datasheet nicht wirklich hervorgeht ist die
> Versorgung der Backplane des Displays. Die kann gegenüber GND auch
> negativ werden.

Meines vielleicht begrenzten Verständnisses wird zwischen der 
Segmentpins und der Backplane gewechselt, was auf Vss geschaltet wird 
und was auf Vdd.

Mir sind hier mal Treiber und Display zusammen empfohlen worden.

Vielleicht gibt es da bessere und schlechtere Empfehlungen, aber wer 
überblickt das selber als Anfänger? Irgendwo muss ich anfangen. Ich kann 
mir auch vorstellen, dass es dann auch zwischen euch Profis gewisse 
Uneinigkeiten gibt.
Man ist dann als noch Ahnungsloser dazwischen.
Ich würde behaupten ich lerne sehr schnell, man kann bei sowas hier aber 
auch echt ins Loch reinfallen und auf einmal bei einem Detail beliebig 
tief in die Materie gehen. Mir ist es da wichtig irgendwo, irgendwann 
etwas erstmal abzuhaken und darüber hinaus ein Gefühl dafür zu bekommen, 
wo man im Anwendungsfall etwas wichtiges behandelt, und wo man 
prokrastiniert. Lernen muss auch quantifizierbar sein und wie Oger aus 
Schichten sein.

: Bearbeitet durch User
von Gerhard O. (gerhard_)


Lesenswert?

Moin,

Was mich betrifft, würde ich eher dazu gravitieren den I2C Bus 
Teilnehmer komplett vom uC Host zu versorgen und zu übersehen.

Also, die I2C VDD und Pullups zusammen gleichzeitig einschalten, so daß 
die interne Logik des I2 ICs einen normalen Power-Up erfährt und die 
interne State Machine des I2C ICs von vornherein normal initialisiert 
ist und keine abnormalen externe Buszustände erfährt. Damit wird 
erreicht, daß beim Hochfahren der I2C VDD der I2C Bus zusammen immer im 
HIGH Zustand verbleibt und die interne I2C IC Logik sauber aus dem 
Startup RESET herauskommt.

In vielen Fällen kann dann die VDD vom I2C IC von einem Portpin zusammen 
mit den Pullups versorgt werden. Dann erst würde ich die interne I2C 
Hardware des uC "einschalten". Im Falle eines LCDs wegen der besseren 
Spannungsstabilität besser einen P-Kanal MOSFET dafür verwenden.

Damit wird ein ordnungsgemäßer Power-Up gewährleistet, ohne daß illegale 
I2C  Busprotokoll Zustände verursacht werden. Beim Power Down erst die 
I2C HW beim uC abschalten und dann die externe I2C Beschaltung. Ob es 
wirklich notwendig ist, ist eine andere Sache, aber es erscheint mir 
"cleaner". In der Praxis kann man sich natürlich oft gewisse "Sünden" 
und Abkürzungen erlauben. Besonders, wenn es schnell gehen muß:-) 
Versuch macht halt kluch. Fakt ist, daß sauberes Design oft viel 
unnötige Fehlersuche erspart und meist schwer auffindbare sporadische 
Fehlervorkommnisse vermeiden kann.

Gerhard

: Bearbeitet durch User
von keksliebhaber (Gast)


Lesenswert?

Gerhard O. schrieb:
> Dann erst würde ich die interne I2C
> Hardware des uC "einschalten".

Gerhard O. schrieb:
> Beim Power Down erst die
> I2C HW beim uC abschalten und dann die externe I2C Beschaltung.

Das wäre im Prinzip doch nichts anderes, als die Pullups immer bestromt 
zu lassen, so wie ich es im Ausgangspost gesagt hatte, oder?
Die elektrischen Limitierungen (I2C Bus muss IC-VDD-unabhängig gerated 
sein) sind dieselben.

Wozu würdest du raten, zwischen den zwei Möglichkeiten, und wieso?

Ich glaube, wenn ich das richtig verstehe, du wolltest lediglich darauf 
hinweisen, dass IC und I2C nicht "gleichzeitig" geschaltet werden 
sollten, um unvorhersehbare Signalverarbeitungszustände zu vermeiden.

von keksliebhaber (Gast)


Lesenswert?

Ah, vergessen zu sagen, und Dank Gastaccount kann ich das nicht 
reineditieren.
Für mich wäre der Vorteil hier zwei IO-Pins zu verwenden, dass der 
Innenwiderstand insgesamt geringer (relativ betrachtet, weil Last auf 
zwei Pins verteilt), und der (bereitstellbare) Strom größer ist.

von Gerhard O. (gerhard_)


Lesenswert?

keksliebhaber schrieb:
> Gerhard O. schrieb:
>> Dann erst würde ich die interne I2C
>> Hardware des uC "einschalten".
>
> Gerhard O. schrieb:
>> Beim Power Down erst die
>> I2C HW beim uC abschalten und dann die externe I2C Beschaltung.
>
> Das wäre im Prinzip doch nichts anderes, als die Pullups immer bestromt
> zu lassen, so wie ich es im Ausgangspost gesagt hatte, oder?
> Die elektrischen Limitierungen (I2C Bus muss IC-VDD-unabhängig gerated
> sein) sind dieselben.
>
> Wozu würdest du raten, zwischen den zwei Möglichkeiten, und wieso?
>
> Ich glaube, wenn ich das richtig verstehe, du wolltest lediglich darauf
> hinweisen, dass IC und I2C nicht "gleichzeitig" geschaltet werden
> sollten, um unvorhersehbare Signalverarbeitungszustände zu vermeiden.

Nein. Nicht ganz. Ich verstand, daß ein bestimmter I2C Baustein während 
Betriebspausen mit laufenden uC je nach Bedarf komplett ein und wieder 
eingeschaltet werden sollte ohne illegale I2C Bussignale zu erfahren. 
Falks Du es so verstandst, daß der I2C weiterhin VDD erhält, mußt Du 
sowieso nichts machen, ausser ihn nicht aktiv zu betreiben.

Die Hinweise bezüglich der I2C Logik betrafen nur den Wunsch unnütze Bus 
Transitionen zu vermeiden, die die interne Lokik im uC und Baustein in 
ungewünschte Transitionen der Zustandsmaschine zu bringen. Deshalb der 
Begriff "saubere Logik".

Manchmal wundert man sich warum es hin und wieder Busprobleme gibt. Da 
ist die Möglichkeit das I2C Subsystem komplett runterzufahren können, 
sehf nützlich. Manche I2C Bausteine lassen sich nicht durch SCL RESET 
Impulsfolgen zurücksetzen.

Es waren nur meine Gedanken aus eigener Sicht und Erfahrung dazu und 
nicht "geballtes Wissen" vom Industriestandpunkt aus. Ob mir andere 
beistimmen kann ich nicht beurteilen. Vielleicht ist es meinerseits auch 
nur übertrieben. Aber manche dieser Maßnahmen kosten wenig oder nichts 
und tragen zu erhöhter Zuverlässigkeit bei. Ein unerwarteter Bus Lockup 
der ohne Ausschalten nicht behoben werden kann ist in wichtigen Anlagen 
unerwünscht.

von Gerhard O. (gerhard_)


Lesenswert?

keksliebhaber schrieb:
> Ah, vergessen zu sagen, und Dank Gastaccount kann ich das nicht
> reineditieren.
> Für mich wäre der Vorteil hier zwei IO-Pins zu verwenden, dass der
> Innenwiderstand insgesamt geringer (relativ betrachtet, weil Last auf
> zwei Pins verteilt), und der (bereitstellbare) Strom größer ist.

Kann man. Aber, wieviel Strom braucht den Dein Baustein? Wenn das 
überhaupt ein Thema ist, nimm einen Portpin geschalteten P-Kanal MOSFET 
mit sehr geringen Rds. Viele uC Port pins können mindesten 20mA Sourcen. 
Sicher, bei Belastung macht sich der Innenwiderstand bemerkbar und beim 
MOSFET mit RDS-On<(0.5-5) Ohm ist es ohnehin kein Thema.

von keksliebhaber (Gast)


Lesenswert?

Okay, alles klar, danke.

Ich bin noch dabei mich bei Transistoren einzulesen, also BJT vs. FET, 
Vor- und Nachteile, und was da drum herum für Komponenten und wieso 
benötigt werden. Da bin ich noch nicht so weit und habe das noch nicht 
komplett verstanden, da brauche ich noch einen freien Abend dafür.
Aber den Vorschlag mit dem FET, auch die Spezifikationsangabe, habe ich 
mir notiert und gerade mal nachgeschlagen, danke.

von Gerhard O. (gerhard_)


Lesenswert?

keksliebhaber schrieb:
> Okay, alles klar, danke.
>
> Ich bin noch dabei mich bei Transistoren einzulesen, also BJT vs. FET,
> Vor- und Nachteile, und was da drum herum für Komponenten und wieso
> benötigt werden. Da bin ich noch nicht so weit und habe das noch nicht
> komplett verstanden, da brauche ich noch einen freien Abend dafür.
> Aber den Vorschlag mit dem FET, auch die Spezifikationsangabe, habe ich
> mir notiert und gerade mal nachgeschlagen, danke.

Nur ganz kurz:

MOSFETS schalten in der Regel niederohmiger als BJTs. Wenn ein gewisser 
lastabhängiger Spannungsabfall tragbar ist, spricht nichts gegen BJTs, 
ausser, daß für deren Durchschalten ein dauernder Basisstrom notwendig 
ist, der bei MOSFETS wegfällt. Bei der Wahl von etwaigen MOSFETS 
beachte, dass es für niedervoltige Anwendungen zwischen 2-5V spezielle 
"Logic Gate" Versionen gibt, die schon bei geringen GS Spannungen sauber 
durchschalten. Normale MOSFETS sind für wesentlich höhere GS Spannungen 
konzipiert.

Gerhard

von keksliebhaber (Gast)


Lesenswert?

Ah, das erklärt, wieso ich irgendwie denke, Mosfets sind eigentlich für 
größere Ströme und Spannungen gedacht.

Ich hatte nicht auf dem Schirm, dass ein Dauerstrom von Nöten ist um 
einen BJT zu schalten.
Ich bin immer ein bisschen verwirrt über den doch merkwürdigen Aufbau. 
Mal wird der Strom zur Basis begrenzt per Widerstand, mal beim 
Kollektor, und VOut ist dann zwischen Kollektorwiderstand und 
Transistor, ich dachte das VOut wäre dann meinem noch begrenzten 
Verständnis beim Emitter. Dann gibt es Rückwiderstände zur Basis zurück, 
das kenne ich nur von OpAmps bzw. Komparatoren als Feedback oder für 
Hysterese.
Da brauche ich noch ein bisschen, ich erwarte da auch keine Antwort, mir 
ist das wichtig das so gut ich kann, selber zu erarbeiten.

Nochmals vielen Dank und einen schönen Abend (euch allen).

von keksliebhaber (Gast)


Lesenswert?

Ab dem dritten Absatz rede ich (natürlich) von BJTs.

von (prx) A. K. (prx)


Lesenswert?

keksliebhaber schrieb:
> Ich bin immer ein bisschen verwirrt über den doch merkwürdigen Aufbau.

Du kennst das ELKO?
https://www.elektronik-kompendium.de/sites/grd/index.htm

von keksliebhaber (Gast)


Lesenswert?

Ah, endlich eine für mich vernünftige Quelle.
https://www.lautsprechershop.de/theorie/transistor.htm

von Wolfgang (Gast)


Lesenswert?

keksliebhaber schrieb:
> Das wäre im Prinzip doch nichts anderes, als die Pullups immer bestromt
> zu lassen, so wie ich es im Ausgangspost gesagt hatte, oder?

Das wäre wieder das Problem mit der parasitären Versorgung des IC

von keksliebhaber (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Du kennst das ELKO?
> https://www.elektronik-kompendium.de/sites/grd/index.htm

Ah, dein Post war fast zeitgleich. Danke für den Link.

Wolfgang schrieb:
> keksliebhaber schrieb:
>> Das wäre im Prinzip doch nichts anderes, als die Pullups immer bestromt
>> zu lassen, so wie ich es im Ausgangspost gesagt hatte, oder?
>
> Das wäre wieder das Problem mit der parasitären Versorgung des IC

Das lese ich jetzt mehrmals auch außerhalb dieses Themas in 
verschiedenen Zusammenhängen.
Also "parasitäre Eigenschaften" oder "Effekte" sind doch zunächst 
unerwünschtes elektrisches Verhalten, das eintritt, bedingt durch die 
Schaltung (ich), oder physikalische Elemente (die Bauteile an sich).
Ich kenne das jetzt vorrangig von "parasitären Kapazitäten", bspw. bei 
Leiterbahnen, die unterschiedliche Potenziale haben (bzw. Schwankungen 
darin) und nah bei einander liegen.
Oder "parasitäre Widerstände", auch hier Leiterbahnen bzw. deren 
naturbedingter Widerstand?

Du sprichst hier von der parasitären Versorgung des IC, weil über die 
Pullups der I2C Pins der ansonsten nicht bestromte IC versorgt wird?
Der Nachteil wäre hier ja eine Überspannung, wenn die Spannung höher ist 
als im Datenblatt als vertretbar angegeben (hier darauf achten in 
welcher Referenz diese Spannung ist).

Jetzt habe ich gesagt, den IC zuerst abzuschalten, und dann erst die 
Pullups, wäre dasselbe, wie die Pullups anzulassen, weil sie ja (für 
einen kurzen Augenblick) auch bei der Ursprungssituation an sind.
Ich glaube ich habe aber den Satz hier missverstanden:

Gerhard O. schrieb:
> Beim Power Down erst die
> I2C HW beim uC abschalten und dann die externe I2C Beschaltung

Ich hatte das nämlich so gelesen:
1.) IC Stromversorgung trennen ("I2C HW")
2.) I2C Pullups trennen ("externe I2C Beschaltung")

Vielleicht liegt das an der Uhrzeit, aber jedes Mal, wenn ich den Satz 
lese, schwanke ich zwischen "Ah, das ist gemeint" und "Häh?".

von Andi B. (andi_b2)


Lesenswert?

EAF schrieb:
> Meine Glaskugel sagt:
> 0,5V+Vcc maximal an den I2C Leitungen

Wolfgang schrieb:
> Eben, da würde das IC über die I²C-Pullups und die Eingangsschutzdioden
> versorgt.

>....

Also theoretisch darf ein abgeschalteter I²C Busteilnehmer den Bus nicht 
beeinträchtigen. ICs müss(t)en also auf den I²C Leitungen auch 5V 
aushalten (und diese nicht belasten), selbst wenn sie selbst nicht 
versorgt sind.

Leider war dies so mancher I²C Nachbaufirma nicht so geläufig und es 
gibt haufenweise ICs mit angeblichem I²C kompatiblen Interface, welche 
genau dies nicht können (Schutzdioden auf VDD). Philips hat das dann 
sogar extra in die Fast I²C Spec reingeschrieben. Nützt aber auch 
nichts. Viele Hersteller scheren sich nix drum.

--> Es kommt auf den verwendeten IC an ob er sich da an die I²C Spec 
hält, dann wäre das alles kein Problem, oder eben nicht. Also konkreten 
Chip ansehen/testen.

Pups schalten - darf kein Problem sein. Ob ein Chip eine 0 auf SDA |& 
SCL sieht weil Kommunikation drauf ist oder weil die Pups weg sind, darf 
den nicht stören. Erst beim einem richtigen I²C START fängt er wieder 
an.

Weiterer I²C Fallstrick - manche Chips brauchen nach Power up eine 
gewisse Anzahl von CLK Zyklen bevor der I²C Teil richtig funktioniert, 
bzw. freigegeben wird (nicht gekillt). Auch nicht nach Spec., ist aber 
leider bei manchen Chips so.

von (prx) A. K. (prx)


Lesenswert?

Andi B. schrieb:
> Also theoretisch darf ein abgeschalteter I²C Busteilnehmer den Bus nicht
> beeinträchtigen.

Aus den Datasheets der PCxyyyy ICs geht hervor, dass dem Erfinder 
Philips diese Idee fremd ist. Wer sollte sich also sonst daran halten? 
I2C wurde für geräteinterne Verbindungen konzipiert, nicht als Feldbus.

Für Aufteilung in verschiedene Stromversorgungs-Domänen kann man sowas 
wie den PCA9306 und Buskoppler verwenden.

von Roland E. (roland0815)


Lesenswert?

Wolfgang schrieb:
> Roland E. schrieb:
>> Erfahrungsgemäß: Nein, denn der Bus wird noch von anderen benutzt und
>> dann wird das IC über den Bus versorgt.
>
> Es geht um I²C. Da legt kein Busteilnehmer aktiv einen High-Pegel auf
> den Bus. Damit ist eine parasitäre Versorgung unabhängig davon, ob
> andere Teilnehmer den Bus benutzen.

Du hast I2C nicht verstanden. Ohne Pullup geht der Bus nicht. Also 
müssten die Pullups drauf bleiben, wenn mehr als der eine Teilnehmer da 
ist. Nix mit wegschalten der Busspannung.

von (prx) A. K. (prx)


Lesenswert?

Roland E. schrieb:
> Nix mit wegschalten der Busspannung.

Weshalb das im Szenario dieses Threads mit exakt einem über den Master 
geschalteten Slave möglich ist, sofern der Abschluss an der Versorgung 
des Slaves hängt. Dann braucht in abgeschaltetem Zustand niemand den 
Bus.

Gerhard hat bereits darauf hingewiesen, dass man in diesem Fall ein 
geordnetes Verfahren für die Ab- und Anschaltung einhalten sollte.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Roland E. schrieb:
> Du hast I2C nicht verstanden.
Da sei dir mal nicht so sicher.

> Ohne Pullup geht der Bus nicht. Also müssten die Pullups drauf bleiben,
> wenn mehr als der eine Teilnehmer da ist. Nix mit wegschalten der
> Busspannung.

Ganz grundsätzlich geht es in diesem Thread nicht um mehrere 
Busteilnehmer. Also muss in diesem Fall gar nichts. Lies einfach mal.

Keks F. schrieb:
> Der IC ist das einzige Gerät am I2C Bus.

von Andi B. (andi_b2)


Lesenswert?

(prx) A. K. schrieb:
> Andi B. schrieb:
>> Also theoretisch darf ein abgeschalteter I²C Busteilnehmer den Bus nicht
>> beeinträchtigen.
>
> Aus den Datasheets der PCxyyyy ICs geht hervor, dass dem Erfinder
> Philips diese Idee fremd ist. Wer sollte sich also sonst daran halten?
> I2C wurde für geräteinterne Verbindungen konzipiert, nicht als Feldbus.
>
> Für Aufteilung in verschiedene Stromversorgungs-Domänen kann man sowas
> wie den PCA9306 und Buskoppler verwenden.

Na dann lies doch mal die I²C Bus Spezifikation. Inklusive Fußnoten. Ich 
denke ich hab ausführlich genug dargelegt, dass man sich das, entgegen 
der I²C Spec, IC spezifisch ansehen muss. Auch wenn sich selbst einige 
Philips Entwickler nicht daran halten sollten, brauchst daraus noch 
lange nicht falsche Schlüsse ziehen und deine eigene Meinung über die 
Spezifikation stellen.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Keks F. schrieb:
> sondern ich möchte eben lernen, wie ich
> das selber herausfinden kann.

Schau in das Datenblatt des konkreten ICs, was der verbraucht und ob das 
im Verhältnis zum Gesamtverbrauch der Schaltung überhaupt eine Rolle 
spielt.
Viele ICs haben auch einen Power-Down Mode, in den man sie bequem per 
Befehl setzen kann.

Solange niemand SDA/SCL auf low zieht, fließt durch die Pullups auch 
kein Strom und man kann sie an VCC lassen.

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.