Forum: Mikrocontroller und Digitale Elektronik 5V atmega mit 3.3V atmega verbinden


von Pegelproblem (Gast)


Lesenswert?

Hallo,

ich habe 2 ATmega, deren UART ( 31,5 kbps ) bidirektional verbunden 
werden soll.
IC1 ist ein ATmega32U4 und wird mit 5V betrieben ( vom USB ).
IC2 ist ein ATmega48 und wird mit 3.3V betrieben ( steuert ein Display 
an, welches leider nur 3.3V verträgt ).
Beide Massen sind miteinander verbunden, also eine galvanische Trennung 
ist nicht notwendig.

Ich habe im Artikel Pegelwandler schon einige nützliche Informationen 
gefunden.
Entweder ich benutze einen Pegelwandler-Baustein ( leider habe ich noch 
nicht den richtigen gefunden ),
oder ich betrachte beide Leitungen einzeln:
IC1 (TX) ----> IC2(RX) braucht unbedingt eine Pegelwandlung, da der 
ATmega nicht 5V kompatibel ist.
IC1 (RX) <---- IC2(TX) sollte gehen, da die 3.3V die Schaltschwelle für 
HIGH (0.2*Vcc nach Datenblatt) überschreiten.

Jetzt stellt sich mir die Frage, wie ich die 5V->3.3V Verbindung am 
besten beschalte.
Der hohe Stromverbrauch eines Spannungsteilers schreckt mich ein wenig 
ab, insgesamt scheint er aber wohl die einfachste Lösung zu sein.

An sich finde ich die Lösung mittels eigenem Pegelwandler-Baustein aber 
immer noch am besten. Hat jemand einen Tipp, welcher für mich passen 
würde ( am besten in SOIC Bauform ... die ganzen im Artikel verlinkten 
gibts soviel ich gesehen habe nur in ganz komischen Gehäusen ) ?

Wie würdet ihr das Problem an meiner Stelle lösen ?

Einen schönen Dank im Voraus.
Gruß,
Michael

von sven (Gast)


Lesenswert?

Spannungsteiler mit zwei Widerstaenden...
Jeweils einen fuer jede Richtung.

von MPL (Gast)


Lesenswert?

Pegelproblem schrieb:
> IC1 (TX) ----> IC2(RX) braucht unbedingt eine Pegelwandlung, da der
> ATmega nicht 5V kompatibel ist.

wer sagt das?

du kannst doch nen atmega48 problemlos mit bis zu 5.5V betreiben...

• Speed Grade:
– ATmega48V/88V/168V: 0 - 6 MHz @ 1.8 - 5.5V, 0 - 12 MHz @ 2.7 - 5.5V
– ATmega48/88/168: 0 - 12 MHz @ 2.7 - 5.5V, 0 - 24 MHz @ 4.5 - 5.5V

von Pegelproblem (Gast)


Lesenswert?

MPL schrieb:
> wer sagt das?

Theoretisch könnte ich ihn an 5V betreiben, jedoch:
Pegelproblem schrieb:
> IC2 ist ein ATmega48 und wird mit 3.3V betrieben ( steuert ein Display
> an, welches leider nur 3.3V verträgt ).

sven schrieb:
> Spannungsteiler mit zwei Widerstaenden...
> Jeweils einen fuer jede Richtung.

In beide Richtungen ? Reicht der nicht nur in der Richtung IC1 -> IC2 ?

von ... (Gast)


Lesenswert?

MPL schrieb:
> du kannst doch nen atmega48 problemlos mit bis zu 5.5V betreiben...

Könnte er, nur dann braucht er die Pegelwandler zu seinem Display.

von sven (Gast)


Lesenswert?

Hast Recht, eine Richtung reicht natuerlich. Evtl. kannst du auch zwei 
Dioden in Reihe schalten, dann hast du 5V-(2*0,7V)=3,6V.

von Simon B. (nomis)


Lesenswert?

Pegelproblem schrieb:
> ich habe 2 ATmega, deren UART ( 31,5 kbps ) bidirektional verbunden
> werden soll.
> IC1 ist ein ATmega32U4 und wird mit 5V betrieben ( vom USB ).

Hast Du noch etwas anderes auf der Platine was unbedingt 5V braucht? Ich 
frage, weil der atmega32u4 einen internen Spannungsregler hat, der aus 
UVCC (+5V) die 3.3V VCC für den Eigenbedarf erzeugen kann und auf den 
I/O-Pins dann auch mit 3.3V Signalpegeln arbeiten kann (Datenblatt, 
Seite 255/256).

Alternativ kannst Du den auch an deine andere 3.3V Spannungsschiene 
dranhängen. Nur weil USB 5V mitführt heißt das nicht, dass man die 
zwangsweise bei dem atmega32u4 auch als IO-Pegel verwenden muss.

Viele Grüße,
        Simon

von Pegelproblem (Gast)


Lesenswert?

Simon Budig schrieb:
> Hast Du noch etwas anderes auf der Platine was unbedingt 5V braucht?

Hmmm, wenn ich recht darüber nachdenke, ist da nichts, was nicht über 
Transistoren an die 5V geschaltet werden könnte ( LEDs ).
Das würde mein Problem in der Tat lösen.

Vielen Dank für diese Idee, ich hatte nicht an folgendes gedacht:

Simon Budig schrieb:
> Nur weil USB 5V mitführt heißt das nicht, dass man die
> zwangsweise bei dem atmega32u4 auch als IO-Pegel verwenden muss.

Gruß,
Michael

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.