Hallo, ich versuche grade einen SD Karte am SDIO Interface zum laufen zu bringen. Ich benutze das STM32F4Discovery Board. Als erstes versuche ich ein CMD0 zu senden aber wenn ich auf eine Antwort warte kommt immer nur ein Timeout. Eig müsste ich doch 0x01 empfangen, um zu wissen, dass die Karte jetzt im Idle Modus ist. Oder? Hat jemand eine Idee dazu? Die Bsp. von ST zur StdLib bringen mich auch nicht weiter. Moritz
Hast du einen passenen Pull-Up Widerstand an SDIO? So 2-3k.
Hallo, ich hab die Pull Ups im Mikrocontroller aktiviert. Reicht das? Hier noch der Code, hab ich vergessen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
Gast
#3099059
Moritz M. schrieb: > Reicht das? Eher knapp. Hast du ein Oszi, um dir die Signale anzusehen?
Hallo, ja; bin schon dabei mir das CMD Signal anzusehen. Moritz
Also das Signal ist schon mal richtig: 01 dann 54 mal 0 und dann 10010101. Aber die SD Karte antwortet gar nicht, obwohl alle Kontakte richtig verbunden sind (Provisorisch mit eine doppelreihigen Stiftleiste, Steckbrett und Papier zum festklemmen). Die SD Karte funktioniert auch einwandfrei, da sie von meinem PC richtig erkannt wird. Es handelt sich um eine OCZ 2GB Karte. Moritz
Hallo, richtig weitergekommen bin ich immer noch nicht. Die Signale liegen alle eindeutig an den Pins der SD Karte an, nur antwortet die Karte gar nicht. Wenn ich danach einfach ein CMD55 sende, dann gibt es ein Response von 288. Weiß jemand was das bedeutet? Eig. hab ich gelesen, dass es auf CMD55 eine Antwort vom Type R1 geben soll, welches 1Byte lang ist. Allgemein versuche ich grade heraus zu finden wie man von dem Short Response von ST auf ein R1 oder sonstwas kommt. Das passt mit den Bits vorne und hinten nicht. Hat jemand dazu eine Idee? Moritz
Hallo, also 288 hab ich jezt endlich heraus gefunden ist richtig. Damit sagt die Karte, dass sie jetzt auf ein ACMD wartet. Wenn ich dann ACMD41 sende bekomme ich als Antwort 16744448 was definitiv falsch ist. Wisst ihr welche Antwort ich auf ein ACMD41 erwarten muss? Manchmal kommt es auch zu CRC oder Timout Exceptions. Moritz
Hallo, schau dir mal die PDF-Datei an! http://www.uni-koblenz.de/~physik/informatik/ECC/sd.pdf Da findest du bestimmt was. Gruß G.G.
Danke. Aber das kenne ich schon. Ich finde da irgendwie keinen Zusammenhang zwischen den Responses von ST (32bit) und dem R1, R1b usw. Im Reference Manual hab ich eine jezt Liste gefunden, was die Status Codes bedeutet, aber dass ist was ganz anderes als die normalen Responses, die man überall findet. Moritz
Die internen Pull-Ups sind zu hochohmig. Nimm 2-3k.
mach ich schon. bringt aber auch nichts. Moritz
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.