MMC-SD

 

Achtung dieses Projekt ist einige Jahre alt, ich möchte es nicht löschen aus sentimentalen Gründen. Eine Anbindung der MMC / SD Karte würde ich so nicht mehr realisieren.

Auch die Software zeigten meine ersten schritte in der Programmiersprache C. Heute würde dieses Projekt meinen Ansprüchen so nicht mehr genügen.   

Für manche Projekte benötigt man mehrere Mega-Byte Speicher. Z.B. für einen MP3Player oder auch für die Datenerfassung. Da stellt sich die Frage: Was nehmen bei der unüberschaubaren Anzahl sich auf dem Markt befindlichen Speicherkarten? Mein Favorit ist eindeutig die MMC/SD-Karte. Dafür sprechen mehrere Gründe:

1. Die MMC/SD-Karte ist eine der kleinsten Speicherkarten.

2. Sie benötigt nur 4 I/O-Pins am Mikrocontroller und kommt ohne weitere Logik aus.

3. Der Anschluß gestaltet sich einfacher als bei so mancher anderen Karte (CF-Karte)

 

Schaltplan zum Anbinden der MMC/SD Karte an dem AVR µC

 

 

Die MMC/SD-Karte hat einen Spannungsbereich von 2,9 - 3,6V. Die Spannungsversorgung der MMC/SD-Karte wird mit Hilfe von 2 Dioden (je 0,7V Diffusionsspannung) gewonnen. (Natürlich solte für die Spannungsversorgung der MMC/SD-Karte etwa ein Spannungsregler von 3,3V eingesetzt werden.) Diese Schaltung ist nur ein Minimal-Beispiel, welches für meine Testzwecke aber ausreichte!

Der Treiber kann die MMC/SD-Karte in einen Software- und Hardware-SPI-Mode betreiben. Die MMC/SD-Karte kann an einen beliebigen Port angeschlossen werden (Software-SPI) oder am SPI-Bus (Hardware-SPI). Des weiteren beinhaltet nun der Source Code die Unterstützung von FAT16 (Read Only). Bisher wird das Lesen von Files und Anzeigen der Directorys unterstützt.

Achtung - Pinbelegung ist anders als im dargestellten Beispiel!

Probleme mit meinen FAT-System gibt es nur, wenn die MMC-Karte nicht partitioniert wurde. Die MMC/SD Karte muss mit dem Filesystem FAT16 formatiert sein nicht mit FAT32!

Der Sourcecode enthält die MMC-Library und die Library zur Unterstützung von FAT16 (LESEN). Getestet wurde der Sourcecode mit Mega32/103/128, und 128MB SD-Karten von Lexar, Hama und Hitachi.

Hard & Soft SPI AVR-MMC/SD-Card SourceCode WinAVR C v3.0 (04.11.2008)

 

Und hier noch die Dokumentation der MMC-Library.

Dokumentation mmc.c (12.06.2004)

 

Für die Aufnahme der MMC/SD-Karte diente ein alter ISA-Slot, wie es im Bild zu sehen ist.

 

MMC/SD - Description von HITACHI

 

MMC/SD Bus Timming

 

Anschlußbelegung der MMC/SD-Karte am SPI-Bus

PIN

MMC

SD

1

Chip Select(CS)

Chip Select(CS)

2

CMD/DI

CMD/DI

3

GND

GND

4

VCC

VCC

5

CLK/SCLK

CLK/SCLK

6

GND

GND

7

DAT/DO

DAT/DO

8

NA

NC

9

NA

NC