バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDカードのCQ Modeの読み書き以外のコマンドたち。
今回はCMD19(SEND_TUNING_BLOCK)について。
登場人物
博識フクロウのフクさん

イラスト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
CQ Modeのステートマシンと読み書き以外のコマンド

今回はCMD19(SEND_TUNING_BLOCK)について。
CQ Modeのステートマシン図は以下。


そして、CQ Modeの読み書き以外のコマンドたち。
- CMD19(SEND_TUNING_BLOCK) ← これの第1回/全3回
- CMD32(ERASE_WR_BLK_START)
- CMD33(ERASE_WR_BLK_END)
- CMD38(ERASE)
- CMD43(Q_MANAGEMENT)
CMD19(SEND_TUNING_BLOCK)

とりあえず、上から順番にやっていくとすると、
最初はCMD19(SEND_TUNING_BLOCK)だね。

うーん、いきなりマニアックなの引いたねぇー。

まじか!!!

じゃ、後回しってことで・・・。

いやいや、どっちみちやるんだから。

しようがない・・・。

で、どんなコマンド?
名前に「TUNING」って入ってるけど、
なんか調整するヤツ?

その通り。
SDカードバスの回線インピーダンスの調整とか確認をするためのコマンドだ。

いきなり、電気回路的なのキターーー!
CMD19(SEND_TUNING_BLOCK)リクエストとレスポンス

まずは回路的な話は置いておいて、
いつも通りリクエストとレスポンスの話を片付けよう。

まず、リクエストパラメータは無い。

おー?
そうなんだ。脅された割にはシンプルそう。

そしてレスポンスはR1。

これもいつも通りだ。

とすると・・・Data Blockを送るか受けるタイプか?!
CMD19(SEND_TUNING_BLOCK)のData Block受信

なかなか勘が鋭いね。
カードからホストへData Blockが送られてくる。

なんかのレジスタを読み出すようなイメージ?

まぁイメージとしては近いかな。
ただ、読み出されるのは固定データ。

こんなデータになる。
FF0FFF00h FFCCC3CCh C33CCCFFh FEFFFEEFh
FFDFFFDDh FFFBFFFBh BFFF7FFFh 77F7BDEFh
FFF0FFF0h 0FFCCC3Ch CC33CCCFh FFEFFFEEh
FFFDFFFDh DFFFBFFFh BBFFF7FFh F77F7BDEh

この謎の数列はなんだ?
Fh、Eh、Dh、Bh、7hが多いイメージだね?
CMD19(SEND_TUNING_BLOCK)のData Block受信を回線でみると

まぁ16進数のままだと、イマイチわからないと思うから
回線上のビットパターンを示そう。

SDカードバス上で見るとこんな感じになる。
![CMD19(SEND_TUNING_BLOCK)、SDカードバス上、Tuning Pattern、DAT[0],DAT[1],DAT[2],DAT[3],1 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 …,F F 0 F F F 0 0 F F C C C 3 C C …](https://www.simulationroom999.com/blog/wp-content/uploads/2021/03/02_Tuning_Pattern-1024x237.png)

全ビットが立てたり、落としたり。
と思ったら一部のビットだけ立てたり、落としたり・・・。

どういうこと?

まぁそこら辺は次回、目的含めて説明しよう。
まとめ

まとめだよ。
- CMD19(SEND_TUNING_BLOCK)の説明。
- リクエストとレスポンスは普通。
- CMD19は固定データがData Blockとして送られてくる。
- Fh、Eh、Dh、Bh、7hが多い。
- DAT[3:0]の回線上を見ると何かしら見えてくるかも?
バックナンバーはこちら。
コメント