i2C ACK Pegel Problem

OP #4242396
Lesenswert?

Hallo Leute

Zurzeit versuche ich das Display EA Dogm204-A mit einem MSP430 über i2c 
zu betrieben. Den I2C benutze ich auf 1.8V, das Display Auf 2,8V. 
Eigentlich wäre 3,3V die richtige Spannung aber 2,8 geht laut Datenblatt 
auch(min. 2,4V). Ich benutze die 2,8V da ich diese sowieso auf meiner 
platine hatte und keinen seperaten Spannungsregler für 3,3 zusätzlich 
verwenden wollte. Zwischen den MSP430 und dem display sitzt deshalb ein 
Pegelwandler TXS0102DCU. Versuche ich nun aber die beiden über I2C 
kommunizieren zu lassen kann der Slave das ACK bit nicht kompett auf Low 
ziehen (siehe Bild). Hat jemand eine Idee an was das liegen könnte?


Danke im Voraus

Gruß Christian
Angehängte Dateien:
#4242423
Lesenswert?

achso sorry, du schriebst ja, du hast 1.8V auf einer Seite (der MSP 
Seite nehme ich an). Die muss dann VCCA beim Levelshifter sein.

Wie sieht denn SDA auf der Slave-Seite (2.8V) aus?
Miss mal SDA gleichzeitig auf beiden Seiten.

Welche Pullups verwendest du (auf den jeweiligen Seiten)?
OP #4242437
Lesenswert?

Im angehängten Bild sind beide Seiten von SDA. Wobei Signal 2 Die 1,8V 
seite ist und Signal 3 die 2,8V Seite. Hierbei ist zu beachten,dass ich 
bei Signal 3 am Oszi 2V/Div eingestellt habe, damit sich die Signale 
nicht überschneiden.

Pullups hatte ich ursprünglich auf der 1,8V Seite bei sda und scl 
jeweils 2k7. Als es so nicht ging hab ich nochmals ins Datenblatt des 
Pegelwandlers gesehen. und die internen 10k gesehen. Siehe Bild 2. Dann 
hab ich meine externen 2k7 rausgelötet, weil ich dachte dass man die 
nicht braucht wenn da ja 10k drin sind oder?. Auf der 2,8V seite hatte 
ich ursprünglich keine Pullups vorgesehen .. nur die im Pegelwandler 
internen 10k
Angehängte Dateien:
#4242443
Lesenswert?

Ist das die vollständige Sequenz einer wiederholten Verbindungsaufnahme, 
jeweilige START condition inklusive? Den Glitch beim ersten Puls finde 
ich nämlich interessant, im ersten Bild. Könnte lohnen, da mal näher ran 
zu gehen.

Und mach mal etwas programmierte Pause zwischen die einzelnen 
Verbindungsversuche.
OP #4242507
Lesenswert?

A. K. schrieb:
> Ist das die vollständige Sequenz einer wiederholten Verbindungsaufnahme,
> jeweilige START condition inklusive? Den Glitch beim ersten Puls finde
> ich nämlich interessant, im ersten Bild. Könnte lohnen, da mal näher ran
> zu gehen.

Hier nochmal die erste Sequenz.

Habe jetzt auf beiden Seiten des Pegelwandler jeweils an SDA und SCL 3k3 
als pullups hinzugefügt. Die müssten dann ja Parallel mit dem 10k intern 
im Pegelwandler jeweils einen Pullupvon 2k48 ergeben ... Jetzt könnte 
man meinen, dass der komische halbe Pegel am Ende beim ACK größer 
geworden ist. Zumindest bei der 1,8V Seite
Angehängte Dateien:
#4242512
Lesenswert?

Der Display-Controller ist extrem stromschwach auf den Ausgängen. 
Maximal 100µA laut Datasheet. Die 10K Ohm des Pegelwandlers stellen also 
bereits eine zu hohe Last dar.
http://www.lcd-module.de/fileadmin/eng/pdf/zubehoer/ssd1803a_2_0.pdf

Auch das Datasheet vom Display weist darauf hin, wenngleich etwas 
zurückhaltend: "Bitte beachten Sie, dass aufgrund der COG-Technik die 
Strombelastbarkeit der Ausgänge begrenzt ist."
OP #4242522
Lesenswert?

A. K. schrieb:
> Der Display-Controller ist extrem stromschwach auf den Ausgängen.
> Maximal 100µA laut Datasheet. Die 10K Ohm des Pegelwandlers stellen also
> bereits eine zu hohe Last dar.

Ja aber wenn ich extern, wie bereits oben beschrieben, jeweils einen 3k3 
pullup dran hänge. dan sind die 3k3 ja parallel zu den 10k und ich 
bekomme ca. 2k45 was ja eine kleinere Last ist... Oder begehe ich da 
einen Denkfehler?
#4242529
Lesenswert?

Chris S. schrieb:
> Oder begehe ich da einen Denkfehler?

Ja. Der Display-Controller kriegt den Pegel nicht auf low runter 
gezogen. Deine Reduktion der Pullups macht das noch schlimmer, weil sie 
den Pegel noch weiter ansteigen lässt.

Bitte auch beachten, dass bei Pegelwandlern dieser Bauweise der Ausgang 
die Pullups beider Seiten runter ziehen muss. Das sind also effektiv 
weniger als 10K Ohm.

Mit diesem Pegelwandler wird das nichts.
OP #4246640
Lesenswert?

So hab jetzt einen "eigenen" Pegelwandler mit N-Mos Transistoren 
aufgebaut. Nach folgender Schaltung:
https://de.wikipedia.org/wiki/Pegelumsetzer#/media/File:Bidirektionaler_pegelumsetzer_wikide.svg

Wobei bei mir die linke Spannung wie gesagt 1,8V und die rechte 2,8V 
sind.
R1 ist 20k und R2 hab ich auf 33k.

Die Pullups kann ich doch berechnen mit U=2,8 die Spannung die ich 
runterziehen will und I= 100uA der Strom den das Display max. kann. Dann 
komme ich auf 28k was ich dan auf 33k aufgerundet habe.


Wenn ich dann die Leitungen mit dem Oszi anschaue, sehen ich sie wie im 
hochgeladenen Bild.

Kommen die Haifischflossen förmigen Aufladevorgänge durch die Gate 
Transistor? und wenn ja, wie kann ich das beseitigen?

Habe folgenden N-Mos genommen: BSH 105

Und warum schaft er es bei der 2,8V seite (Signal 3) jetzt garnichtmehr 
auf 0V runterzuziehen?
Angehängte Dateien:
#4246757
Lesenswert?

Ich schrieb oben: "Bitte auch beachten, dass bei Pegelwandlern dieser 
Bauweise der Ausgang die Pullups beider Seiten runter ziehen muss."

Strom R1 = 1,8V/20K = 90µA
Strom R2 = 2,8V/33K = 85µA
Strom Display: 90µ + 85µA = 175µA.

Das dürfte hier aber nicht das Problem sein, da der Ausgang im gezeigten 
Screenshot wohl auf der 1,8V Seite liegt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren