SDカード(SPI)操作について


Introduction

事の起こりはSDデータロガにて、安価(想像以上にi2cのEEPROMが高価だった)に大量のデータが保存できそうだという単純な動機から使ってみました。 オシロ必須かも・・・



仕様

SPIモードとSD(MMC)モード

基本的にSDカード(MMC含む)には、SDカードモードでのアクセスと、SPI(3-Line Busとか言われているやつです)モードでのアクセスが可能。SDだとライセンスがいる(らしい)ことと、コマンドがやっかい(CRCジェネレータなんかを作る必要がある)なため、手っ取り早く使いたい人はSPIモードでの仕様をおすすめします。


設計

下記のような素晴らしいリンクがあるため、今更私が書くようなこともないのですが、自分が大ハマリした箇所だけ補足しておきます。


回路

1.SDカードのピンアサイン

Pin No. なまえ タイプ 機能
1 CS Input チップセレクト
2 Di Input データ入力
3 Vss GND GND
4 VDD +3.3V 電源入力
5 SCLK Input クロック
6 Vss GND GND
7 Do Output データ出力

2.補足

・VDDとVssの間には0.1uF程度のパスコンを入れてあげてください。(無くても動くけど)

・Diは4.7~100kΩ、Doutは50~100kΩでつりあげてください。特にDoutはPull-upが無いと動きません。(出力はPush-Pullって書いてあったんだけど)。


3.カードスロット

自分はこれを無理矢理ユニバーサル基板に半田付けしました。


バスタイミング

K.Iさんのページから飛べる仕様書(日立版)にも書いてありますが、コマンドを送ってからクロックを空送りする期間(Ncr)があるに注意してください。

私はここではまりました。RENESASの仕様書にはこれが書いて無くて困る・・・


参考リンク

なる研さんのマルチメディアカードの解説

K.IさんのSDカードを使ってみよう



-

最終更新:2009年12月29日 00:17