SD/SHDC パフォーマンス テスト

SD/SHDC パフォーマンス テスト

10MBのファイルを読み書きしたときのスループットです。

LPC1768 では SPIの速度による違い、 LPC4088 はMCI (Multimedia card interface) を計測しました。

mbed NXP LPC1768

SDHCFileSystem.cpp

230:    _spi.frequency(1000000);

W/R 1 = fwrite/fread( , , 1, );
W/R 100 = fwrite/fread( , , 100, );
W/R 10k = fwrite/fread( , , 10000, );

SanDisk SDHC Card 4GB Class 4

SPI Frequency1MHz16MHz32MHz
W 175.1KB/s183.1KB/s192.2KB/s
R 188.3KB/s285.3KB/s311.6KB/s
W 10083.0KB/s238.6KB/s247.7KB/s
R 100100.2KB/s461.4KB/s537.3KB/s
W 10k83.2KB/s240.6KB/s250.8KB/s
R 10k100.6KB/s463.5KB/s538.8KB/s

Toshiba microSD Card 2GB

SPI Frequency1MHz16MHz32MHz
W 159.1KB/s110.4KB/s114.5KB/s
R 182.8KB/s234.5KB/s252.7KB/s
W 10063.8KB/s128.2KB/s133.6KB/s
R 10093.1KB/s342.4KB/s382.7KB/s
W 10k64.0KB/s128.6KB/s134.1KB/s
R 10k93.6KB/s347.2KB/s388.9KB/s

LPC4088 QuickStart Board + MCIFileSystem

#include "MCIFileSystem.h"

MCIFileSystem sd("sd");

接続については example interface design schematic を参照。

SanDisk SDHC Card 4GB Class 4

MCI Frequency20MHz?
W 1187.4KB/s
R 1450.4KB/s
W 100236.2KB/s
R 1001011.6KB/s
W 10k239.7KB/s
R 10k1057.3KB/s

書き込みはフラッシュの限界があるのでそこそこだが読み出しは早い。

QSPI Flash

#include "QSPIFileSystem.h"

QSPIFileSystem sd("sd");
W 19.6KB/s
R 1504.7KB/s
W 1009.7KB/s
R 1001862.2KB/s
W 10k41.3KB/s
R 10k1986.7KB/s

SDちゃうけど、ボード上の QSPI Flash をファイルシステムとして使ったとき。

Program

Import programsdhc_speed_test

http://mbed.org/users/okini3939/notebook/sdhc-test/

Library

ChaN氏のFatFsがベースで、SDメモリカードをMMCとしてアクセスします。

ロングファイル名も使えます。

Import libraryFatFileSystemCpp

Fork of Adam Green's library with .cpp fix for current compiler

Import librarySDHC_FileSystem

SDHCFileSystem in a library. Requires FatFileSystem

最近、オフィシャルのライブラリになりました。

Import librarySDFileSystem

SDFileSystem


Please log in to post comments.