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

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

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

はじめに

SDカードのSDモード通信の初期化シーケンスの「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フクさん
フクさん

今回からは「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について。

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

全体フロー。

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

CMD3(SEND_RELATIVE_ADDR)

太郎くん
太郎くん

まずは、コマンドのパラメータ有無かな?

フクさん
フクさん

CMD3にパラメータは無い。

太郎くん
太郎くん

じゃー、送る分には悩まなくて良いねー。

CMD3(SEND_RELATIVE_ADDR)のレスポンス

太郎くん
太郎くん

次はレスポンスだね。

フクさん
フクさん

CMD3(SEND_RELATIVE_ADDR)のレスポンスはR6フォーマットになる。
R6フォーマットは以下。

Bit position[31:16][15:0]
Width(bit)1616
Valuexx
DescriptionNew published RCAcard status bitsのbit23,22,19,12:0
太郎くん
太郎くん

このRCAとcard status bitsが何者かってのが重要になってくるわけか。

RCA(Relative Card Address)

太郎くん
太郎くん

ん?
RCAってなんだっけ?
以前聞いたような聞いてないような?

フクさん
フクさん

確かに以前ちょっと話したかも。
ここで話したな。

太郎くん
太郎くん

結局RCAってどういうものになるの?

フクさん
フクさん

まぁ単純に16bit長の数値だな。
この数値を記憶して、
次の手順である「CMD7(SELECT/DESELECT_CARD)によるTransfer State(tran)遷移」の時に使うことになる。

太郎くん
太郎くん

なるほど。
以前話したときもそういうこといってたね。
じゃー、これはしっかり受信して記憶しておく必要のあるパラメータってことだ。

まとめ

フクさん
フクさん

まとめだよ。

  • 「CMD3(SEND_RELATIVE_ADDR)によるPublished RCAの取得」について説明。
    • CMD3(SEND_RELATIVE_ADDR)はパラメータ無しのコマンド。
    • レスポンスはR6フォーマット。
      • RCA(Relative Card Address)とcard status bitsを内包。

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

コメント

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