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
@ 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
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
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
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.
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.
>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
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.
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.
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
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....
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
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.
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
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.
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.
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 ?!
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).
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.
@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.
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.
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 ?
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.
@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.
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.
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.
>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
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.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.