Forum: Mikrocontroller und Digitale Elektronik Pegelwandler (ich weiß, schon tausend mal besprochen.)


von Julian W. (julian-w) Benutzerseite


Lesenswert?

Für "Lesefaule" ;)
Suche Pegelwandler, Bidirektional, 5V<->3,3V, max. 8 Mhz Takt, möglichst 
bei reichelt zu bekommen
Anwendung: SD-Card, S65-Display, VS1002

Hallo,
ich wollte nach Weihnachten auch mal Anfangen, etwas mit SD-Carden zu 
spielen. Da ich AVR's benutze, brauche ich ja einen Pegelwandler von 5V 
auf 3,3V, da ich diese Konstruktionen mit Widerstände lieber gleich 
lassen will. Auch will ich später noch ein Siemens S65-Display 
ansteuern, was ebenfalls mit 3,3V läuft. Auch ein VS1002-Chip ist schon 
geplant, womit ich mich dann die nächsten Monate/Jahre beschäftigen 
kann.

Leider gibt es bei mir jedoch schon beim bestellen Probleme, da ich 
trotz endlos langer Forensuche nicht weiß, welchen Pegelwandler ich 
brauch (das erste mal, dass die Forensuche verwirrt hat anstatt zu 
helfen ;) ).
Aber immerhin hab ich schon mal herausgefunden, dass der Pegelwandler 
Bidirektional sein muss.


Nun hab ich etliche Modelle gefunden, doch welche brauch ich nun!?
74HC4050
74LVC4245A
MAX3373
MAX3375
MAX3008
http://www.mikrocontroller.net/attachment/10925/S65_Adapter.pdf
...

Also mich hat das ganze nur mehr verwirrt. Welches Modell reicht denn 
nun für meine Ansprüche (Datentakt denke ich mal wären max. 8 Mhz). Am 
besten wäre, wenn man das Bauteil bei reichelt bestellen könnte.

Ich hoffe, ihr könnt mir (mal wieder) helfen.
Wünsche euch allen auch noch ein Frohes Weihnachtsfest!

MfG
Julian

von Peter R. (gelb)


Lesenswert?

@ Julian W. (julian-w)

> Da ich AVR's benutze, brauche ich ja einen Pegelwandler von 5V auf 3,3V,

Du darfst AVRs auch mit 3,3V betreiben. Bei 8MHz allemal. Spar dir den 
Aufwand mit Pegelwandlern.

Grüße, Peter

von Ralf (Gast)


Lesenswert?

Die Billigvariante wäre die Wandlerschaltung aus der I2C-Spec, mit FETs. 
Wenns nur ein paar Signale sind, ist das auch nicht mehr Aufwand. Ob die 
Schaltung mit 8MHz funktioniert, weiss ich nicht, dürfte in erster Linie 
vom verwendeten FET und der integrierten Diode abhängen. Ist vielleicht 
ne Alternative, falls gar nix zu bekommen ist... :)

Ralf

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Peter Roth schrieb:
> @ Julian W. (julian-w)
>
>> Da ich AVR's benutze, brauche ich ja einen Pegelwandler von 5V auf 3,3V,
>
> Du darfst AVRs auch mit 3,3V betreiben. Bei 8MHz allemal. Spar dir den
> Aufwand mit Pegelwandlern.
>
> Grüße, Peter

Nunja, die Atmega's sollen ja mit 16 Mhz laufen, damit sie 8 Mhz SPI 
Takt schaffen ;)
Somit brauchen die schon ihre 5V

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Gut, ich konkretisiere mal meine Frage:

"Ich bräuchte ein Schaltplan mit Bauteilen (die am besten über reichelt 
zu beziehen sind), der mir die Kommunikation mittels SPI (mit 8Mhz Takt) 
zw. 5V (Master) und 3,3V (Slave) erlaubt."

Ich habe schon stundenlang Forensuche und google ausquetscht und es gibt 
auch etliche Antworten zu dem Thema, aber einfach nich richtig konkretes 
wie z.B. ein Schaltplan.

Meine aktuelle Erkenntnis: Bei SPI braucht man ja nur MOSI, SCLK und 
SS/CS von 5V->3,3V zu konvertieren, und MISO von 3,3V auf 5V (bzw. 
erkennt der Amtega (bei 5V) 3,3V als High an).
Normalerweise geht MOSI, SCLK und SS/CS doch nur vom Master aus und auf 
MISO antwortet der Slave, oder?

Ich hoffe, einer könnte mir mal einen konkrenten Schaltplan posten.

von Michael M. (Gast)


Lesenswert?

Julian W. schrieb:
> Ich hoffe, einer könnte mir mal einen konkrenten Schaltplan posten.
das macht keiner, weils kinderleicht ist...

du hast eh typen genannt - also such dir einen aus, der deine kriterien 
erfüllt, kauf ihn und bau ihn auf.
TADAAA, fertig.

von Billy der Bastler (Gast)


Angehängte Dateien:

Lesenswert?

>Ich hoffe, einer könnte mir mal einen konkrenten Schaltplan posten.

Die Schaltung im Anhang ist aus dem aktuellen Manual von CodeVisionAVR. 
Das komplette Manual ist hier zu finden:
http://www.hpinfotech.ro/cvavrman.zip

von Rene B. (themason) Benutzerseite


Lesenswert?

ich klinke mich mal in diese diskussion ein.

und zwar sehe ich bei dem posting von billy ein kleines problem (welches 
ich ebenfalls habe), und zwar : die miso-leitung ist ungeschützt, und 
wenn der uC z.b. per isp programmiert wird, hat man ausgang (uC) auf 
ausgang (sd-card) und das gibt denke ich ein problem.
ich stehe vor einem ähnlichen problem, nur das ich statt der sd-card 
einen fpga habe (hab mir im moment mit widerständen beholfen, ohne 
pegelwandler, will das aber ändern). ich habe mir gedacht ich nehme 
ebenfalls einen pegelwandler für die miso-leitung (nur eben umgekehrte 
richtung, also eingang -> miso vom fpga und ausgang miso am uC. nur 
besteht da ebenfalls das problem ausgang auf ausgang. da der 
pegelwandler nicht schaltbar ist (74hc4050), was wäre da die beste 
möglichkeit den ausgang zu schützen ?
ich tendiere dazu einen 270R widerstand zu nehmen, um den max 
ausgangsstrom zu begrenzen. aber im endeffekt hab ich dann auch wieder 
einen widerstand der mir die max. spi-geschwindigkeit drosselt.
was würd man da am besten machen ? den avr kann und will ich nicht mit 
8MHz bzw 3.3V betreiben, da der uC genug zu tun hat und ich bestmögliche 
performance will. wäre der widerstand vertretbar (bei max 20mA 
ausgangsstrom des pegelwandlers). eine andere möglichkeit wäre die 
miso-leitung vom pegelwandler zum uC mit einem jumper zu versehen, aber 
das ist umständlich.

von Peter (Gast)


Lesenswert?

Es wird wohl so funktionieren, aber da sind 2 Probleme in diesem 
Schaltungsvorschlag.
1. 3,3V ist gerade so die Grenze dan am AVR Eingang ein High erkannt 
wird.
2. Abhängig vom Hersteller des CD4050 sind nur weitaus geringere 
Taktraten als 8MHz möglich.

von spess53 (Gast)


Lesenswert?

Hi

>1. 3,3V ist gerade so die Grenze dan am AVR Eingang ein High erkannt
>wird.

Bei VCC=5V  VIH= 0,6*VCC, macht 3V.

>2. Abhängig vom Hersteller des CD4050 sind nur weitaus geringere
>Taktraten als 8MHz möglich.

Es geht um einen 74HC4050, nicht um einen CD4050.

MfG Spess

von Peter (Gast)


Lesenswert?

spess53 schrieb:
> Bei VCC=5V  VIH= 0,6*VCC, macht 3V.

Ja, aber die Karte gibt ja auch keine 3,3V aus sondern VCC -0,3, 
abhänging vom Hersteller

> Es geht um einen 74HC4050, nicht um einen CD4050.
verlesen....

von spess53 (Gast)


Lesenswert?

Hi

>Ja, aber die Karte gibt ja auch keine 3,3V aus sondern VCC -0,3,
>abhänging vom Hersteller

Man kann aber eines der restlichen Gatter des 4050 in der SO-Leitung 
benutzen. Der bringt etwa 3,2V. Habe ich jedenfalls so gemacht.

MfG Spess

von Julian W. (julian-w) Benutzerseite


Lesenswert?

spess53 schrieb:
> Man kann aber eines der restlichen Gatter des 4050 in der SO-Leitung
> benutzen. Der bringt etwa 3,2V. Habe ich jedenfalls so gemacht.
>
> MfG Spess

Nunja, der 4050 tut High bei VCC=4,5V erst bei 3,15V erkennen. Bei 
VCC=5V dürften 3,3V gerade so nur funktionieren und 3V wahrscheinlich 
gar nicht.

von spess53 (Gast)


Lesenswert?

Hi

>Nunja, der 4050 tut High bei VCC=4,5V erst bei 3,15V erkennen. Bei
>VCC=5V dürften 3,3V gerade so nur funktionieren und 3V wahrscheinlich
>gar nicht.

Der 4050 wird aber mit 3,3V betrieben. Das besondere an dem Teil ist ja, 
das er Eingangsspannungen>Vcc verträgt. Pegelwandlung 5V->3,3V.

MfG Spess

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Stimmt ja, ganz vergessen....

von (prx) A. K. (prx)


Lesenswert?

Peter schrieb:

> Ja, aber die Karte gibt ja auch keine 3,3V aus sondern VCC -0,3,
> abhänging vom Hersteller

Ein unbelasteter CMOS-Ausgang liefert stets VCC/GND. Differenzen wie 
diese 0,3V entstehen bei Belastung. Resistive Last besteht hier keine 
und wenn das auf der gleichen Karte ist, dann ist auch die kapazitive 
Last gering. Mehr als einige geringfügige Flankenverzögerung wird das 
also nicht bewirken.

von (prx) A. K. (prx)


Lesenswert?

Billy der Bastler schrieb:

> Die Schaltung im Anhang ist aus dem aktuellen Manual von CodeVisionAVR.
> Das komplette Manual ist hier zu finden:

Mit kommt es etwas merkwürdig vor, dass die Pullups R1,R2 an 5V hängen.

von Rene B. (themason) Benutzerseite


Lesenswert?

nochmal eben nachgefragt ... wie sieht es denn mit der so-leitung (egal 
ob über nen levelshifter oder nicht) aus wenn der isp genutzt wird ?
mir ist gerad noch eingefallen das wenn die sd-card direkt per miso 
angeschlossen wird (also ohne levelshifter) die leitung die meiste zeit 
ja hochohmig ist, aber gibt das nicht ebenfalls ein problem wenn da 5V 
anliegen ?!

von (prx) A. K. (prx)


Lesenswert?

spess53 schrieb:

> Der 4050 wird aber mit 3,3V betrieben. Das besondere an dem Teil ist ja,
> das er Eingangsspannungen>Vcc verträgt. Pegelwandlung 5V->3,3V.

Jo, aber mehr als eine Pegelwandlung 3,3V rein 3,3V raus bewirkt das 
auch nicht. Ganz penibel geht das nur mit einem ziemlich beliebigen 
74HCT (5V).

von (prx) A. K. (prx)


Lesenswert?

Rene Böllhoff schrieb:

> nochmal eben nachgefragt ... wie sieht es denn mit der so-leitung (egal
> ob über nen levelshifter oder nicht) aus wenn der isp genutzt wird ?

Ungünstig. MISO ist bei ISP ein Ausgang mit 5V. Wenn's nicht grad ein 
64-Pinner wie der Mega128 ist.

74HCT125 dazwischen, mit Enable an SSEL-Ausgang vom µC, und dort einen 
externen Pullup dran, damit definiert high bei ISP/Reset.

von Rene B. (themason) Benutzerseite


Lesenswert?

@a.k.

Daher auch mein Posting zur Schaltung von Billy. Die Karte dürfte das 
denke ich nicht so toll finden wenn am SO auf einmal 5V anliegen.

von (prx) A. K. (prx)


Lesenswert?

Alternativ kann man natürlich auch mit Bootloader arbeiten und für die 
Erstbefüllung die Karte rausziehen. Ohne Bootloader aber jedesmal bei 
ISP Karte ziehen wäre mir zu riskant.

von Rene B. (themason) Benutzerseite


Lesenswert?

Was würde denn bei dem Pegelwandler in der MISO-Leitug gegen einen 
Widerstand (sagen wir mal 270R um bei einem 74HC4050 den Ausgangsstrom 
auf 20mA zu begrenzen) zwischen Ausgang ds uC's und Ausgang des 
Levelshifters sprechen ?

von (prx) A. K. (prx)


Lesenswert?

Also einen übrigen 3,3V 74HC4050 zwischen SD-SO und MISO/ISP mit 
Serienwiderstand am Ausgang? Das dürfte auch funktionieren.

Aber 270 Ohm sind ein bischen extrem. 470-1K sollen auch funktionieren.

Pass dann aber auf, dass der solcherart über die Schutzdiode des 4050 in 
die 3,3V Versorgung reinfliessende Strom nicht dafür sorgt, dass dort 
plötzlich 4V draufliegen, weil grad niemand den Strom braucht.

Beispielsweise mit Pulldown an SO(SD) und Pullup an SS(µC), damit der 
Ausgang dieses 4050 bei ISP definiert auf 0 liegt.

von Rene B. (themason) Benutzerseite


Lesenswert?

@a.k.

Aber wieso sind 270Ohm extrem ? Der ungünstigste Fall ist doch : 
Levelshifter-SO-Ausgang auf GND und MISO vom AVR auf High. Das würde in 
dem Falle ja heißen das ca 20mA von 5V nach GND fließen. Also AVR wie 
74HC4050 müssten das doch verkraften oder ? Der Grund warum ich da so 
"niederohmig" bin bzw sein möchte ist der das die Datenrate dann höher 
sein kann. Und ich denke bei 470Ohm bis 1K dürften die Flanken dann 
recht verschliffen sein weshalb die max. SPI Geschwindigkeit dadurch 
gedrosselt wird. Oder seh ich da gerad was falsch ?

>Beispielsweise mit Pulldown an SO(SD) und Pullup an SS(µC), damit der
>Ausgang dieses 4050 bei ISP definiert auf 0 liegt.

Das ist klar, dadurch das der SO hochohmig ist/sein kann muß der 4050 ja 
nen definierten Pegel haben.

von (prx) A. K. (prx)


Lesenswert?

Beispielsweise weil du dann weit jenseits des zulässigen Ausgangsstroms 
vom 74HC4050 liegst ;-). Ok, wirklich stören wird das nicht, weil dessen 
Pegel in diesem Fall sowieso keine Sau interessiert und verheizen wird 
ihn das nicht.

von (prx) A. K. (prx)


Lesenswert?

Rene Böllhoff schrieb:

> Das ist klar, dadurch das der SO hochohmig ist/sein kann muß der 4050 ja
> nen definierten Pegel haben.

Und zwar den richtigen, denn bei high fliesst Strom nach VCC3 ab, was 
wie beschrieben etwas ungünstig ist.

von Rene B. (themason) Benutzerseite


Lesenswert?

>Beispielsweise weil du dann weit jenseits des zulässigen Ausgangsstroms
>vom 74HC4050 liegst ;-)

öhm, hab ich da was falsch verstanden ? Laut Datenblatt kann der 
74HC4050 doch 20mA Output Current. Und bei GND am 74HC4050 und High am 
AVR macht das doch 5V / 270Ohm ~ 20mA. Oder hab ich da was total falsch 
verstanden ?!

>Und zwar den richtigen, denn bei high fliesst der Strom nach VCC ab, was
>wie beschrieben etwas ungünstig ist.

Am Eingang des 74HC4050 ?! Oder meinst du den Ausgang ?

Steh gerad irgendwie ein wenig auf dem Schlauch ... :-S

von (prx) A. K. (prx)


Lesenswert?

Rene Böllhoff schrieb:

> öhm, hab ich da was falsch verstanden ? Laut Datenblatt kann der
> 74HC4050 doch 20mA Output Current.

Als Abs Max also Abrauchgrenze ja. Ich hatte eher die 4mA Nennstrom im 
Auge gehabt, aber die sind wie schon erwähnt nur entscheidend, wenn der 
Pegel interessiert. Insoweit geht's schon. Bist halt an der Stressgrenze 
("Functional operation under these condition is not implied").

> Am Eingang des 74HC4050 ?! Oder meinst du den Ausgang ?

Am Ausgang. Wenn MOSI auf 5V liegt, der Ausgang vom mit 3,3V betriebenen 
4050 aber auf 3,3V, wierum wird dann wohl der Strom fliessen und wo 
landet er schlussendlich? Drum wär's besser, wenn dieser Ausgang während 
ISP auf 0V liegt.

von Rene B. (themason) Benutzerseite


Lesenswert?

@A.K.

Ok. Einwand verstanden. Mit den 20mA überleg ich mir nochmal. Es geht 
halt um die max. SPI Geschwindikeit. Und da müsste man vllt einfach mal 
empirisch ermitteln wo da eine vertretbare Grenze liegt. Gegenüber der 
Widerstandslösung kanns nur besser werden. Also denke ich dürften 470R 
auch noch voll im Rahmen sein.

Mit dem Ausgang hab ich auch verstanden. Bei High speist der 5V seitig 
ja in die 3.3V rein. Ungünstig. Also Pull Down. Kapiert.
Danke noch für die Hinweise. Im Endeffekt sollen/werden neben dem FPGA 
noch eine SD-Karte und ein DataFlash betrieben werden. Das DataFlash ist 
(wie ich nach Forumsbeiträgen und geauerem Studium des Datenblattes 
erkannt hab) unkritisch, da 5V tolerante Eingänge. Einzige 
Problemquellen sind daher der FPGA und die SD-Karte. Wenn mans ganz 
genau nimmt könnte ich das Problem auf den FPGA beschränken, denn da 
dieser mit 3.3V arbeitet könnte ich über den Pegelwandler und 
entsprechendem Routing im FPGA FPGA-seitig mehrere 3.3V Devices 
anschließen. Werd ich mir mal überlegen. Hautpsache das der FPGA mal 
vernünftige Pegel bekommt. Mit den Widerständen ging zwar, aber da war 
max. 2.5MHz (20MHz / 8) drin, und bei vielen SPI Operationen läppert 
sich das (wobei ich  SPI-seitignoch ne ganz andere 
"Zeit-Verbratungs-Quelle" hab, aber das ist ne andere Baustelle und da 
gibts auch schon ne Lösung für, muß nur noch gelötet und Programmiert 
werden).

Vielen Dank nochmal.

Hoffe ich konnte mit diesem "Thread-Mißbrauch" auch auf das Problem 
hinweisen das man mit einem Levelshifter und einer SD-Karte haben kann, 
wenn gleichzeitig noch ISP genutzt werden soll.

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.