Forum: Mikrocontroller und Digitale Elektronik SD Karte --> Daten lesen


von Schmidi (Gast)


Lesenswert?

Guten Tag

Ich arbeite momentan mit SD Karten und versuche von diesen zu lesen. 
Leider klappt dies nicht. Die Initialisierung der Karten klappt 
erfolgreich, das Lesen (CMD17) hingegen nicht. Die SD Karte sendet mir 
zwar beim CMD 17 das Data Token 0xFE anschliessend folgen aber keine 
Daten, sondern nur 0en, obwohl an Adresse 0x00 laut PC Daten vorhanden 
sind. Angesteuert wird das ganze mit einem Pic 18F4520.

Weiss jemand, warum die Karte mir keine Daten sendet?

Gruss

Schmidi

von Lehrmann M. (ubimbo)


Lesenswert?

Servus,

deine Infos reichen wohl kaum um eine Diagnose zu stellen. Ist so à la: 
"Mein Motor vom Audi ist kaputt was soll ich machen ?"

1) Schaltplan
2) Source + welcher Compiler? CC5/MicrochipC/Assembler/Mikroe ?
3) andere SD-Karte ausprobiert?
4) Config-Word(s)

von Schmidi (Gast)


Lesenswert?

Hallo

Nun hier sind noch die gewünschten Daten.

Der Schaltplan ist hier zu finden:
http://lukileu.bpla ced.net/SD/Schema.pdf

Der Sourcecode ist hier zu finden (CCS C Compiler):
http://lukileu.bpla ced.net/SD/sd.h

Diverese SD Karten wurden schon ausprobiert (128 MB, 256 MB, 512 MB 
1GB). Es tritt bei allen derselbe Fehler aus.

Ich hoffe ihr könnt mir helfen.

von Schmidi (Gast)


Lesenswert?

So ich habe e nun geschafft, dass mir die SD-Karte etwas liefert. Aller 
dings stimmt dies nicht mit dem überrein, was der PC aussagt:

PC:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00   EB 00 90 20 20 20 20 20  20 20 20 00 02 20 01 00   ë 
10   02 00 02 00 00 F8 3D 00  20 00 10 00 65 00 00 00        ø=     e
20   9B 89 07 00 80 00 29 0C  C3 C9 68 4E 4F 20 4E 41   ›‰  € ) ÃÉhNO NA
30   4D 45 20 20 20 20 46 41  54 31 36 20 20 20 00 00   ME    FAT16
40   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
50   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
60   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
70   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
80   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
90   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
A0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
B0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
00   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
10   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
20   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
30   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
40   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
50   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
60   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
70   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
80   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
90   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
A0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
B0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 AA                 Uª


PIC:
 Address  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F      ASCII

    00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    10    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    20    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    30    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    40    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    50    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    60    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    70    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    80    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    90    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    A0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    B0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    C0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    D0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    E0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    F0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    10    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    20    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    30    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    40    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    50    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    60    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    70    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    80    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    90    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    A0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    B0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 ........ 
........
    C0    06 00 06 0F E0 C4 65 00 00 00 9B 89 07 00 00 00 ......e. 
........
    D0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    E0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ 
........
    F0    00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ........ 
......U.

Dies sind die Daten, für die ersten 512 Bytes. Hat jemand eine Ahnung, 
warum die SD-Karte ertwas anderes ausgibt? Die zwei letzten Bytes 
stimmen ja wieder (55 AA).

Gruss

Schmidi

von Sascha W. (sascha_w)


Lesenswert?

Hallo,

dein AVR liest dir den pysikalischen Block 0 der Karte aus, der PC den 
Block 0 der des Volume Boot Record. Dessen Blocknummer steht im Block 0 
ab Byte 0x01C6.

Sascha

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.