Difference between revisions of "SD CARD (Deutsch)"

From Ethersex_Wiki
Jump to: navigation, search
(Anschluss)
(Konfiguration)
Line 26: Line 26:
  
 
== Konfiguration ==
 
== Konfiguration ==
 +
 +
  ifdef(`conf_SD_READER', `
 +
    /* port the sd-reader CS is attached to */
 +
    pin(SPI_CS_SD_READER, PB2, OUTPUT)
 +
    /* uncomment and edit this if you have connected the CD (card detect) signal */
 +
    pin(SD_READER_AVAILABLE, PD4, INPUT)
 +
    /* uncomment and edit this if you have connected the WP (write protected) signal */
 +
    pin(SD_READER_WR_PROTECT, PD5, INPUT)
 +
  ')
  
 
== [[ECMD_(Deutsch)|ECMD]] ==
 
== [[ECMD_(Deutsch)|ECMD]] ==
  
 
== [[Control6_(Deutsch)|Control6]] ==
 
== [[Control6_(Deutsch)|Control6]] ==

Revision as of 12:24, 4 June 2013

SD/MMC-Card Reader
Status
Stable
menuconfig I/O->SD/MMC-Card Reader
Pinning yes
Ecmd yes
Control6 yes
Depends on ECMD
Code https://github.com/ethersex/ethersex/tree/master/hardware/storage/sd_reader

Das Modul basiert auf Roland Riegels MMC/SD/SDHC card library ergänzt um die Anbindung an das Ethersex Virtual File System.

Anschluss

MMC- und SD-Speicherkarten lassen sich im SPI-Modus relativ einfach mit einem Mikrocontroller ansteuern. Prinzipiell gibt es zwischen SD-Card und MMC nicht viele Unterschiede, allerdings sind SD-Karten weiter verbreitet, in der Regel schneller als MMCs, und haben ein besser implementiertes SPI-Interface. Es existieren diverse Varianten (miniSD, microSD), die zur normalen SD-Card weitgehend kompatibel sind.

Die Karte liest das anliegende Datenbit mit der steigenden Taktflanke ein, als SPI-Modi eignen sich somit Mode 0 und Mode 3. Bei MMCs ist der SPI-Modus nicht genau spezifiziert, somit kommt es durchaus mal vor, dass der SPI-Modus je nach Karte unterschiedlich gewählt werden muss.

SD-Karten werden typischerweise mit 3,3V und Microcontroller oft mit 5 V betrieben. Das erzwingt eine Pegelanpassung, weil die Eingangsleitungen zur SD-Karte nicht 5V tolerant sind. Von einer Pegelanpassung mit Widerständen wird abgeraten.

Neben den Leitungen, die zur SD-Karte führen, gibt es noch zwei weitere Leitungen, die auf den SD-Karten-Sockel führen: nämlich die card-detect Leitung und die write-protect Leitung. Sie dienen dazu, wie die Namen schon sagen, das physische Vorhandensein einer Karte im SD-Sockel und die Stellung des Schreibschutzschiebers zu signalisieren.

Konfiguration

 ifdef(`conf_SD_READER', `
   /* port the sd-reader CS is attached to */
   pin(SPI_CS_SD_READER, PB2, OUTPUT)
   /* uncomment and edit this if you have connected the CD (card detect) signal */
   pin(SD_READER_AVAILABLE, PD4, INPUT)
   /* uncomment and edit this if you have connected the WP (write protected) signal */
   pin(SD_READER_WR_PROTECT, PD5, INPUT)
 ')

ECMD

Control6