Forum: Mikrocontroller und Digitale Elektronik Stromloser AVR am I2C Bus


von Ja mann (Gast)


Lesenswert?

Hallo,

ich habe zwei AVRs an einem I2C Bus hängen, wobei meistens nur 1 AVR mit 
Strom versorgt wird. Das Problem ist nun dass der jeweils stromlose AVR 
die beiden Signalleitungen (über die internen Klemmdioden) stark nach 
unten zieht und dann eine Kommunikation auf dem Bus nicht mehr möglich 
ist. Hat jemand eine Idee wie man das Problem umgehen könnte ?

Gruß und Danke
Ja mann

von markus (Gast)


Lesenswert?

Jetzt mal ganz Blöd von mir daher geredet:
- Den zweiten AVR auch mit Strom versorgen?

von Hmm... (Gast)


Lesenswert?

Wie groß hast den die Pull-Ups?

von Ja mann (Gast)


Lesenswert?

Nein, prinzipbedingt (einer der AVRs ist ein batteriebetriebener Teil) 
ist das nicht möglich.

von Ja mann (Gast)


Lesenswert?

@Hmm... Pullups sind 4k7...

von Benedikt K. (benedikt)


Lesenswert?

Lösen kannst du das Problem nur, indem du entweder den AVR mit Strom 
versorgst, oder den AVR vom Bus abtrennst (z.B. über Mosfets: Gate an 
die Betriebsspannung des AVRs, Source an die Pins vom AVR, Drain an den 
Bus).

von markus (Gast)


Lesenswert?

Hätte da noch ( eine wirklich unsaubere, unschöne ) Lösung.
Die enden des I2C-Bus in Richtung 2. AVR über Mosfet-Transistoren 
abschließen, also Endwiderstände rein.
Somit hast du ein offenes Ende des I2C.

Ich hoffe ich werde nicht gleich gesteinigt ;)

von Ja mann (Gast)


Lesenswert?

Jaaaaa, DAS war die Idee die ich gesucht habe. Dank der eingebauten 
Diode geht das dann auch in beide Richtungen, super! Besten Dank, werde 
das dann mal ausprobieren, mal sehen was ich noch an MOSFETs rumliegen 
habe.

von Matthias L. (Gast)


Lesenswert?

I2C ist ein Bussystem zwischen zwei (mehreren) ICs. SOweit gut.
Diese ICs sitzen aber gewöhnlich auf derselben Platine unter derselben 
Spannungsversorgung.

Für dezentrale µC sollte ein anderes Kommunkationskonzept her!

von Ja mann (Gast)


Lesenswert?

>Für dezentrale µC sollte ein anderes Kommunkationskonzept her!

Naja, vielleicht wenn ich Geräte über meterlange Kabel verbinde. Die 
beiden Platinen sind nebeneinander auf ein Chasis geschraubt, und das 
Kabel dazwischen hat keine 10 cm...

von Falk B. (falk)


Lesenswert?

@  Ja mann (Gast)

>Nein, prinzipbedingt (einer der AVRs ist ein batteriebetriebener Teil)
>ist das nicht möglich.

Das kann man mit dem Sleep Mode lösen, da bleibt die 
Betriebsspannung aktiv.

MFg
Falk

von Esko (Gast)


Lesenswert?

Wie wärs denn mit folgender Idee:

Vor die Eingänge des AVR 20k Widerstände rein.
Auch wenn der AVR versucht die Eingänge nach unten zu ziehen, wird es 
ihm nicht gelingen. Ist er dagegen an, ist der Eingangswiderstand recht 
hoch und somit fallen die Widerstände nicht auf. Kommt natürlich noch 
auf die Frequenz des Buses an, bei 100kHz sollte es aber gehen.

von Marvin M. (Gast)


Lesenswert?

@Esko: Dass der I²C bidirektional ist, ist Dir aber bekannt? Wie soll 
der AVR mit 20K dem Master das ACK senden bzw. Daten ausgeben?

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.