バックナンバーはこちら。
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) ← これの第3回/全3回
- CMD32(ERASE_WR_BLK_START)
- CMD33(ERASE_WR_BLK_END)
- CMD38(ERASE)
- CMD43(Q_MANAGEMENT)
CMD19(SEND_TUNING_BLOCK)の設計目的

これは仕様書にも書いてあることだが、
CMD19(SEND_TUNING_BLOCK)の設計目的は以下になる。
- 4本のDATラインに同時に正パルスを入力して、最大電力とグランドバウンス効果をシミュレートすると、最大のオーバーシュート/アンダーシュートが得られる。
- 2本のDATラインに正パルスを入力し、同時に残りの2本のDATラインに負パルスを入力すると、グランドバウンスとインピーダンスミスマッチの組み合わせをシミュレートし、最大のTPDが得られる。
- 1本のDATラインに正パルスを与え、他の3本のDATラインは静にすると、インピーダンスミスマッチの影響をシミュレートでき、TPDは最小になる。

ちょっと何言ってるかわかんない。

まぁ言葉の意味がわからないってところだろう。
たぶん、以下が分からないから全体が分からないって感じなんじゃない?
- グランドバウンス
- TPD

あーそうそう。そこらへん。
グランドバウンス

グランドバウンスってのは、名前の通りグランドが弾むような現象を指す。

ほう?
なぜ弾むの?

いろいろ理由はあるが、以下代表的だ。
- 浮遊容量に蓄積された電荷からの瞬時放電をグランドが吸収し入れなかった。
- グランド上に寄生する誘導性負荷によって起電力が発生。

???

まぁ回路上には存在しない見えないコンデンサやインダクタ(コイル)があって、
そいつらが悪さするってことだな。

まぁわかってはいないが、まずそうなのはわかった。
TPD

次はTPD。

TPDはPropagation Delay(プロパゲーションディレイ)の略で
日本語にすると伝播遅延だな。

信号が伝わるのが送れるってこと?

まぁその認識でOKだ。

電子回路上のIC等を経由すると少なからず信号の立ち上がりや立下りが遅延する。
これの時間が長すぎるとうまく通信できなくなる。
その遅延もSDカードのように4線あると、異なる遅延になることもあって、
うまく信号をサンプリングできないってこともあり得る。
って話だな。

まぁこれもなんかヤバそうってのだけわかった。
それぞれまとめると

原理的な話はわからないけど、
とりえあず、以下を見てSDカードバスに致命的な問題がないか確認するってのはわかった。
- 最大オーバーシュート、アンダーシュートの確認
- 最大の伝播遅延の確認
- 最小の伝播遅延の確認

とりあえずはその認識でよいだろう。
実際はハード屋をやりあったりしてゴタつくことはあるが、
その3点が分かっていれば、話をすることは十分可能だ。

あーなるほど!
たしかにハード屋さんが確認するところではあるけど、
ソフトウェア側で何かしらしてあげないと確認したくても確認できないってことか。

そうそう。
電気回路上の難しい話はハード屋さんが考えてくれるから、
それのサポートを最大限できる状態になってることが重要ってことだ。

これは予想以上に重要な情報だったな。
まとめ

まとめだよ。
- CMD19(SEND_TUNING_BLOCK)の電気回路的な話。
- CMD19を使用して以下を確認するのが目的。
- 最大オーバーシュート、アンダーシュートの確認。
- 最大の伝播遅延の確認。
- 最小の伝播遅延の確認。
- 電気回路の難しいところはハード屋さんがやってくれるはずなのでサポートを万全にすることを意識する。
バックナンバーはこちら。
コメント