音声/画像に! 超定番SDカード SPIモードの実力

第1部
第
1章
SD カー
ド・
マニアの
チャレ
ンジ
書き込み時間のばらつきに要注意!
音声 / 画像に!
超定番 SD カード SPI モードの実力
森岡 澄夫
CS
(カード・セレクト)
DI
(データ入力)
SCLK
(クロック)
マイコンや
FPGA
DO
(データ出力)
SPIモードでは,
DAT3端子をCS
(カード・セレクト)
CMD端子をDI
(SDカードへのデータ入力)
CLK端子をSCLK
(SDカードへのクロック入力)
DAT0端子をDO
(SDカードからのデータ出力)
として使う.
実回路では10kΩ前後でそれぞれプルアップする
図 1 SD カードは SPI モードでアクセスできる
● SD カードの二大インターフェース「SD モー
ド」と「SPI モード」
記録メディアとして,SD/SDHC カードが広く使わ
れています. 最近は,数十 M バイト /s の書き込み速
度を持つ SD カード(SD スピード・クラスの Class 10
で 10M バイト /s,
UHS Speed Class 3 で 30M バイト /s)
が安価に手に入るようになりました.
SD カードのインターフェースには,
「SD モード」と
「SPI モ ー ド 」が あります.マ イ コ ン や FPGA(Field
Programmable Gate Array)から扱う場合には,利用
にライセンスが要らず,回路がシンプルに済む SPI
モ ー ド が 広 く 使 わ れ て い ま す.Arduino や mbed と
いった入門用マイコン・ボードでは,SD カード・ス
ロットの付いたベース・ボードやシールドが売られて
いますが,それらも SPI モードを使っています.
SPI モードの一つのメリットは,SD アソシエーショ
ンからライセンスを取らなくても無償で使え,仕様も
公開されていることです(2).もう一つのメリットは,
カード端子の一部をマイコンの SPI 端子に直接つなぐ
だけでよく,複雑な回路が要らないことです(図 1,
写真 1).3.3V インターフェースさえあれば,マイコ
ンのみならず FPGA などとも接続できます.
18
左から
DAT3, CMD, GND, VDD ,
CLK, GND, DAT0
(a)SDカード
左から
DAT3, CMD, VDD ,
CLK, GND, DAT0
(b)マイクロSD
写真 1 SPI モードで使用する端子
SPI モード入門
● 2M バイト / 秒書き込みはいける
SPI モードでは,SD カードが本来持つ性能をフル
に出せるわけではありません.それでも最近の SD
カードを使うことで,従来品の 1.5 〜 4 倍に相当する
2M バイト /s 程度の高速書き込みや(SD スピード・ク
ラスの Class 2 相当)
,変動が少ない安定した書き込み
速度,消費電力の削減など,かなりメリットが得られ
ます.
例えば音声であれば,高サンプリング・レートのリ
ニア PCM での記録ができると期待できます(写真 2,
写真 3)
.また,動画像であれば,Motion JPEG を出
力 可 能 な カ メ ラ・ モ ジ ュ ー ル を 使 う こ と に よ り,
VGA(640 × 480)画像を 10 〜 20 フレーム /s 程度で記
録できるかもしれません 注 1.状況にもよりますが,
VGA 画像 1 フレームの JPEG サイズはおおむね 50K バ
イト前後なので(1),30 フレーム /s ならば 1.5M バイト
/s ほどのレートになります.2M バイト /s というのは,
リアルタイム HD 動画像といった高速記録用途を除け
ば,幅広い用途で活用できる速度といえます.
注 1:実際には,速度がぎりぎりであるため,FAT ファイル・
システムを使わずにセクタに直接アクセスする,マイコン
でなく FPGA を使うなどの実装上の工夫を併用する必要が
あると思われる.
2015 年 2 月号