Moin Ich wollte eine SD-Karte mit nem AVR nutzen und dabei ist für mich ne Frage aufgetaucht: Wenn ich mit meinen 5V des AVR ein Signal an die Karte senden will, die ja ca. 3 V erwartet, was kann ich da außer einem Pegelwandler-IC benutzen. Nicht weil ich ums Verrecken keinen Pegelwandler nehmen will, sondern nur aus Interesse: -Kann man einen Spannungsteiler dafür nutzen? -Ich habe ein Mal gelesen, dass man auch den Spannungsabfall an einer Diode (oder mehreren in Reihe) dafür nutzen kann. Wieso wird einem nicht öfter zu der Lösung geraten? -Taugt eine Transistorschaltung, in der der µC einfach einen Transistor einschaltet, der dann die 3 Volt erzeugt? Oder sind Transistoren (npn oder pnp, kein FET) dafür zu langsam? Würde mich über ne kleine Erklärung freuen. Gruß Joschua
Joschua C. schrieb: > -Kann man einen Spannungsteiler dafür nutzen? Würde ich als erstes andenken. > -Ich habe ein Mal gelesen, dass man auch den Spannungsabfall an einer > Diode (oder mehreren in Reihe) dafür nutzen kann. Wieso wird einem nicht > öfter zu der Lösung geraten? So gut ist die Lösung auch wieder nicht. Wie lieferst du bei dieser Variante eine LOW an deine Senke? > -Taugt eine Transistorschaltung, in der der µC einfach einen Transistor > einschaltet, der dann die 3 Volt erzeugt? Oder sind Transistoren (npn > oder pnp, kein FET) dafür zu langsam? Ich verstehe die Frage nicht. Aber wenn du von Geschwindigkeit redest, dann können ev. alle Ansätze außer einem Pegelwandler unbrauchbar sein. Welche Geschwindigkeit willst du denn verwenden?
Danke für die Antwort. Jetzt weiß ich schon mal wie ich das lösen kann (SPannungsteiler) Mit den Dioden meine ich die Schaltung µC -> Diode -> Diode -> Eingang der SD-Karte Ich hab gelesen, dass bei einem High-Pegel, den der µC ausgibt, 0,4 bis 0,8 Volt an einer Diode abfallen. Somit soll man mit mehreren Dioden in Reihe einen so großen Spannungsabfall erzeugen, dass dann nur 3,0 V übrig bleiben. Das Problem mit dem LOW-Pegel habe ich jetzt erst gerafft. Aber ließe sich das nicht mit einem Pulldown-Widerstand am Pin der SD-Karte beheben? http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf Der Vorschlag ist in der PDF auf Seite 6 Ist der Vorschlag sinnig? Zum Transistor: Er soll ja die Datenleitung eines SPI-Interfaces steuern. Der Schiebetakt kann bei meinem ATMega8A maximal die Hälfte von fOsc betragen. Das wären bei mir 2 MHz. Die Frage wäre dann glaube ich also, welche Transistoren sich mit 2 MHz an- und ausschalten lassen.
Joschua C. schrieb: > http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf > > Der Vorschlag ist in der PDF auf Seite 6 > Ist der Vorschlag sinnig? Das mußt du nochmal lesen (etwas sorgfältiger diesmal). Die schlagen dort mitnichten Dioden für die Konvertierung der Logikpegel vor. Hint: eine SD-Karte braucht auch eine Versorgungsspannung. > Er soll ja die Datenleitung eines SPI-Interfaces steuern. Der > Schiebetakt kann bei meinem ATMega8A maximal die Hälfte von fOsc > betragen. Das wären bei mir 2 MHz. Du mußt das serielle Interface ja nicht mit der maximal möglichen Geschwindigkeit betreiben. Aber Spannungsteiler und Seriendioden sind alles alberner Bastelkram. Es gibt kleine 3V Spannungsregler mit denen man die SD-Karte aus 5V versorgen kann. Und für die Pegel hin zur SD-Karte nimmt man einen 74HC4050 o.ä. Von der Karte zum µC braucht man meist gar keinen Pegelkonverter. XL
SD Karten brauchen je nach Modell zeitweise ziemlich viel Strom. Rechne mit maximal 500mA und minimal 0mA. Dioden sind ungeeignet, wie der Spannungsabfall vom Strom abhängt. Die Ausgangsspannugn wäre nicht stabil genug. Weiterhin sollte eine Strombegrenzung vorgesehen werden, damit deine Schaltung nicht ausfällt, wenn eine SD Karte eingesteckt wird. Ein kleiner 3,3V Regler mit etwa 500mA Strombegrenzung ist daher sinnvoll. Jede Transistorschaltung wäre aufwändiger, selbst wenn Du auf die Strombegrenzung vezichtest. Die daten- und Takt Leitungen kannst Du nicht über Spannungsteiler ansteuern. Da fließen (wie je nach Karten-Modell) zu hohe Ströme. Die Karten brauchen saubere digitale signale mit steilen Flanken und "ordentlich" Strom. Wenn Du einen AVR mit 3,3V betreibst, kannst Du die SD Karte direkt anschließen. Versuche nicht, den SPI Bus mit anderen Geräten zu teilen. Das haben schon andere mit mäßigem Erfolg versucht. Lesestoff incl Beispielschaltung und Erfahrungswerte dazu: http://www.mikrocontroller.net/articles/AVR_FAT32 Und hier zeigt ein Händler mit Oszilloskop-Bildern, warum seine Adapter mit Pegelwandler nötig sind und Spannungsteiler nicht taugen: http://www.shop.display3000.com/elektronikmodule/sd-speicherkartenplatine.html
Axel Schwenke schrieb: > Das mußt du nochmal lesen (etwas sorgfältiger diesmal). Die schlagen > dort mitnichten Dioden für die Konvertierung der Logikpegel vor. Hint: > eine SD-Karte braucht auch eine Versorgungsspannung. Sorry @ Stefan Dein zweiter Link ist Gold wert. Hätte nicht gedacht, dass ein Spannungsteiler das Signal so schlimm verzieht. Ich dachte die Eingänge der Karte haben einen so hohen Widerstand, dass ein Spannungsteiler da funktioniert. Die Eingangspins von Controllern haben doch auch einen hohen Widerstand. Kommt der hohe Strom am Eingangspin der Karte dadurch zustande, dass beim Wechsel des Pegels am Dateneingangspin eben auch der Pegel der ganzen Datenleitung gewechselt werden muss und man quasi einen Kondensator mit kleiner Kapazität aber eben auch kleinem Innenwiderstand umladen muss, was ja kurz viel Strom braucht? Bitte pöbeln wenn das unverständlich war. Und wofür benutzt man den klassischen Spannungsteiler dann überhaupt noch in einer ordentlichen nicht hobbymäßig zusammengeschusterten Anwendung? Außer bei der Anpassung von Messsignalen fällt mir da jetzt nichts mehr ein...
Schonmal an einen simplen Serienwiderstand gedacht (paar 100 Ohm)? Das Problem ist doch meistens die ESD-Beschaltung des Zielschaltkreises (in dem Fall SD-Karte) mit Dioden nach VDD und VSS, die leiten wenn die Spannung an den Eingängen zu hoch/niedrig wird. Die eigentliche Eingangsschaltung (meist irgend ein CMOS-Gate) ist erfahrungsgemäß recht tolerant für höhere Spannungen (z.B. für 180nm CMOS-Prozesse mit 1.8V die ich so kenne ist typischer Gate-Durchbruch z.B. bei 7V). Der Serienwiderstand begrenzt den Strom durch die Schutzdioden und ist verglichen mit Spannungsteiler auch schneller. Und wenn man es ganz schnell braucht, dann platziert man den Serienwiderstand nah an den Treiber und wählt den Wert in Höhe der Impedanz der nachfolgenden Leitung.
Joschua C. schrieb: > Hätte nicht gedacht, dass ein Spannungsteiler das Signal so schlimm > verzieht. Kein Wunder, bei den Widerstandswerten im Spannungsteiler ;-)
Danke. Ich setze dann wohl mal auf die Lösung mit dem Serienwiderstand und verbanne den Spannungsteiler aus dem Kopf, bis ich das nächste Mal ein Poti benutzen will oder eine 9V Spanung mit 5V µC messen will...
Joschua C. schrieb: > Dein zweiter Link ist Gold wert. Hätte nicht gedacht, dass ein > Spannungsteiler das Signal so schlimm verzieht. Tut er auch nicht, schließlich muss der auch seinen Adapter verkaufen. Der AVR ist meist nicht so schnell wie ein PC-Interface. Bis ein oder auch wenige Mbit/s geht das mit einem Widerstandsteiler selbstverständlich und ist keine Bastellösung, nur darf er nicht im zig-Kiloohmbereich dimensioniert sein. Ein AVR kann ohne weiteres 500Ω treiben und diese 500Ω so aufzuteilen, dass noch 3.3V übrig bleiben, ergibt niemals so ein Bild wie in dem Link angeführt (bei 2,5MHz, wenn ich das Bild richtig interpretiere). Auch mit Transitorschaltungen kann man Pegelwandler bis einige wenige MBit/s problemlos erzeugen - wenn man es richtig macht. Ich habe das vor Jahren mal so gemacht für eine JTAG-Kette (3.3V auf 1.8V und zurück). Knapp 10MBit/s wurden erreicht.
Und was würdet ihr mir jetzt als Alternative zum Pegelwandler empfehlen? Serienwiderstand, Spannungsteiler oder Transistorschaltung?
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.