LoginSignup
0
1

More than 5 years have passed since last update.

MSC-MOD20 > I2C > SD Init > SD unmounted時の応答を確認

Last updated at Posted at 2016-08-08
環境
microSD module: MSC-MOD20 ( http://www.microtechnica-shop.jp/shopdetail/000000000026/ )
  - ALFAT SoC
microSD: 2GB SD (not SDHC) 
Analog Discovery 2 (以下AD2)

MSC-MOD20のSD Initについて。

SD unmount時、応答まで3.3秒かかる。I2C通信の場合、3.3秒の応答までの間、0x00を受信し続けて、ようやく!11などの受信ができるようだ。
( !11は「初期化に失敗しました。SDカードのCD信号がHまたはフローティングしている」というエラーでSDがunmountの状態を示すエラー番号。)

code v0.9

v0.9 @ github

  • SD Init実行時にretry追加
  • retry回数分だけ、余分にI2C読込処理を行う
  • Power on boot直後のSD Initはretry=0とした
    • 応答がないと考えられるため

上記の変更をして、SD Init実行後に3.3秒以上余分な読込をしながら波形をAD2で取り込み!11を受信できるか試した。

結果

SD Initコマンドを送信後、しばらく以下の0x00受信が続く。

qiita.png

そして、3.3秒程度の経過時間で以下の!11が受信できることを確認した。

qiita.png

応答までの待ち時間が長い場合も適宜delay処理などで待ちを入れながら応答を受信することになりそうだ。
応答がない場合の対策としてはタイムアウト時間を設定し、タイムアウトしたら処理を抜ける。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1