バックナンバーはこちら。
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)のリクエストとレスポンスのパラメータについて。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
SDカードのSDモード通信の初期化シーケンス詳細
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
今回は、「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)遷移。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そしてフロー図。
![SDカードのSDモード通信の初期化シーケンスのフロー図](https://www.simulationroom999.com/blog/wp-content/uploads/2021/02/02_SDカードのSDモード通信の初期化シーケンスのフロー図-814x1024.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そして、前回のリクエストとレスポンスの電文も載せておこう。
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
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
最初のBusyはまぁわかるかな。
フローにも載ってるけど、これを見て次のシーケンスに進む感じだよね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
SPIモードでのACMD41のin idle stateのbit監視と使い方は一緒だ。
HCSとCCS
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
HCSがHigh Capacity Supportで、
CCSがCard Capacity Statusだったかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/びっくりフクロウ.png)
おー!
ちゃんと覚えていたか。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
SPIモードの時のキモとなるパラメータだったからねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
HCSの話はここで出てきて、
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
CCSの話はここで出て来たね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
今回のフローにも書いてるけど、
CCSビットが立っていたらSDHC以降のSDカードってことだね。
XPC
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
そして、ここからが問題の新出パラメータだな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
まずXPCってなに?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
XPCは、
SDXC Power Controlのことだね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
また、すごいところで略語の文字を拾ったな・・・。
全く予想できなかった・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁ意味は名前の通りで、
XPC=0の場合:最大 0.36W(100mA at 3.6V)で駆動を指示。
XPC=1の場合:最大 0.54W(150mA at 3.6V)で駆動を指示。
って感じになる。
電力を切り替える指定なんだけど、電圧は一緒なんで、結果的に変わるのは最大電流だね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
ほー。SDXCだとそういう指示もできるんだねー。
UHS-II
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これは・・・UHS-IIをサポートしてるフラグかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
UHS-IIについてはWikipediaの情報を貼っておこう。
UHS-II:2011年のSD 4.00で規定されたモード。常に双方向通信を行うFD(Full Duplex)モードとデータ送受信時は片方向通信を行うHD(Half Duplex)モードがあり、最大転送速度はそれぞれ156MB/sと312MB/s。対応カードにはSDメモリーカードロゴマークの右横下に「II」と表記される。対応カードのピン数は増加しているが後方互換性は確保されており、従来の機器と組み合わせた場合は遅い側のモードに合わせて動作する。
Wikipediaより
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まだ、いくつかパラメータ残ってるけど、次回へ続く。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
(新出パラメータの説明としては、まだ半分くらいだな・・・)
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- ACMD41(SD_SEND_OP_COND)のリクエスト電文、レスポンス電文に出てくるパラメータ説明。
- HCSとCSSはSPIモードでも出来てたパラメータ
- XPCはSDXC Power Control。
- 最大電流値を切り替えられる。
- UHS-IIはその名のとおりUHS-II対応かの確認用。
バックナンバーはこちら。
コメント