【FileSystem】車載外部ストレージ その80【SD応答向上仕様㉙】

【FileSystem】車載外部ストレージ その80【SD応答向上仕様㉙】 車載外部ストレージ

バックナンバーはこちら。
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のステートマシン(State Diagram in CQ Mode)、CMD49(WRITE_EXTR_SINGLE) Enable CQ=1、CMD49(WRITE_EXTR_SINGLE) Enable CQ=0、CMD12(STOP_TRANSMISSION),CMD13(SEND_STATUS),CMD32(ERASE_WR_BLK_ADDR),CMD33(ERASE_WR_BLK_END_ADDR)、CMD44(Q_TASK_INFO_A),CMD45(Q_TASK_INFO_B)、Read:CMD19(SEND_TUNING_BLOCK),CMD46(Q_RD_TASK),CMD48(READ_EXTR_SINGLE),CMD58(READ_EXTR_MULTI)、Write:CMD47(Q_WR_TASK),CMD49(WRITE_EXTR_SINGLE),CMD59(WRITE_EXTR_MULTI)、CMD38(ERASE),CMD43(Q_MANAGEMENT)、End of R1b,End of Data Transfer、CMD12(STOP_TRANSMISSION),CMD13(SEND_STATUS)、CMD44(Q_TASK_INFO_A),CMD45(Q_TASK_INFO_B)、CQ Disable、CQ Tran、CQ Enabled
フクさん
フクさん

そして、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。

フクさん
フクさん

TPDPropagation Delay(プロパゲーションディレイ)の略で

日本語にすると伝播遅延だな。

太郎くん
太郎くん

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

フクさん
フクさん

まぁその認識でOKだ。

フクさん
フクさん

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

太郎くん
太郎くん

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

それぞれまとめると

太郎くん
太郎くん

原理的な話はわからないけど、
とりえあず、以下を見てSDカードバスに致命的な問題がないか確認するってのはわかった。

  • 最大オーバーシュート、アンダーシュートの確認
  • 最大の伝播遅延の確認
  • 最小の伝播遅延の確認
フクさん
フクさん

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

太郎くん
太郎くん

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

フクさん
フクさん

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

太郎くん
太郎くん

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

まとめ

フクさん
フクさん

まとめだよ。

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

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

コメント

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