Forum: Mikrocontroller und Digitale Elektronik SD Karte - Programm


von Richi (Gast)


Lesenswert?

Hallo

ich verzweifle jetzt wirklich noch...

Will Daten auf eine SD-Karte schreiben und es will einfach nicht 
klappen.
Zuerst habe ich es mit Spannungsteilern und Dioden an der SD-Karte 
probiert - ging nicht. Jetzt hab ich mir bei Reichelt nen Pegelwandler 
(74HC4050) und nen anständigen Spannungswandler gekauft, angeschlossen, 
ewig herumprobiert - geht immer noch nicht.
Habs jetzt mit Pull-Up Wiederständen versucht, geht allerdings auch 
nicht.

Jetzt wollte ich wissen, ob mir jemand einen Code geben könnte, der 
wirklich 100%ig funktioniert, damit zumindest ich mal einen 
Softwarefehler ausschließen kann.
Oder weiß irgendjemand, woran es sonst noch liegen könnte?

(Benutze Atmega32 - Fat wird nicht unbedingt benötigt)


Gruß
Richi

von gast2 (Gast)


Lesenswert?

die forumsuche ist dein freund ;)

von holger (Gast)


Lesenswert?

>Oder weiß irgendjemand, woran es sonst noch liegen könnte?

Am Code oder an der Hardware. Könnte auch beides sein.
Was benutzt du denn so?

>Zuerst habe ich es mit Spannungsteilern und Dioden an der SD-Karte
>probiert - ging nicht.

Dann ist sie vieleicht schon kaputt?

von Richi (Gast)


Lesenswert?

@ gast2: Hab jetzt ja schon so vieles probiert und binn nicht weiter 
gekommen.


@ holger:

Ich benutze den Atmega32 (5V) mit Software-SPI. Die 3 Output-Leitungen 
lasse ich über den 74HC4050 laufen, die Output-Leitung Direkt.
Bei der Direkt-Verbindung hatte ich schon Zweifel, habs aber überprüft, 
da dürfte nicht der Fehler liegen. Alle Leitungen sind mit 
PullUp-Wiederständen versehen (10k). Die Spannungsversorgung erfolgt mit 
3,3V aus einem Spannungsregler.

holger schrieb:
> Dann ist sie vieleicht schon kaputt?


mit dem PC kann ich die Karte lesen/schreiben


Zur Software habe ich Ulrich Radigs Quellcode probiert, allerdings 
scheitere ich dort anscheinend immer bei CMD1.
In
http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf
steht aber, dass CMD1 nur für MMCs gültig ist, also habe ich den Code 
ein wenig abgewandelt, dass die Karte über ACMD41 initialisiert wird.

Deshalb wollte ich auch einen Code, der zu 100% funktioniert.

von gast2 (Gast)


Lesenswert?

richi... das glaub ich dir...

was ich damit meine ist such nach sd-karte und schau in den artikel da 
gibts ein source von microchip (mdd) in c dort in sd-spi.c -> 
MDD_SDSPI_MediaInitialize.
das funktioniert. jedoch nur mit normalen sd karten. die sdhc anpassung 
musste ich selbst einbauen... ist aber schon bisschen her... cmd41 ist 
meines wissens nur fuer sdhc karten... die initialisierung und 
adressierung der bloecke ist bei diesen karten ist anders...

ansonsten http://elm-chan.org/docs/mmc/mmc_e.html da steht auch noch 
bisschen was.

sofern du sdhc karten benutzt. vielleicht kann deine karte kein spi 
modus mehr. hab ich div. male gelesen das das teilweise weggelassen 
wird. aber bisher ging jede sdhc karte bei mir mit spi.

um sicher zu gehen nimm mal ne normale 1gb sd karte. die ist auf jeden 
fall nicht sdhc. ob das klappt.

von Richi (Gast)


Lesenswert?

wo genau hast du den code gefunden.
habe ihn ehrlich gesagt in der Suche nicht gefunden.

von Richi (Gast)


Lesenswert?

???

von gast1 (Gast)


Angehängte Dateien:

Lesenswert?

moin,

sorry hab dein post nicht gesehen...

anbei findest du ein paar sourcen von mdd. ich weiss nich ob das alle 
sind aber egal... der spi source mit der initialisierung sollte dabei 
sein..

ich hatte im netz auch ein wesendlich besseren source gefunden... ich 
weiss aber leider nicht mehr wo der ist :/

vielleicht hilft der ja schon... viel glueck ;)

lg ;)

von Uwe (Gast)


Lesenswert?

Hi!
>da dürfte nicht der Fehler liegen. Alle Leitungen sind mit
>PullUp-Wiederständen versehen (10k)
"Do" der SD ist meist sehr hochohmig, 10K sind da viel zu viel.
Versuche mal aktiv von 3,3V_SDO->µC_In. Daran bin ich mal fast 
verzweifelt weil die SD-Flanke so ab 2,5V abgerundet wird.

Viel Erfolg, Uwe

von Richi (Gast)


Lesenswert?

@Uwe

Direktverbindung geht nicht.
Habs jetzt die Widerstände auf 4,7k reduziert, geholfen hats nicht viel.

von Gebhard R. (Firma: Raich Gerätebau & Entwicklung) (geb)


Lesenswert?

hast du mal die Signale an der SD Karte mit einem Oszi gemessen? Ist im 
Regelfall das einzige was einen Aufschluß über solch ein Problem gibt.

Grüße

von Richi (Gast)


Lesenswert?

Hab jetzt das Problem gefunden.
Wahrscheinlich wahren es Fehlende Abblockkondensatoren.
Jetzt gehts auf jeden Fall.

Danke an alle!


Viele Grüße
Richi

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.