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

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

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

はじめに

SDカードのSDモード通信の初期化シーケンスのCMD11(VOLTAGE_SWITCH)によるVoltage Switchについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フクさん
フクさん

今回は、「CMD11(VOLTAGE_SWITCH)によるVoltage Switch」の話になる。

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

全体のフロー図はこれ。

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

CMD11(VOLTAGE_SWITCH)によるVoltage Switch

太郎くん
太郎くん

これはもう名前のまんまで駆動電圧を切り替えるって話かな?

フクさん
フクさん

そうだね。
SDカードは通常3.3V駆動なんだけど、
それを1.8V駆動に切り替えられる
まぁ当然、切替をサポートしてるSDカードである必要はある。

太郎くん
太郎くん

それを前回のACMD41で確かめられるってことだったんだよね。

フクさん
フクさん

うん。
で、切替サポートが無ければCMD11を投げずに次のステップに進むんだけど、
切替サポート有り、且つ切り替えたい場合はCMD11を発行するわけだ。

太郎くん
太郎くん

ということは、今回はこれで終了!
って感じか!

フクさん
フクさん

それがそうでもないんだなー。

太郎くん
太郎くん

(カオスになる予感しかしない・・・。)

電圧切替の手順

フクさん
フクさん

電圧切替には結構複雑な手順があるんだよ。
とりあえず、手順の全体像を示した図を張っておこう。

信号電圧切替手順(Signal Voltage Switch Sequence)
太郎くん
太郎くん

うーん、分かり易いやら、分かりにくいやら
というか全くわからん!

フクさん
フクさん

だよねー。

フクさん
フクさん

大雑把に9つの手順がある。
(1) ホストからのCMD11発行
(2) カードからのR1レスポンス
(3) カードがCMDとDAT[3:0]をLowにする
(4) ホストがSDCLKを停止
(5) 5ms以上wait
(6) ホストが1.8VでSDCLK送出
(7) SDCLK送出から1ms以内にカードが1.8VでCMDラインをHigh
(8) ホスト側でCMDラインのプルアップチェック
(9) カード側でDAT[3:0]のいずれかのラインをHigh

太郎くん
太郎くん

(アカン。わからん)

フクさん
フクさん

これも一つずつ説明していくよー。

まとめ

フクさん
フクさん

まとめだよ。

  • CMD11(VOLTAGE_SWITCH)によるVoltage Switchの説明。
    • ACMD41で1.8V切替サポートが確認できたSDカードは1.8V駆動に切替できる。
  • Voltage Switchの手順はまぁまぁ複雑。
    • タイミングチャートで確認。
    • 大雑把に手順確認。

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

コメント

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