Wichtige Infos für Nutzer von Windows 7: Während der Übertragung von Daten an eine SD-Karte können die auf die Karte geschriebenen Daten unter Windows 7 beschädigt werden. Dadurch werden die auf der SD-Karte gespeicherten Inhalte unbrauchbar - schlimmstenfalls soll die SD-Karte nicht mehr erkannt werden. Microsoft hat deshalb ein Update für Windows 7 veröffentlicht, das dieses Problem mit SD-Karten beheben soll. Das Update wird hier beim Microsoft Downloadcenter angeboten. |
Diese kleine Zusatzplatine mit SD-Kartenhalter und Elektronik erlaubt die Nutzung einer vorhandenen SD-Karte an Ihrem Mikrocontroller. Die aufwändige Elektronik sorgt dafür, dass die Signale von und zur Karte optimal aufbereitet werden (mehr hierzu weiter unten). Eingesetzt wird dafür ein bidirektionaler Pegelwandler, der 5 Volt Signale vom Mikrocontroller in 3 Volt Signale für die SD Karte umwandelt und die 3 Volt Signale der Karte wieder auf 5 Volt hochtransformiert.
Vorteile bei der Nutzung einer SD-Karte:
- Sehr günstige Speichererweiterung (eine alte SD Karte hat fast jeder herumliegen, ansonsten gibt es überall 1 GByte Karten für unter 10 Euro zu kaufen)
- Grafikdaten (Photos etc. belegen nicht mehr den kostbaren Programmspeicher im Mikrocontroller, sondern werden auf die SD Karte ausgelagert)
- Riese Mengen an Protokolldaten können vom Mikrocontroller auf die SD Karte geschrieben werden und später am PC z.B. mit einer Tabellenkalkulation wieder eingelesen und ausgewertet werden
Ansteuersoftware ist verfügbar:
- bei Bascom Basic befindet sich Software (AVR DOS) bereits im Lieferumfang - wir liefern zudem ein Beispiel zum Auslesen und Darstellen von Grafikdaten mit
- beim C-Compiler WinAVR gibt es diverse Open Source Software.
Bislang hat noch keine gestestete SD Karte versagt und noch kein einziger User hat jemals ein Problem reported.
Oben: Adapterplatine - perforierter Befestigungsstreifen (unterhalb der Karte) ist abgetrennt
Technische Daten:
System-Spannungsversorgung Vcc: von 3,0 Volt bis 5,5 Volt möglich
Spannung Mikrocontrollersignale: 3 Volt bis 5,5 Volt erlaubt
Stromverbrauch (ohne SD Karte): 150µA im Betrieb; 0,03µA im 3-State-Modus. Der Stromverbrauch der SD Karte ist kartenabhängig.
Signalwandlung vom Mikrocontroller (z.B. 5V) auf 3V in Richtung SD Karte (DI, Clock, CS )
Signalwandlung DO von 3V (SD-Karte) zum Mikrocontroller (z.B. 5V)
Maximale Datengeschwindigkeit: 8 Mbps sind mindestens möglich
Leitungen für das Erkennen einer eingesteckten SD Karte sowie das Erkennen des Writeprotect-Schalters sind ebenfalls herausgeführt und können bei Bedarf vom Mikrocontroller abgefragt werden
4 x Tristate-Leitungen (d.h. alle Ausgänge sind abkoppelbar)
Maße: 56x 32 mm; 6mm hoch (durch Abtrennen des vorperforierten Befestigungsstreifens unterhalb ist das Gesamtmaß auf 44 x 32 mm verkleinerbar).
Lieferumfang:
Komplett gelötetes Modul (Sie löten lediglich noch die Anschlusskabel zu Ihrem Mikrocontrollermodul an)
Optional: 2x6er Buchsenleiste, wenn das Modul irgendwo aufgesteckt werden soll. Leider sind 2x6er Buchsen nur schwer erhältlich und teuer.
Optional: Preisreduktion wenn das Modul ohne 3V Spannungsregler benötigt wird (3V müssen dann von extern zugeführt werden)
Manual zur Nutzung, Tipps und Softwarebeispiele per E-Mail
Im Lieferumfang befindet sich keine SD-Karte
Tristate
Die Ausführung mit Tristate Eingängen/Ausgängen erlaubt es, über einen weiteren Port des Mikrocontrollers dass gesamte SD-Kartenmodul vom System abzuklemmen. Ansonsten bliebe nämlich u.U. die Datenleitung der SD-Karte nach einer Nutzung auf "High" und blockiert somit sämtliche anderen Systeme am SPI-Bus. Sie sehen, wir haben an alles gedacht.
Warum gibt es diese Karte:
- Eine SD Karte kann nicht mit 5 Volt betrieben werden. Sie benötigt 3 Volt Signale und eine Spannungsversorgung von 3 Volt
- Der direkte Anschluss einer SD Karte an einen 5V Mikrocontroller ist also nicht möglich
- Tristate Ausgänge sind die perfekte Möglichkeit, mehrere Geräte an einem SPI Bus zu betreiben. Ohne Tristate-Ausgänge beeinflussen sich die Geräte gegenseitig mit dem Ergebnis, dass meist alles ausfällt.
- Die Pegelwandlung mittels Widerstandsnetzwerken oder Transistoren führt häufig zu Problemen (siehe die Abbildungen unten) - eine professionelle Lösung kann nur mit einem bidirektionalen Pegelwandler für hochfrequente Signale aufgebaut werden.
Häufige Fragen:
Warum muss der Pegelwandler bidirektional sein? Reicht nicht die Wandlung in nur eine Richtung (5V -> 3V), denn umgekehrt erkennt der Mikrocontroller doch die 3 Volt Signale der SD-Karte als High?
Antwort: Das ist zwar einerseits richtig - aber: Die genutzte SPI Schnittstelle ist ein Bus-System, d.h. die Leitungen Miso, Mosi, Clock werden auch von anderen Geräten mit SPI-Schnittstelle genutzt (u.U. ISP-Programmieradapter, Display, Touch Screens etc.). Wenn nun zwischen einem 5V Mikrocontroller und diesen Geräten ein Datenverkehr stattfindet, dann haben Sie auf der Miso-Leitung auf jeden Fall einen 5 Volt Pegel. Da die Data-Out-Leitung der SD Karte dann aber direkt mit dem Miso-Leitung (SPI Schnittstelle) des Mikrocontrollers verbunden wäre, würden also diese 5 Volt an der SD Karten anliegen und diese zerstören. Daher nutzen wir einen bidirektionalen Pegelwandler, der die Spannung zwischen einem 3 Volt und einem 5 Volt Gerät in die gewünschte Spannung umsetzt.
Warum brauche ich überhaupt einen Pegelwandler, im Internet gibt es auch Schaltungen mit Transistoren oder Widerständen?
Anwort: Das ist Bastelei. Wie Sie an den vielen Fragen in diversen Foren auch erkennen können, funktioniert dies eben häufig nicht oder die SD Karte wird zerstört.
Wir haben einmal die beiden gängigen Alternativen Widerstandsnetzwerk und Transistoren aufgebaut und nur Probleme beim Arbeiten mit der SD-Karte gehabt.
(Nachtrag: Mittlerweile haben einige User sich gemeldet: Karten, die vormals bei Pegelwandlern mit Widerständen, bzw. Transistoren nicht arbeiteten, funktionieren nun mit dem Modul einwandfrei.)
Der Anschluss an das Oszilloskop zeigt dann auch den Grund:
Beispiel 1 - Widerstandsnetzwerk
Beispiel 2 - Pegelwandler mit Transistoren