【FileSystem】車載外部ストレージ その13【SDカード⑨】

【FileSystem】車載外部ストレージ その13【SDカード⑨】 車載外部ストレージ

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

SDカードのSDモード通信のNo data Operationについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

SDモード通信のNo data Operation

フクさん
フクさん

じゃ、SDモードのNo data Operationからー。

  • No data Operation ← これ
  • (Multiple) Block Read Operatio
  • (Multiple) Block Write Operation
太郎くん
太郎くん

とりあえず、図解よろしくー。

フクさん
フクさん

まぁこれは一番シンプルなんで、それほど悩むところはないかな。

SDモードNo data Operation
太郎くん
太郎くん

ほー。
ノーレスポンスでタイムアウトするパターンと、
普通にやり取りできるパターンだね。

ノーレスポンス

太郎くん
太郎くん

ノーレスポンスってどういうときに起きるの?

フクさん
フクさん

単純にサポートしてないコマンドを投げた時だね。

太郎くん
太郎くん

送信ミスみたいな感じ?

フクさん
フクさん

当然、それも含まれるが、
SDカードかMMCかの判定SDSC、SDHCの判定で使われることを想定してるっぽいね。

SDカード、MMC判定

太郎くん
太郎くん

どうやって、SDカードとMMCを区別するの?

フクさん
フクさん

ACMD41(APP_SEND_OP_COND)ってのを送ってみる。
ノーレスポンスだったらMMC。
レスポンスありだったらSDカード。
って寸法だ。

太郎くん
太郎くん

ほー。
ということは
MMCはACMD41はサポートしてないってことなのか。

太郎くん
太郎くん

ちなみにノーレスポンス判定になるタイムアウト値とかはどうなってるの?

フクさん
フクさん

commandによるところはあるようだが、基本1秒だね。

SDSC、SDHC判定

太郎くん
太郎くん

もう一個のSDSC、SDHC判定も特定コマンドで判断って感じかな?

フクさん
フクさん

そうだね。
CMD8(SEND_IF_COND)ってので判断する。
ノリはACMD41と一緒で、CMD8に応答しなければSDSC、
応答すれば、SDHC以降。

太郎くん
太郎くん

なるほどー。
そうやって判断してたんだねー。

フクさん
フクさん

ここらへんは、新しいSDの仕様が出るたびに改定されてるところなんで、
今後もいろいろ判定用のコマンドは増えていくのかもしれないね。

まとめ

フクさん
フクさん

まとめだよ。

  • SDモード通信のNo data Operationを説明。
  • ノーレスポンスのパターンが割と重要。
    • ACMD41でSD、MMC判定。
    • CMD8でSDSC、SDHC以降判定。
    • SDの仕様が増えるたびに今後増えていくかも。
  • ノーレスポンス判定タイムアウトは1秒。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました