事の起こりはSDデータロガにて、安価(想像以上にi2cのEEPROMが高価だった)に大量のデータが保存できそうだという単純な動機から使ってみました。 オシロ必須かも・・・
基本的に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の仕様書にはこれが書いて無くて困る・・・
-