Difference between revisions of "MMC/SD"

From ArmadeusWiki
Jump to: navigation, search
(uSD/Transflash:)
(On an APF9328DevLight 2.0 or an APF27Dev board, there is already a microSD connector)
 
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
How-To connect an MMC/SD adapter to the APF9328 (through DevLight board)
+
Hardware details on How-To use MMC/SD/microSD cards on APF boards. For APF9328 DevLight you will learn how to connect an MMC/SD adapter/connector.
  
For instructions on how to use MMC/SD on Linux, see [[MultiMediaCard]] page.
+
'''SDCard, MiniSD, and Transflash/MicroSD are all the same devices but in different package shapes and are all pin compatible.''' <br>
 +
On Armadeus boards, MMC are controlled in 1 bit MMC mode and SD/MiniSD/MicroSD in 4 bits SD mode.
 +
We don't use MMC/SD in slow & error prone SPI mode.
  
== Adapter board ==
+
{{Note|For instructions on how to use MMC/SD on Linux, see the [[MultiMediaCard]] page. (Here you will only find hardware details)}}
We have designed a small adapter board with an MMC/SD connector on it.
+
You need to connect the signals listed in the table below to the APF9328DevLight board one.
+
The WP and CD_SW signals are optional and must be connected to free IOs if used.
+
  
Top view:
+
== Adapter board (for APF9328DevLight 1.0 or your custom board) ==
{|border=1 summary="Signal corresponding."
+
We have designed a small adapter board with a push-pull MMC/SD connector on it.
|----------------
+
You need to connect the signals listed in the table below to the corresponding one on your DevLight board.
|'''Adapter Pin''' || '''Desc''' || '''Adapter Pin''' || '''Desc'''
+
The WP and CD_SW signals are optional and must be connected to free i.MXL GPIOs, if used.
 +
 
 +
[[Image:MMC_Adapt.jpg|thumb|center|Top view, connector on the left]]
 +
 
 +
Signals name (Top view with MMC connector on the right):[[Image:MMC_Adapt_pinout.jpg|thumb|Left|]]
 +
{| border="1" cellpadding="5" cellspacing="0" summary="Signal connections"
 +
|- style="background:#efefef;"
 +
!'''Adapter Pin''' || '''Desc''' || '''Adapter Pin''' || '''Desc'''
 
|----------------
 
|----------------
|1 || +3.3V || 2 || SD_DAT2
+
|1 (square) || +3.3V || 2 || SD_DAT2
 
|----------------
 
|----------------
 
|3 || SD_CMD || 4 || SD_DAT3
 
|3 || SD_CMD || 4 || SD_DAT3
Line 19: Line 25:
 
|5 || SD_CLK || 6 || SD_DAT0
 
|5 || SD_CLK || 6 || SD_DAT0
 
|----------------
 
|----------------
|7 || WP || 8 || SD_DAT1
+
|7 || WP (option) || 8 || SD_DAT1
 
|----------------
 
|----------------
|9 || CD_SW || 10 || GND
+
|9 || CD_SW (option) || 10 || GND
 
|----------------
 
|----------------
 
|}
 
|}
  
 
Remarks:  
 
Remarks:  
* Pin 1 (rectangular pad)
+
* Pin 1 (rectangular/square pad)
 
* WP: write protect
 
* WP: write protect
 
* CD_SW: Card Detect switch
 
* CD_SW: Card Detect switch
 +
 +
'''If you don't want to buy such an adapter or don't have a MMC slot (and are a hacker ;-) ), you can still try this link:'''
 +
* http://www.hackaday.com/2006/09/12/floppy-connector-mmc-card-slot/
 +
 +
== On an APF9328DevFull board, there is already a MMC/SD connector ==
 +
So nothing special to do.
 +
 +
== On APF9328DevLight 2.0, APF27Dev, APF51Dev & APF28Dev boards, there is already a microSD connector ==
 +
So nothing special to do.
  
 
== Supported Cards ==
 
== Supported Cards ==
Here is a list of the current cards which were tested:<br>
+
Here is a list of the current cards which were tested. Speeds are rounded to the nearest multiple of 5:<br>
 
===MMC===
 
===MMC===
* Hama 256MB -> OK
+
{| border="1" cellpadding="5" cellspacing="0" summary="MMC"
 +
|- style="background:#efefef;"
 +
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 +
|----------------
 +
|'''Hama 256 Mbytes''' || style="background:#00ff00;" |working || 895 / 455  ||  Ext2
 +
|----------------
 +
|}
  
 
===MMC+===
 
===MMC+===
* Kingston 256MB -> OK
 
  
===SD:===
+
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
* Kingston 512MB -> need more perf tests but seems to work
+
|- style="background:#efefef;"
* Kingston 256MB -> OK
+
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
* Dane-Elec 2GB -> doesn't work : Card recognized but partition table not found.
+
|----------------
* Transcend 2GB (x150) -> OK
+
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||
 +
|----------------
 +
|}
  
===miniSD:===
+
===SD===
* Dane-Elec 1GB -> doesn't work : Card recognized but partition table not found.
+
  
===uSD/Transflash:===
+
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
* Sandisk 512MB -> OK in 1bit mode. recognized but data tranfer is failing when accessing partition table (bad CRC) in 4bits mode
+
|- style="background:#efefef;"
 +
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 +
|----------------
 +
|'''Kingston 512 Mbytes''' || style="background:#00ff00;" |working ||  3275 / 155  || Ext2
 +
|----------------
 +
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||
 +
|----------------
 +
|'''Dane-Elec 2 Gbytes''' || style="background:#ff0000;" |KO || NA  || OK in 1bit mode. doesn't work : Card recognized but partition table not found in 4bits mode
 +
|----------------
 +
|'''Transcend 2 Gbytes (x150)''' || style="background:#00ff00;" |working || NA  ||
 +
|----------------
 +
|'''Sandisk 512 Mbytes''' || style="background:#00ff00;" |working || NA  || formating failure may happen sometimes. Workaround: retry
 +
|----------------
 +
|'''Panasonic 16 Mbytes''' || style="background:#00ff00;" |working || NA  || Ext2
 +
|----------------
 +
|}
  
<br>
+
===MiniSD===
 +
{| border="1" cellpadding="5" cellspacing="0" summary="MiniSDs"
 +
|- style="background:#efefef;"
 +
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 +
|----------------
 +
|'''Corsair 1Gbytes''' || style="background:#00ff00;" |working || 3330 / 365  ||  VFAT
 +
|----------------
 +
|'''Sandisk 1Gbytes''' || style="background:#00ff00;" |working || 3300 / 295  || Ext2
 +
|----------------
 +
|'''Sandisk 512Mbytes''' || style="background:#00ff00;" |working || 2750 / 215  || VFAT
 +
|----------------
 +
|'''Transcend 512Mbytes''' || style="background:#ff0000;" | not recognized || NA ||
 +
|----------------
 +
|'''Extreme Memory 512Mbytes''' || style="background:#ff0000;" |not recognized || NA ||
 +
|----------------
 +
|'''Dane-Elec 1Gbytes''' || style="background:#ff0000;" |doesn't work || NA || Card recognized but partition table not found
 +
|----------------
 +
|}
 +
 
 +
===microSD/TransFlash===
 +
{| border="1" cellpadding="5" cellspacing="0" summary="microSDs"
 +
|- style="background:#efefef;"
 +
! rowspan="2" | '''Model''' || rowspan="2" | '''Status''' || colspan="4" | '''Speed in kB/sec (read/write)''' || rowspan="2" | '''Comments'''
 +
|----- style="background:#efefef;"
 +
| '''APF9328''' || '''APF27''' || '''APF51''' || '''APF28'''
 +
|----------------
 +
|'''Sandisk 512 MBytes''' || style="background:#00ff00;" | working || 3330 / 320 || NT / NT || NT / NT  || NT / NT || VFAT
 +
|----------------
 +
|'''Dane-Elec 1 GBytes''' || style="background:#00ff00;" | working || 3415 / 130 || NT / NT || NT / NT  || NT / NT || VFAT
 +
|----------------
 +
|'''Sandisk 1 GBytes''' || style="background:#00ff00;" | working || 3355 / 130 || NT / NT || NT / NT || NT / NT || VFAT
 +
|----------------
 +
|'''Sandisk 2 GBytes''' || style="background:#ff0000;" | Not recognized || NA / NA || NT / NT || NT / NT || NT / NT || NA
 +
|----------------
 +
|'''Kingston 1 GBytes''' || style="background:#00ff00;" | working || 3355 / 130 || NT / NT || NT / NT || NT / NT || VFAT
 +
|----------------
 +
|'''Kingston 2 GBytes''' || style="background:#00ff00;" | working || 3355 / 130 || NT / NT || NT / NT || 13990 / 5730 || VFAT
 +
|----------------
 +
|'''EMTEC 2 GBytes''' || style="background:#00ff00;" | working || 3232 / 1548 || NT / NT || NT / NT || NT / NT || EXT2
 +
|----------------
 +
|'''Kingston 4 GBytes''' || style="background:#00ff00;" | working || 3355 / 130 || NT / NT || NT / NT || NT / NT || VFAT
 +
|----------------
 +
|'''Transcend 4 GBytes <br> SDHC Class 6''' || style="background:#00ff00;" |working || 3379 / 2668 || 7315 / 3805  || ~9600 / ~2800 || ~15900 / ~3950 || VFAT for APF9328 test <br> EXT3 for APF27, APF51 & APF28 one
 +
|----------------
 +
|}
 +
 
 +
===Test method===
 +
Use test script (''media_perf.sh'') located in ''armadeus/target/test/mmc/''. Install Armadeus TestSuite and then launch it:
 +
<pre class="apf">
 +
# cd /usr/bin/testsuite/
 +
# media_perf.sh speed
 +
</pre>
  
 
== Links ==
 
== Links ==
* http://elm-chan.org/docs/mmc/mmc_e.html
+
* [[MultiMediaCard|How to use MMC/SD/microSD on Linux]]
 +
* [http://elm-chan.org/docs/mmc/mmc_e.html How to use MMC/SD]
  
 
<br>
 
<br>
[[Image:FrenchFlag.png]] [[Fr:MMC/SD|Page en français]]
+
 
 
[[Category:Hardware]]
 
[[Category:Hardware]]
 +
[[Category:MassStorage]]

Latest revision as of 09:36, 22 July 2012

Hardware details on How-To use MMC/SD/microSD cards on APF boards. For APF9328 DevLight you will learn how to connect an MMC/SD adapter/connector.

SDCard, MiniSD, and Transflash/MicroSD are all the same devices but in different package shapes and are all pin compatible.
On Armadeus boards, MMC are controlled in 1 bit MMC mode and SD/MiniSD/MicroSD in 4 bits SD mode. We don't use MMC/SD in slow & error prone SPI mode.

Note Note: For instructions on how to use MMC/SD on Linux, see the MultiMediaCard page. (Here you will only find hardware details)


Adapter board (for APF9328DevLight 1.0 or your custom board)

We have designed a small adapter board with a push-pull MMC/SD connector on it. You need to connect the signals listed in the table below to the corresponding one on your DevLight board. The WP and CD_SW signals are optional and must be connected to free i.MXL GPIOs, if used.

Top view, connector on the left
Signals name (Top view with MMC connector on the right):
MMC Adapt pinout.jpg
Adapter Pin Desc Adapter Pin Desc
1 (square) +3.3V 2 SD_DAT2
3 SD_CMD 4 SD_DAT3
5 SD_CLK 6 SD_DAT0
7 WP (option) 8 SD_DAT1
9 CD_SW (option) 10 GND

Remarks:

  • Pin 1 (rectangular/square pad)
  • WP: write protect
  • CD_SW: Card Detect switch

If you don't want to buy such an adapter or don't have a MMC slot (and are a hacker ;-) ), you can still try this link:

On an APF9328DevFull board, there is already a MMC/SD connector

So nothing special to do.

On APF9328DevLight 2.0, APF27Dev, APF51Dev & APF28Dev boards, there is already a microSD connector

So nothing special to do.

Supported Cards

Here is a list of the current cards which were tested. Speeds are rounded to the nearest multiple of 5:

MMC

Model Status Speed in kB/sec (read/write) on APF9328 Comments
Hama 256 Mbytes working 895 / 455 Ext2

MMC+

Model Status Speed in kB/sec (read/write) on APF9328 Comments
Kingston 256 Mbytes working NA

SD

Model Status Speed in kB/sec (read/write) on APF9328 Comments
Kingston 512 Mbytes working 3275 / 155 Ext2
Kingston 256 Mbytes working NA
Dane-Elec 2 Gbytes KO NA OK in 1bit mode. doesn't work : Card recognized but partition table not found in 4bits mode
Transcend 2 Gbytes (x150) working NA
Sandisk 512 Mbytes working NA formating failure may happen sometimes. Workaround: retry
Panasonic 16 Mbytes working NA Ext2

MiniSD

Model Status Speed in kB/sec (read/write) on APF9328 Comments
Corsair 1Gbytes working 3330 / 365 VFAT
Sandisk 1Gbytes working 3300 / 295 Ext2
Sandisk 512Mbytes working 2750 / 215 VFAT
Transcend 512Mbytes not recognized NA
Extreme Memory 512Mbytes not recognized NA
Dane-Elec 1Gbytes doesn't work NA Card recognized but partition table not found

microSD/TransFlash

Model Status Speed in kB/sec (read/write) Comments
APF9328 APF27 APF51 APF28
Sandisk 512 MBytes working 3330 / 320 NT / NT NT / NT NT / NT VFAT
Dane-Elec 1 GBytes working 3415 / 130 NT / NT NT / NT NT / NT VFAT
Sandisk 1 GBytes working 3355 / 130 NT / NT NT / NT NT / NT VFAT
Sandisk 2 GBytes Not recognized NA / NA NT / NT NT / NT NT / NT NA
Kingston 1 GBytes working 3355 / 130 NT / NT NT / NT NT / NT VFAT
Kingston 2 GBytes working 3355 / 130 NT / NT NT / NT 13990 / 5730 VFAT
EMTEC 2 GBytes working 3232 / 1548 NT / NT NT / NT NT / NT EXT2
Kingston 4 GBytes working 3355 / 130 NT / NT NT / NT NT / NT VFAT
Transcend 4 GBytes
SDHC Class 6
working 3379 / 2668 7315 / 3805 ~9600 / ~2800 ~15900 / ~3950 VFAT for APF9328 test
EXT3 for APF27, APF51 & APF28 one

Test method

Use test script (media_perf.sh) located in armadeus/target/test/mmc/. Install Armadeus TestSuite and then launch it:

# cd /usr/bin/testsuite/
# media_perf.sh speed

Links