【FileSystem】車載外部ストレージ その34【SD初期化⑰】

【FileSystem】車載外部ストレージ その34【SD初期化⑰】 車載外部ストレージ

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

はじめに

SDカードのSDモード通信の初期化シーケンスのCMD2(ALL_SEND_CID)によるCIDの取得について。

「CMD2(ALL_SEND_CID)によるCIDの取得」の説明。
CIDはCard IDentificationの略。
CMD2(ALL_SEND_CID)のレスポンスフォーマットついて。
CIDの持つ情報達について。

などなど。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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カードのSDモード通信の初期化シーケンス詳細

フクさん
フクさん

今回は「CMD2(ALL_SEND_CID)によるCIDの取得」の話になる。

  • CMD8(SEND_IF_COND)によるSDv2判定及びサポート電圧判定。
  • ACMD41(SD_SEND_OP_COND)によるHigh Capacity設定とVoltage Switch可否判定。
  • CMD11(VOLTAGE_SWITCH)によるVoltage Switch。
  • CMD2(ALL_SEND_CID)によるCIDの取得。← これの1回目/全4回
  • CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得。
  • CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移
フクさん
フクさん

全体フローはこれ。

SDカードのSDモード通信の初期化シーケンスのフロー図

CMD2(ALL_SEND_CID)

太郎くん
太郎くん

CMD2(ALL_SEND_CID)。
名前的にはCIDというものを取得だから、
コマンド送ればOKパターンのやつかな。

フクさん
フクさん

そうだね。
CMD2(ALL_SEND_CID)はパラメータを持たないコマンドなんで、
送ればOKだ。

太郎くん
太郎くん

じゃ、これで終了!

フクさん
フクさん

んなわけないじゃん!!

太郎くん
太郎くん

だよねー。

CID

太郎くん
太郎くん

ところで、CIDは何の略?

フクさん
フクさん

CIDCard IDentificationの略だね。
SDカード識別用の情報が埋まってる。

太郎くん
太郎くん

ほう。
それを見ればいろいろわかるわけか。

CMD2(ALL_SEND_CID)のレスポンス(R2レスポンスフォーマット)

太郎くん
太郎くん

まぁコマンドを投げるってことはレスポンスがあるってことなわけで、
そもそもどんなレスポンスなの?
って話があるよねぇ。

フクさん
フクさん

CMD2(ALL_SEND_CID)のレスポンスは
R2レスポンスフォーマットになる。
R2レスポンスフォーマットは以下。

Bit position[132:127][126:0]
Width(bit)6127
Value‘111111’x
DescriptionreservedCID or CSD(CRC7を含む)
太郎くん
太郎くん

CIDとは別にCSDってのがあるの?
CSDとは???

フクさん
フクさん

今回は使わないが、CMD9(SEND_CSD)で取得される情報。
CSDCard Specific Dataの略で、
SDカードのVersoinが取得できる。

太郎くん
太郎くん

まぁそういうものがあるってことで、今回はとりあえず置いておくか。

CIDの内訳

太郎くん
太郎くん

で、本題のCIDの内容はどうなってるの?

フクさん
フクさん

CIDは128bitのデータで以下の内訳になってる。

NameFieldWidthBit position
Manufacture IDMID8[127:120]
OEM/Application IDOID16[119:104]
Product namePNM40[103:64]
Product revisionPRV8[63:56]
Product serial numberPSN32[55:24]
reserved4[23:20]
Manufacturing dateMDT12[19:8]
CRC7 checksumCRC7[7:1]
not used,always 11[0:0]
太郎くん
太郎くん

ということはこの内訳を確認していく感じか。

フクさん
フクさん

まぁスルーしちゃってもいいんだけど、
折角だから説明しよう。
というわけで次回!

まとめ

フクさん
フクさん

まとめだよ。

  • 「CMD2(ALL_SEND_CID)によるCIDの取得」の説明。
    • CIDはCard IDentificationの略。
    • CMD2(ALL_SEND_CID)のレスポンスはR2レスポンスフォーマット。
    • CIDは128bitの6種類の情報を持つ。

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

コメント

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