Difference between revisions of "MMC/SD"
(→SD:) |
(→On an APF9328DevLight 2.0 or an APF27Dev board, there is already a microSD connector) |
||
(48 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+=== | ===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 | ||
+ | |---------------- | ||
+ | |} | ||
− | <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> | ||
− | + | ||
[[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: For instructions on how to use MMC/SD on Linux, see the MultiMediaCard page. (Here you will only find hardware details) |
Contents
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