バックナンバーはこちら。
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)遷移。

そしてフロー図。


そして、前回のリクエストとレスポンスの電文も載せておこう。
ACMD41(SD_SEND_OP_COND)リクエスト電文
bit position | 31 | 30 | 29 | 28 | [27:25] | 24 | [23:8] | [7:0] |
bit width | 1 | 1 | 1 | 1 | 3 | 1 | 16 | 8 |
value | 0 | x | 0 | x | 000b | x | xxxxh | 00000000b |
Description | Busy | HCS | Reserved | XPC | Reserved | S18R | OCR | Reserved |
ACMD41(SD_SEND_OP_COND)レスポンス電文(R3レスポンス)
bit position | 31 | 30 | 29 | [28:25] | 24 | [23:8] | [7:0] |
bit width | 1 | 1 | 1 | 4 | 1 | 16 | 8 |
value | x | x | x | 0000b | x | xxxxh | 00000000b |
Description | Busy | CCS | UHS-II | Reserved | S18A | OCR | Reserved |
Busy

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

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

HCSがHigh Capacity Supportで、
CCSがCard 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対応かの確認用。
バックナンバーはこちら。
コメント