Forum: Mikrocontroller und Digitale Elektronik I²C Levelshifter P82B96


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo
an einem ATTiny85 habe ich am I²C Bus Devices mit unterschiedlicher 
Betriebsspannung hängen; zur  Anpassung nutze ich den P82B96 als 
Levelshifter gemäß angehängter Skizze.
Über den 3.3V Pfad funktioniert die Kommunikation mit Dev1 problemlos, 
über den 5V Pfad (Dev2) nicht zuverlässig. Theoretisch kann ja Dev1 und 
Dev2 gleichzeitig (mit unterschiedlicher Adresse) betrieben werden.

Daher frage ich mich, ob diese Beschaltung zulässig ist? Zwar ist der 
I²C ja ein Bus, hier komme ich aber einerseits vom Pegelwandler, 
andererseits von einem I²C Device; evtl. "dominiert" der P82B96 den Bus?

Hat hier jemand Erfahrung oder kann mir einen Hinweis in der Literatur 
geben?

Gruß
Tom

von Falk B. (falk)


Lesenswert?

Dein Schaltplan ist unvollständig. Auf der 3,3V Seite muss man jeweils 2 
Pins verbinden (Rx+Tx, sowie Ry+Ty). Siehe Datenblatt Seite 14, Figure 
2. Die Kommunikation mit deinem 5V IC sollte eigentlich funktionieren. 
Vielleicht ist es ein Wackelkontakt oder eine kalte Lötstelle.

von Wolfgang (Gast)


Lesenswert?

Tom schrieb:
> evtl. "dominiert" der P82B96 den Bus?

Im Datenblatt steht in der Funktionsbeschreibung: "sense the state of 
the pin Rx (Ry) and pull the I2C-bus pin LOW whenever Rx (Ry) is LOW", 
d.h. der benimmt sich genauso, wie jeder andere I2C Teilnehmer.

Man könnte natürlich fragen, wie groß deine Pull-Up sind, welche 
Kapazität deine Leitung hat, welche I2C-Taktfrequenz du verwendest und 
mit was für einem Dev2 du Probleme hast. Unterschiedliche I2C-Devices 
können sich schon mal unterschiedlich pingelig anstellen.

von Wolfgang (Gast)


Lesenswert?

Falk Brunner schrieb:
> Dein Schaltplan ist unvollständig

Welcher Schaltplan? Ich sehe da nur ein Blockschaltbild ;-(

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Danke zusammen,

das angehängte Bild ist kein Schaltplan, nur Blockschaltbild.
Beschaltung gemäß Datenblatt von TI (Auszug S.14 im Anhang).
Busgeschwindigkeit liegt im unteren kHz Bereich, Pull-Up 10k, 
geometrische Ausdehnung: wenige cm.

Mir geht es hier und jetzt zunächst nur darum, ob ich die Beschaltung so 
überhaupt vornehmen kann - lt. Euren Antworten JA :-)

Gruß
Tom

von Falk B. (falk)


Lesenswert?

Man kan einfach prüfen ob es am Levelshifter oder am 5V I2C Chip liegt. 
Trenne die verbindung zum Levelshifter und prüfe die Kommunikation zum 
5V IC.

von Wolfgang (Gast)


Lesenswert?

Tom schrieb:
> Pull-Up 10k

Das ist relativ viel.

Ein Oszi zur Beurteilung der IIC-Signalqualität wäre jetzt eine feine 
Sache. Na - ist ja bald Weihnachten ;-)

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.