Moin !
Ich mache hier mal einen neuen Thread auf, weil mein alter Thread (
Beitrag "SD Karte Initialisieren -> Error" ) schon gelöste
Probleme enthält (danke dir Mark an dieser Stelle :) ) und etwas
unübersicht ist.
Ich wollte euch Fragen wie das Timing auszusehen hat zwischen einzelnen
Commands.
Ich habe gestern die Karte zum laufen bekommen und möchte nun gerne
wissen ob das zufällig funktioniert, oder funktioniert weil es
funktioniert :D.
Um folgendes geht es:
Mit diesen Ablauf initialisiert sich die SD V2.0 2GB Karte :
1 | ~ CS -> LOW
|
2 |
|
3 | ~ send_cmd_0
|
4 |
|
5 | { ~ spi_send_cmd
|
6 |
|
7 | ~ spi_send_argument
|
8 |
|
9 | ~ spi_send_crc
|
10 |
|
11 | ~ spi_read_byte
|
12 |
|
13 | { ~ 0xFF send -> response?
|
14 |
|
15 | ~ solange bis response != 0xFF
|
16 | }
|
17 | ~ >>>>> spi_send_0xFF <<<<< (darum geht es)
|
18 |
|
19 | ~ CS -> HIGH
|
20 | }
|
21 | ~ send_cmd8
|
22 |
|
23 | ... gleicher Ablauf usw.
|
nehme ich "spi_send_0xFF heraus, funktioniert es nicht.
Die karte "möchte" also zwischen jedem command 1x 8 Clocks haben.
Ist das normal, oder hier Zufall?
Einige schicken nach dem CS -> HIGH nochmal 1x 8 Clocks.
Ist es prinzipiell egal wo ?
Gruss !