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

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

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

はじめに

SDカードのSDモード通信の初期化シーケンスのACMD41(SD_SEND_OP_COND)によるHigh Capacity設定とVoltage Switch可否判定について。
今回はACMD41(SD_SEND_OP_COND)のリクエストとレスポンスのパラメータについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フクさん
フクさん

今回は、「ACMD41(SD_SEND_OP_COND)によるHigh Capacity設定とVoltage Switch可否判定」の話の中の、リクエスト、レスポンスパラメータについて。

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

そしてフロー図。

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

そして、前回のリクエストとレスポンスの電文も載せておこう。

ACMD41(SD_SEND_OP_COND)リクエスト電文

bit position31302928[27:25]24[23:8][7:0]
bit width111131168
value0x0x000bxxxxxh00000000b
DescriptionBusyHCSReservedXPCReservedS18ROCRReserved

ACMD41(SD_SEND_OP_COND)レスポンス電文(R3レスポンス)

bit position313029[28:25]24[23:8][7:0]
bit width11141168
valuexxx0000bxxxxxh00000000b
DescriptionBusyCCSUHS-IIReservedS18AOCRReserved

Busy

太郎くん
太郎くん

最初のBusyはまぁわかるかな。
フローにも載ってるけど、これを見て次のシーケンスに進む感じだよね。

フクさん
フクさん

そうだね。
SPIモードでのACMD41のin idle stateのbit監視と使い方は一緒だ。

HCSとCCS

太郎くん
太郎くん

HCSHigh Capacity Supportで、
CCSCard Capacity Statusだったかな?

フクさん
フクさん

おー!
ちゃんと覚えていたか。

太郎くん
太郎くん

SPIモードの時のキモとなるパラメータだったからねー。

太郎くん
太郎くん

HCSの話はここで出てきて、

太郎くん
太郎くん

CCSの話はここで出て来たね。

太郎くん
太郎くん

今回のフローにも書いてるけど、
CCSビットが立っていたらSDHC以降のSDカードってことだね。

XPC

太郎くん
太郎くん

そして、ここからが問題の新出パラメータだな。

太郎くん
太郎くん

まずXPCってなに?

フクさん
フクさん

XPCは、
SDXC Power Controlのことだね。

太郎くん
太郎くん

また、すごいところで略語の文字を拾ったな・・・。
全く予想できなかった・・・。

フクさん
フクさん

まぁ意味は名前の通りで、
XPC=0の場合:最大 0.36W(100mA at 3.6V)で駆動を指示。
XPC=1の場合:最大 0.54W(150mA at 3.6V)で駆動を指示。
って感じになる。
電力を切り替える指定なんだけど、電圧は一緒なんで、結果的に変わるのは最大電流だね。

太郎くん
太郎くん

ほー。SDXCだとそういう指示もできるんだねー。

UHS-II

太郎くん
太郎くん

これは・・・UHS-IIをサポートしてるフラグかな?

フクさん
フクさん

そうだね。
UHS-IIについてはWikipediaの情報を貼っておこう。

UHS-II:2011年のSD 4.00で規定されたモード。常に双方向通信を行うFD(Full Duplex)モードとデータ送受信時は片方向通信を行うHD(Half Duplex)モードがあり、最大転送速度はそれぞれ156MB/sと312MB/s。対応カードにはSDメモリーカードロゴマークの右横下に「II」と表記される。対応カードのピン数は増加しているが後方互換性は確保されており、従来の機器と組み合わせた場合は遅い側のモードに合わせて動作する。

Wikipediaより
フクさん
フクさん

まだ、いくつかパラメータ残ってるけど、次回へ続く。

太郎くん
太郎くん

(新出パラメータの説明としては、まだ半分くらいだな・・・)

まとめ

フクさん
フクさん

まとめだよ。

  • ACMD41(SD_SEND_OP_COND)のリクエスト電文、レスポンス電文に出てくるパラメータ説明。
    • HCSとCSSはSPIモードでも出来てたパラメータ
    • XPCはSDXC Power Control。
      • 最大電流値を切り替えられる。
    • UHS-IIはその名のとおりUHS-II対応かの確認用。

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

コメント

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