Forum: Mikrocontroller und Digitale Elektronik SD Karte und SPI


von Klaus (Gast)


Lesenswert?

Hallo und einen guten Tag zusammen,

ich möchte eine SD Karte (512MB) mit Hilfe der SPI Schnittstelle 
auslesen und beschreiben. Bei der Konfiguration sind mir jedoch noch ein 
paar Fragen aufgetaucht.

1) Wie soll die SPI getaktet werden ?
Ich habe MCK und MCK/2 zur auswahl ? MCK = 60MHz

2) Wie groß soll dei Baudrate sein, wenn ich 8bit per Transfer übertrage 
?

3) Ich habe ein Transmit Data Register uund ein Receice data Register. 
Woher weiß ich woher ich lese, bzw. wohin ich schreibe ? Bei einem RAM 
Speicher müsste ich doch die Adresse angeben ?

Vielen Dank für die Hilfe


Mfg Klaus

von Dennis (Gast)


Lesenswert?

Klaus, hol dir doch einfach d. Datenblatt der entspr. SD-Speicherkarte. 
Da steht ales drin.

von Klaus (Gast)


Lesenswert?

Hallo Dennis,
leider kann ich auf der Herstellerseite kein Datenblatt finden !

Die einzige Info die ich dort entnehmen kann ist die Übetragungsrate von 
22,5MB/s ...

Help !#
THX

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Angehängte Dateien:

Lesenswert?

Gucke da. Bei der Init darf die Karte nicht schneller als mit 400kHz 
getaktet werden, danach mit maximal 25Mhz.

von Klaus (Gast)


Lesenswert?

mhh...ja ok das Datenblatt habe ich mittlerweile auch gefunden. ABER !
Was sollen diese SD and SPI Command List ! Da steht immer CMD0....53? 
Aber was verbirgt sich dahinter ? Das muss ja eine Hex anweisung sein, 
wie ich sie von Flashbausteinen her kenne ... Das ist jedoch dort 
nirgends erklärt...kann mich da mal jemand aufklären ?

danke

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

CMD0 heißt: 0, CMD53 heißt: 53, und zwar dezimal. Du sendest also 
0,...,...,...,...,(CRC) oder 53,...,...,...,...,(CRC) an die Karte, 
wobei die Punkte die notwendigen Argumente darstellen, CRC bei CMD0 muß 
sein, bei anderen CMDs ist es abschaltbar.

von Klaus (Gast)


Lesenswert?

aha..okm das ist ja schon mal ein Anfang ! Danke

Woher weiß ich denn jetzt nun wie die Argumente aussehen müssen ???
Vielen Dank

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Das steht in der Kommandotabelle drin und im nachfolgenden Text. Im 
Allgemeinen ist dort die Sektoradresse hinterlegt, bei normalen 
SD-Karten als Bytes, bei SDHC als Sektornummer (Vielfache von 512Bytes).

von Gast (Gast)


Lesenswert?

Die Suche hier im Forum bringt auch einiges.

von Jean P. (fubu1000)


Lesenswert?

Warum selber suchen wenn man alles vorgekaut kriegt^^.

von Klaus (Gast)


Lesenswert?

ja...mhhh also im Text kann ich die Kommandotabelle nirgends finden ! 
Also in dem pdf...
Auch sonst kann ich hier im Forum diese Kommandotabelle nicht finden !
Oder ich bin zu blind ?
Vielen Dank für alle die helfen möchten oder nur ihre Zeit verschwenden 
für sinnlose Kommentare...

THX

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Lies ab Seite 102 und putze Dir bitte die Brille ;-) StuffBits sind 
übrigens Takte mit belanglosen Daten, die lediglich dazu dienen, die 
Kommandos in die Karte zu schieben. Zweckmäßigerweise sendet man eine 
entsprechende Anzahl Bytes mit Inhalt 0x00 oder 0xFF.

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.