Forum: Mikrocontroller und Digitale Elektronik I2C translator tri-state


von xxAlexx (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,


ich habe eine Frage zum Tri-State Zustand eines ICs.

Im datenblatt heißt es:

Output enable (active High). Pull OE low to place all outputs in 3-state 
mode. Pull OE to LOW to place all outputs in 3-state mode with 3.6V
input tolerance.

Wenn ich also den OE-Pin low ziehe versetze ich alle Ausgänge in den 
hochohmigen Zustand. Doch was bedeutet der Anhang "with 3.6V input 
tolerance".

Darf an den nun hochohmigen Ausgängen kein äußeres Potential > 3,6V 
anliegen? Das wäre komisch, da der baustein als I2C translator von (in 
meinem fall) 5V auf 3,3V betrieben wird (und in meiner Anwendung sehr 
unpraktisch).

habe das Datenblatt angehängt.

Wäre nett, wenn da jemand Rat weiß.

von Sascha W. (sascha-w)


Lesenswert?

sehr merkwürdig geschrieben ...
Ich würde davon ausgehen, das die Eingänge auch im hochohmigen Zustand 
den selben Pegel vertragen wie im normalen Betriebszustand.

Sascha

von Klaus (Gast)


Lesenswert?

xxAlexx schrieb:
> Darf an den nun hochohmigen Ausgängen kein äußeres Potential > 3,6V
> anliegen? Das wäre komisch, da der baustein als I2C translator von (in
> meinem fall) 5V auf 3,3V betrieben wird (und in meiner Anwendung sehr
> unpraktisch).

Auf der einen Seite verträgt er nur 3,3V, du mußt ihn also richtig herum 
einbauen.

MfG Klaus

von xxAlexx (Gast)


Lesenswert?

Danke für die Hilfe schonmal.

@ Klaus:

Richtig herum einbauen ist mir bewusst.
d.h. auf der 5V-seite verträgt er dann ca. 5,3V im tri-state mode?

und ich habe es schon richtig verstanden, dass im tri-state mode alle 
I/O pins hochohmig werden?

für eine weitere anwendung meiner platine möchte ich es vermeiden, dass 
der i2c-translator mir mit seinen integrierten pull-ups irgendwas 
hochzieht. deswegen das interesse am tri-state.

von Klaus (Gast)


Lesenswert?

xxAlexx schrieb:
> d.h. auf der 5V-seite verträgt er dann ca. 5,3V im tri-state mode?

Nein. Er verträgt maximal Vcc + 0,5V, für die jeweilige Seite. Mit Vcc 
ist die wirkliche Spannung gemeint, die am Chip anliegt.

xxAlexx schrieb:
> für eine weitere anwendung meiner platine möchte ich es vermeiden, dass
> der i2c-translator mir mit seinen integrierten pull-ups irgendwas
> hochzieht. deswegen das interesse am tri-state.

Das verstehe ich nicht. Der I2C Bus braucht zwingend Pullups, da die 
Treiber Open-Collektor (oder Open Drain) sind. Die eingebauten 10k sind 
eigentlich zu groß, so 2 bis 3k sollten es schon sein. Da wird also 
immer etwas hochgezogen.


MfG Klaus

von xxAlexx (Gast)


Lesenswert?

Klaus schrieb:
> xxAlexx schrieb:
>> d.h. auf der 5V-seite verträgt er dann ca. 5,3V im tri-state mode?
>
> Nein. Er verträgt maximal Vcc + 0,5V, für die jeweilige Seite. Mit Vcc
> ist die wirkliche Spannung gemeint, die am Chip anliegt.
>

was heißt die wirkliche spannung? es liegen 2 verschiedene an, Vccb und 
Vcca. ich nehme an auf der jeweiligen seite verträgt er dann vccb +0,5v 
bzw Vcca +0,5v auf der anderen.

> xxAlexx schrieb:
>> für eine weitere anwendung meiner platine möchte ich es vermeiden, dass
>> der i2c-translator mir mit seinen integrierten pull-ups irgendwas
>> hochzieht. deswegen das interesse am tri-state.
>
> Das verstehe ich nicht. Der I2C Bus braucht zwingend Pullups, da die
> Treiber Open-Collektor (oder Open Drain) sind. Die eingebauten 10k sind
> eigentlich zu groß, so 2 bis 3k sollten es schon sein. Da wird also
> immer etwas hochgezogen.

mein system funktioniert nur wenn ich die internen pull-ups nehme und 
keine weiteren externen dazuschalte. das geht wahrscheinlich auf kosten 
der datenrate (10k pullups integriert), allerdings habe ich die 
möglichkeit den baustein über enable auf hochohmig zu setzen und somit 
die Leitungen anderweitig benutzen.

von Klaus (Gast)


Lesenswert?

xxAlexx schrieb:
> was heißt die wirkliche spannung? es liegen 2 verschiedene an, Vccb und
> Vcca. ich nehme an auf der jeweiligen seite verträgt er dann vccb +0,5v
> bzw Vcca +0,5v auf der anderen.

Ja. Du könntest aber nach Datenblatt auch auf beiden Seiten 3,3V 
anschließen, dann gehts halt nur bis 3,8V. Das meinte ich mit der 
'wirklichen' Spannung.

xxAlexx schrieb:
> mein system funktioniert nur wenn ich die internen pull-ups nehme und
> keine weiteren externen dazuschalte.

Dann hast du einen Fehler in deinem System. Ein I2C Treiber muß 
mindestens 3mA liefern können, alle Busteilnehmer verlassen sich darauf.

xxAlexx schrieb:
> allerdings habe ich die
> möglichkeit den baustein über enable auf hochohmig zu setzen und somit
> die Leitungen anderweitig benutzen.

Für einen Open-Collektor Bus mit genauen Regeln über seine Zustände 
(Start, Stop, Idle, Datenphase) keine gute Idee. Wenn man das aus Sicht 
des Prozessors sieht, gewinnst du 2 Leitungen: SDA und SCL und verlierst 
eine Leitung zum tristaten.

Und bevor du jetzt fragst, wozu denn dann die Tristate Funktion gut ist: 
z.B. um mehrere I2C Bussegmente mit Bausteinen, die die gleiche I2C 
Adresse haben, getrennt anzusprechen. Oder um den Bus bei heiß 
gesteckten Modulen erst dann scharf zu schalten, wenn sich die 
Spannungen beruhigt haben.

MfG Klaus

von xxAlexx (Gast)


Lesenswert?

Vielen Dank Klaus!

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.