Difference between revisions of "MMC/SD"

From ArmadeusWiki
Jump to: navigation, search
(SD:)
(On an APF9328DevLight 2.0 or an APF27Dev board, there is already a microSD connector)
 
(32 intermediate revisions by 5 users not shown)
Line 1: Line 1:
How-To connect an MMC/SD adapter/connector to your APF9328
+
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.<br>
 
 
'''SDCard, MiniSD, and Transflash/MicroSD are all the same devices but in different package shapes and are all pin compatible.''' <br>
 
'''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.
 
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 "fucking slow & error prone" SPI mode.
+
We don't use MMC/SD in slow & error prone SPI mode.
  
== Adapter board (for DevLight or your custom board) ==
+
{{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.
 
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.
 
You need to connect the signals listed in the table below to the corresponding one on your DevLight board.
Line 38: Line 39:
 
* http://www.hackaday.com/2006/09/12/floppy-connector-mmc-card-slot/
 
* http://www.hackaday.com/2006/09/12/floppy-connector-mmc-card-slot/
  
== On a DevFull board, there is already a MMC/SD connector ==
+
== 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===
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC"
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments'''
+
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 
|----------------
 
|----------------
|'''Hama 256 Mbytes''' || style="background:#00ff00;" |working || 896 / 455  ||  Ext2
+
|'''Hama 256 Mbytes''' || style="background:#00ff00;" |working || 895 / 455  ||  Ext2
|----------------
+
|''' ''' ||  || NA ||
+
 
|----------------
 
|----------------
 
|}
 
|}
Line 57: Line 60:
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments'''
+
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 
|----------------
 
|----------------
 
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||  
 
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||  
Line 63: Line 66:
 
|}
 
|}
  
===SD:===
+
===SD===
  
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
 
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments'''
+
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 
|----------------
 
|----------------
|'''Kingston 512 Mbytes''' || style="background:#00ff00;" |working || NA ||  
+
|'''Kingston 512 Mbytes''' || style="background:#00ff00;" |working || 3275 / 155 || Ext2
 
|----------------
 
|----------------
 
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||  
 
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA  ||  
Line 78: Line 81:
 
|----------------
 
|----------------
 
|'''Sandisk 512 Mbytes''' || style="background:#00ff00;" |working || NA  || formating failure may happen sometimes. Workaround: retry
 
|'''Sandisk 512 Mbytes''' || style="background:#00ff00;" |working || NA  || formating failure may happen sometimes. Workaround: retry
 +
|----------------
 +
|'''Panasonic 16 Mbytes''' || style="background:#00ff00;" |working || NA  || Ext2
 
|----------------
 
|----------------
 
|}
 
|}
  
===MiniSD:===
+
===MiniSD===
 
{| border="1" cellpadding="5" cellspacing="0" summary="MiniSDs"
 
{| border="1" cellpadding="5" cellspacing="0" summary="MiniSDs"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments'''
+
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments'''
 
|----------------
 
|----------------
|'''Corsair 1Gbytes''' || style="background:#00ff00;" |working || 3339 / 365  ||  VFAT
+
|'''Corsair 1Gbytes''' || style="background:#00ff00;" |working || 3330 / 365  ||  VFAT
 
|----------------
 
|----------------
|'''Sandisk 1Gbytes''' || style="background:#00ff00;" |working ||   ||
+
|'''Sandisk 1Gbytes''' || style="background:#00ff00;" |working || 3300 / 295  || Ext2
 
|----------------
 
|----------------
|'''Sandisk 512Mbytes''' || style="background:#00ff00;" |working ||   ||
+
|'''Sandisk 512Mbytes''' || style="background:#00ff00;" |working || 2750 / 215  || VFAT
 
|----------------
 
|----------------
 
|'''Transcend 512Mbytes''' || style="background:#ff0000;" | not recognized || NA ||  
 
|'''Transcend 512Mbytes''' || style="background:#ff0000;" | not recognized || NA ||  
Line 100: Line 105:
 
|}
 
|}
  
===microSD/TransFlash:===
+
===microSD/TransFlash===
{| border="1" cellpadding="5" cellspacing="0" summary="MicroSDs"
+
{| border="1" cellpadding="5" cellspacing="0" summary="microSDs"
 
|- style="background:#efefef;"
 
|- style="background:#efefef;"
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments'''
+
! 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 512Mbytes''' || style="background:#00ff00;" |working || 3340 / 322  ||  VFAT
+
|'''Sandisk 512 MBytes''' || style="background:#00ff00;" | working || 3330 / 320 || NT / NT || NT / NT || NT / NT || VFAT
 
|----------------
 
|----------------
|''' ''' ||  || NA ||  
+
|'''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===
 
===Test method===
# dd if=/dev/urandom of=/tmp/data.bin bs=1024 count=3072
+
Use test script (''media_perf.sh'') located in ''armadeus/target/test/mmc/''. Install Armadeus TestSuite and then launch it:
# mount /dev/mmcblk0p1 /media/mmc/
+
<pre class="apf">
# echo "mv /tmp/data.bin /media/mmc/" > /tmp/test_mmc.sh
+
# cd /usr/bin/testsuite/
# echo "sync" >> /tmp/test_mmc.sh
+
# media_perf.sh speed
# echo "exit 0" >> /tmp/test_mmc.sh
+
</pre>
# time sh /tmp/test_mmc.sh
+
# umount /media/mmc && mount /dev/mmcblk0p1 /media/mmc/
+
# time cp /media/mmc/data.bin /tmp/data_read.bin
+
 
+
<br>
+
  
 
== 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