PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UART-Pegelwandler 3V<=>5V



Jaecko
16.11.2010, 18:46
Moin.

An einen AT90CAN128 (mit 5V betrieben) soll ein Gerät per UART angeschlossen werden, das aber 3,3V-Pegel hat.

Meine bisherige Idee war, dass ich als Schaltung einfach die gleiche verwend, die auch bei nem I2C-Bus funktioniert:

http://cihome.kilu.de/foren/uart3v5v.gif

Anders als im Schaltplan sind bei mir BSS138 statt den 170ern drin.

Bei I2C mit 100kHz klappts, am UART (9600) tut sich nix bzw. der AVR empfängt nix. Wenn ich direkt ein anderes 5V-Gerät als Sender hinhäng, klappts. (Oszi zum nachmessen ist leider defekt... Murphy halt...)

Ist die Schaltung dafür überhaupt geeignet? Für I2C funktioniert die ja; und dass die Schaltung noch Bidirektional wäre, dürfte ja kein Problem sein.

mfG

PICture
16.11.2010, 19:51
Hallo Jaecko!

Meinen bisher nur mit PIC's ausprobierten Pegelumsetzer habe ich im Code skizziert. :)

MfG
VCC=5V
+
|
.-.
| |
| |
'-'
|
TX <-----|<-+-------> UART TX


VCC=3,3V
+
|
.-.
| |
| |
'-'
|
RX <--------+->S----> UART RX



->S- = Schottky Diode

(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)

Besserwessi
16.11.2010, 21:50
An sich sollte die Schaltung gehen, auch wenn die Signale nicht bidirektional sind.

Ein Problem könnte eventuell die Leistungsfähigkeit der Treiber auf der 3.3 V Seite sein. Eventuell etwas höhere Widerstände nehmen.


Für die Richtung 5 V -> 3.3 V sollte auch ein Spannungsteiler reichen, aber das ist ohnehin die unkritischere Richtung.

kounst
17.11.2010, 01:33
Die I2C Pegalwandler-Schaltung sollte eigentlcih schon funktioniern.. Aber warum so kompliziert? Was spricht gegen einen Spannungteiler in die eine Richtung und ein Bipolartransistor in die andere?

gruß,
kounst