Gemäss funktionierendem Schaltplan von Sparkfun verdrahten wir die eZdsp-Karte mit der SD-Karte. Ein Spannungskonverter von 5V auf 3.3V ist nicht nötig, da eZdsp bereits auf 3.3V läuft. Die Verdrahtung sieht wie folgt aus:
Host | MicroSDCard | Pin | SDCard | Pin | eZdsp | edgecon |
– | NC | 1 | ||||
CS | CS | 2 | CS | 1 | SPI0_CS1 | 3 |
MOSI | DI | 3 | DI | 2 | SPI0_DX | 7 |
3.3V | VCC | 4 | VDD | 4 | VCC_3.3V | 39 |
SCK | SCK | 5 | SCK | 5 | SPI0_CLK | 5 |
GND | GND | 6 | VDD | 3;6 | GND | 1;11 |
MISO | DO | 7 | DO | 7 | SPI0_RX | 9 |
– | RSV | 8 |
Referenzen
– http://www.sparkfun.com/datasheets/DevTools/Arduino/microSD_Shield-v13%20Schematic.pdf
– http://elasticsheep.com/wp-content/uploads/2010/01/sd-card-pinout.png
– http://www.sdcard.org/developers/howto/
Die Kommunikation zwischen SD-Karte und DSP funktioniert über die SPI-Schnittstelle. Bevor wir die SDFATLIB nachbauen können, versuchen wir, auf einfachste Weise die kommunikation mit der SD-Karte zu testen. Dies beinhaltet folgende Schritte:
- SD-Karte im SPI-Modus initialisieren
- Einen Befehl an die Karte schicken
- Die Antwort der Karte auslesen und überprüfen
Wir orientieren uns dabei an dem Code für die fat16lib (reduzierte SDFATLIB) und SPIROM:
http://fat16lib.googlecode.com/files/fat16lib20101009.zip
Weiter stehen uns folgende Dokumente mit Spezifikationen zur Verfügung:
http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf