Ich habe vor einigen Jahren schon Schaltungen mit einem Einfachen SD-Adapter aufgebaut.
Das ist so ein einfacher Adapter mit 3.3V Regler drauf der über Widerstände die Signalleitungen
auf 3.3V hoch zieht. Das sind diese Dinger von "LC Studio" (www.lcsoft.net).
Dabei habe ich überhaupt nicht daran gedacht (bzw es damals gar nicht gewusst) das der
ganze Kontroller auf der Karte ist und die Datenleitungen eigentlich was gegen 5V haben.
Die Schaltung war "do it yourself" mit Atmega 328p komplett in 5V. Hat sich
beim flashen über einen FTTI - Adapter wie ein Uno verhalten. Die Andere benutzt einen
1284P. Beide Schaltungen sind zwar nicht im Dauereinsatz aber sind doch schon etliche Wochen
gelaufen. Die SD-Karten funktionieren bis heute einwandfrei. Keine Lese/Schreibprobleme.
Mache ich die Karten eigentlich sicher kaputt wenn die Datenleitungen mit 5V betrieben werden ?
Jetzt wollte ich für ein schnelles Projekt mal eben einen Uno benutzen und habe wieder einen
Kartenleser ganz blauäugig angeschlossen (obwohl ich es inzwischen besser weiß).
Das Ergebnis war haarsträubend und bei jeder Karte anders. Die einen wurde gar nicht erkannt.
Andere wurden zwar erkannt aber das Testprogramm (alles Examples der SD-Lib) meinte
es wäre kein Filesystem drauf. Bei einigen Karten wurde das FS erkannt und auch die richtige
Größe aber es wurden keine Dateien angezeigt. Bei wieder anderen wurde alles angezeigt
aber beim Versuch zu schreiben das Filesystem nachhaltig zerstört.
Dann habe ich den selben SD-Leser an meine 1284 Hardware angesteckt und alles funktionierte
mit allen Karten einwandfrei obwohl da auch alles mit 5V läuft. Schon merkwürdig oder ?
Ich nehme mal an der Kartenslot in einem Ethernetshield hat Pegelwandler (zumindest ist
da ein LVC14A drauf, sieht also so aus).
Jetzt habe ich hier ein Posting gefunden wo eine dritte Lösung neben Pegelwandler und Spannungsteiler beschrieben war, allerdings nur für Kartenleser ohne 3.3V Pullup.
Einfach 100 Ohm in Reihe mit den "Schreibleitungen" (also außer MISO) die dann mit
irgendwelchen internen Dioden den Spannungsteiler bilden.
Ich habe dann einfach mal Probiert. 1KOhm in jede der drei Leitungen (MOSI,SCK und CS).
Ging nicht. Dann SCK mal ohne -> läuft reibungslos und dann zur Sicherheit 100 Ohm in
die SCK Leitung. Klappt super trotz der 3.3V 10Kohm Pullups.
Warum eigentlich das andere Verhalten der SCK-Leitung ? (Ist mir schon bei den Spannungsteiler-
Beispielen aufgefallen).
Ulli
p.s.
Erstaunlich fand ich ja auch das der Reader schon funktionierte als ich die Leitungen vor
dem Versuch mit den Widerständen nur über ein Steckbrett geführt hatte auf das ich
später die Widerstände setzen wollte. Allein die Übergangswiderstände haben schon
gereicht !?!?!?