MMC応答なしの時の対処 | 組込みとともに

MMC応答なしの時の対処

今どき市場には流れてる気配がありませんがMMC(Multimedia Card)を扱う上での注意点です。

MMCをワンチップマイコンで扱う場合の注意です。


MMCをSPI Modeでアクセスするときは出来るだけ連続で。ドライバICを使えるなら使った方がよい。

今日試験した結果ではMMCはコマンド送信中にクロックが停止状態が3ミリ秒以上継続するとコマンドレスポンスはするもののその後inactive modeに入ってしまう(CMD17で発生)

恐らくMMC内でタイムアウトが発生しているようだ。
SundiskのMMCはスリープまで5msのようだ。トリガーの詳細は不明。


これを2ミリ秒にしたら正常動作になった。

ワンチップマイコンでMMCドライバICを使わない場合は割り込み処理等でMMCアクセス中であってもCPUリソースを割り込みに奪われてしまう。

今回はMMC書き込みとAD変換を並列処理にした結果、動作異常が発生した。

今回はCSネゲート直前からR1レスポンスまでを割り込み禁止にしたことで解決した。合わせてADの処理を効率化して1ミリ秒に縮めた。

MMCの電源制御ができる場合は異常時にMMCをリセットさせることで対応してもよい。