Forum: Mikrocontroller und Digitale Elektronik Hilfe zu bidirektionaler Pegelwandler 1,8V <--> 3,3V mit NMOS


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von M. G. (ixil96)


Angehängte Dateien:

Lesenswert?

Hallo!

Für die Ansteuerung eines OLED Displays mit einem ATMega328 per SPI 
Schnittstelle benötige ich einen Pegelwandler für SCK und MOSI von 1,8V 
auf 3,3V.

Der ATMega arbeitet mit 1,8V @ 1MHz (Hier hängt ein 1,8V - I2C Sensor 
dran) und das Ergebnis soll auf einem 3,3V OLED Display ausgegeben 
werden.

Ich habe die beiligende Schaltung (aus einer AN von NXP) eines 
bidirektionalen Pegelwandlers mit 2 NMOS (IRLML6244 - VGS(TH) = min0,5V 
/ typ.0,9V / max.1,1V) nachgebaut. Leider sind die Signale zu verzerrt 
um hier etwas vernünftiges heraus zu bekommen. Gut, ich habe die Sache 
am Steckbrett aufgebaut aber das sollte ja normalerweise nicht das 
Problem sein.

Hat jemand einen Tip wo das Problem sein könnte oder eine 
Schaltungsempfehlung mit Transistoren?

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Lesenswert?

M. G. schrieb:
> Leider sind die Signale zu verzerrt um hier etwas vernünftiges heraus zu
> bekommen. Gut, ich habe die Sache am Steckbrett aufgebaut aber das
> sollte ja normalerweise nicht das Problem sein.
Zeig doch mal 1. deinen Aufbau und 2. die Signale...

von Falk B. (falk)


Lesenswert?

@M. G. (ixil96)

>Für die Ansteuerung eines OLED Displays mit einem ATMega328 per SPI
>Schnittstelle benötige ich einen Pegelwandler für SCK und MOSI von 1,8V
>auf 3,3V.

Die sind aber unidirektional.

>Der ATMega arbeitet mit 1,8V @ 1MHz (Hier hängt ein 1,8V - I2C Sensor
>dran) und das Ergebnis soll auf einem 3,3V OLED Display ausgegeben
>werden.

Laßt doch lieber den AVR auch auf 3,3V laufen und binde den I2C Sensor 
per Pegelwandler an. Das spart Leitungen bzw. Pegelwandler.

>Ich habe die beiligende Schaltung (aus einer AN von NXP) eines
>bidirektionalen Pegelwandlers mit 2 NMOS (IRLML6244 - VGS(TH) = min0,5V
>/ typ.0,9V / max.1,1V) nachgebaut. Leider sind die Signale zu verzerrt
>um hier etwas vernünftiges heraus zu bekommen.

Screenshot?

> Gut, ich habe die Sache
>am Steckbrett aufgebaut aber das sollte ja normalerweise nicht das
>Problem sein.

;-) Optimist. Wackelkontakte und anderes sind da immer gern gesehene 
Gäste.

>Hat jemand einen Tip wo das Problem sein könnte oder eine
>Schaltungsempfehlung mit Transistoren?

Hast du die Schaltung auch richtig aufgebaut. Alles 3 mal kontrolliert. 
Drain der FETs muss auf der Seite der höheren IO-Spannung sein.
Welche FETs hast du denn genommen? Ahh, jetzt sehe ich es, den 
IRLML6244. OMG! Das ist ein Leistungstransistor mit 22 mOhm! Gabs keine 
größeren? Der Klassiker ist der BSS138. Löte den um und es wird 
funktionieren.
Dieser Pegelwandlr ist gut aber nicht extrem schnell, für I2C reicht es, 
für SPI ist er wahrscheinlich zu langsam, vor allem wenn man mit 10k 
Pull-Ups arbeitet. Mit 1k könnte es gehen. Ausprobieren.

von M. G. (ixil96)


Angehängte Dateien:

Lesenswert?

Hier die Bilder...
CH2 (gelb) = SCK am UC Pin
CH1 (rot) = MOSI am UC Pin

aber wenn ich mir das jetzt so ansehe, dann denke ich hängt es doch am 
Aufbau.
Da sind die Takte im 500ns Bereich wohl doch ewas zu schnell?

von Clemens L. (c_l)


Lesenswert?

M. G. schrieb:
> Da sind die Takte im 500ns Bereich wohl doch ewas zu schnell?

Das gute alte I²C benutzt erst mal 100 kHz, und da sind die Pullup- 
Widerstände eher 4,7 kΩ als 10 kΩ. Wenn du schnellere Signale brauchst, 
musst du noch kleinere nehmen.

Pegelwandler wie z.B. TXS sind schneller, weil sie Signalflanken mit 
einer speziellen Schaltung beschleunigen. Aber deine Signale sind nicht 
bidirektional, deshalb solltest du besser z.B. SN74AVC2T245 wählen.
(So etwas will man nicht mehr diskret aufbauen.)

: Bearbeitet durch User
von M. G. (ixil96)


Lesenswert?

Clemens L. schrieb:
> M. G. schrieb:

> Aber deine Signale sind nicht bidirektional, deshalb solltest du besser z.B. 
SN74AVC2T245 wählen.
> (So etwas will man nicht mehr diskret aufbauen.)

Doch, die Schaltung arbeitet bidirektional!
https://www.elv.de/elektronikwissen/bidirektionaler-pegelwandler.html
Und zwei NMOS + 4 Widerstände sind sicher günstiger als ein 
entsprechender IC.
(Zumindest wenn man an Serie denkt)

von Falk B. (falk)


Lesenswert?

@M. G. (ixil96)

>> Aber deine Signale sind nicht bidirektional, deshalb solltest du besser >z.B. 
SN74AVC2T245 wählen.
>> (So etwas will man nicht mehr diskret aufbauen.)

In der Tat.

>Doch, die Schaltung arbeitet bidirektional!

Nein, denn de OP will SPI pegelwandlenm, hat aber im Netz einen I2C 
Pegelwandler gefunden.

>https://www.elv.de/elektronikwissen/bidirektionale...
>Und zwei NMOS + 4 Widerstände sind sicher günstiger als ein
>entsprechender IC.

Nö.

>(Zumindest wenn man an Serie denkt)

Denkt keiner, das ist ein einzelnes Hobbyprojekt!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.