Forum: Mikrocontroller und Digitale Elektronik Hoher LOW-Pegel bei Pegelwandler


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich entwickle grad eine Platine, welche über I²C-Bus mit einem Altera 
DE1-Board kommuniziert. Da die Platine mit 5V arbeitet, habe ich für die 
SCL und SDA Signale folgenden Pegelwandler eingebaut:
http://ics.nxp.com/support/documents/interface/pdf/an97055.pdf

Als ich die Signale mit dem Oszilloskop angeschaut habe, hab ich 
festgestellt, dass das Signal beim LOW-Pegel noch über 1,5V hat (Messung 
im Anhang).
Da ich in der Elektrotechnik eher Fremd bin, wollte ich euch fragen, ob 
ihr mir vielleicht einen Hinweis geben könntet.

Weitere Infos:
- Pullup-Widerstände auf der 3,3V-Seite 120K, auf der 5V Seite 10K
- Auf dem Altera-Board sind an den I/O Pins 47 Ohm Schutzwiderstände 
verbaut.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> Da ich in der Elektrotechnik eher Fremd bin, wollte ich euch fragen, ob
> ihr mir vielleicht einen Hinweis geben könntet.
Ich würde eher sagen, da treiben 2 Teilnehmer auf die selbe Leitung. Der 
eine mit '0' der andere mit '1'...

Warum nimmst du nicht einfach Pullups auf 3V3 für den I²C?
Das müsste für den 5V-Teilnehmer noch ausreichen...
Und I²C hat ja nur 1 aktiven Pegel: die '0'.
Eine '1' wird über die Pullups erreicht.

von Stefan (Gast)


Lesenswert?

Danke, auf die Idee bin ich noch gar nicht gekommen.

Ich habe auf der Platinen-Seite als Slave einen MAX127. Eigentlich 
sollte der doch gar nichts auf die Leitung legen, oder? Hab ich da 
irgendwo einen Denkfehler drin? Sieht ja irgendwie danach aus, als ob 
die Leitung dauerhaft auf High gezogen wird.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> Sieht ja irgendwie danach aus, als ob
> die Leitung dauerhaft auf High gezogen wird.
Es ist immer irgendwie ein Gebastel, einen bidirektionalen Bus mit 
unterschiedlichen Pegeln zu betreiben.
http://ics.nxp.com/support/documents/logic/pdf/an10145.pdf
http://delphys.net/d.holmes/hardware/levelshift.html

> Ich habe auf der Platinen-Seite als Slave einen MAX127. Eigentlich
> sollte der doch gar nichts auf die Leitung legen, oder?
Der legt zumindest am Schluss noch ein ACK auf die Leitung...

Stefan schrieb:
> habe ich ... folgenden Pegelwandler eingebaut:
Welche Transistoren hast du verwendet?

von Stefan (Gast)


Lesenswert?

Lothar Miller schrieb:
> Es ist immer irgendwie ein Gebastel, einen bidirektionalen Bus mit
> unterschiedlichen Pegeln zu betreiben.
Dazu kommt, dass ich ein absoluter Neuling bin. Bin Student und mache 
gerade ein Praktikum im Labor der Hochschule. Aber ohne Herrausforderung 
wärs auch langweilig ;)

Lothar Miller schrieb:
> Der legt zumindest am Schluss noch ein ACK auf die Leitung...
Das ACK erkennt man auf dem Oszilloskop auf recht eindeutig, da zieht es 
den Pegel auch ganz kurz nach unten.

Lothar Miller schrieb:
> Welche Transistoren hast du verwendet?
Das ist ein BSN10A.

Ich habe noch denTip bekommen, dass es an dem Schutzwiderstand auf dem 
DE1 liegen könnte. Da fließt wohl aufgrund des Pull-Up-Widerstands ein 
Strom. Ich habe diesen Widerstand überbrückt, und nun liegt beim 
Low-Pegel nur noch eine Spannung von 450mV an.

Ich danke dir trotzdem vielmals für deine Unterstützung :)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> Da fließt wohl aufgrund des Pull-Up-Widerstands ein Strom.
Das muß aber ein ganz hübsch großer sein, denn 1,5V/47Ohm = 30mA.
Wo kommt der her? Von den Pullups 10k und 120k kann der nicht kommen.
Das solltest du dir nochmal anschauen.

Und auch 450mV sind nicht wirklich ein guter Low-Pegel... :-o

von Stefan (Gast)


Lesenswert?

Hm jap, da hast du vollkommen recht, das ist jetzt kein 
zufriedenstellendes Ergebnis, da hab ich bislang nur die Ursache des 
hohen Low-Pegels gefunden.

Bin grad auch weiter auf der Suche, allerdings ist mir das Ganze 
momentan ein Rätsel. Ich werde mich morgen nochmal mit meinem Prof 
zusammensetzen, vielleicht fällt dem auch noch etwas auf.

von Stefan (Gast)


Lesenswert?

Hi,

sorry, hab ganz vergessen hier zu schreiben.
Die Lösung war unglaublich simpel: beide Transistoren waren hinüber... 
Da hät ich noch lang nach dem Fehler in der Schaltung suchen können.

Aber ich danke trotzdem vielmals für die tolle Unterstützung :)

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.