MMC/SD: Difference between revisions
(→MMC) |
|||
(50 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
How-To connect an MMC/SD adapter | 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.''' <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. | |||
{{Note|For instructions on how to use MMC/SD on Linux, see the [[MultiMediaCard]] page. (Here you will only find hardware details)}} | |||
Top view: | == Adapter board (for APF9328DevLight 1.0 or your custom board) == | ||
{|border=1 summary="Signal | 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. | |||
[[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=== | ||
{| 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+=== | |||
{| border="1" cellpadding="5" cellspacing="0" summary="MMC+" | |||
|- style="background:#efefef;" | |||
!'''Model''' || '''Status''' || '''Speed in kB/sec (read/write) on APF9328''' || '''Comments''' | |||
|---------------- | |||
|'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA || | |||
|---------------- | |||
|} | |||
===SD=== | |||
=== | {| border="1" cellpadding="5" cellspacing="0" summary="MMC+" | ||
|- 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 | |||
|---------------- | |||
|} | |||
=== | ===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> | ||
[[Category:Hardware]] | [[Category:Hardware]] | ||
[[Category:MassStorage]] |
Latest revision as of 10: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: 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.
Signals name (Top view with MMC connector on the right):
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