TT Lab
はじめる
学ぶ 学習パス コース

ケーブルがこだまする

3.3Vを送ったのに5.5Vが届いた

TT Labで続きを見る

一言でいうと

ケーブルは瞬間移動装置ではありません。速い電圧変化は線路を伝わり、両端のインピーダンスが違うと戻ってきます。送った電圧より大きい受信電圧も、この反射の結果であることがあります。

同じ3.3V入力で、終端なしは約5.5V、直列終端は約3.3V、並列終端は2.75Vになる、実際のngspiceの受信波形

図は、このコースと同じ公称条件で計算した実際のソルバー出力です。実測ではありません。線の色だけでなく、凡例と電圧・時間の軸もあわせて読んでください。

なぜ必要なのか

「出力を3.3Vに設定したのに、入力に5.5Vが現れました」。最初の反応は、測定器が壊れたのではないかという疑いでしょう。しかし、伝送線路の境界で進行波と反射波が足し合わさると、電源電圧より高い瞬間電圧が生じることがあります。この授業では、機器をつながずに、ngspiceの理想的な伝送線路モデルでその現象を再現します。実際のボードの許容電圧を確認したという意味ではありません。

遅い回路では、線を1つの同じ電位として扱っても問題が表に出にくくなります。一方、信号の立ち上がり時間が伝搬時間に比べて短いと、送信端が切り替わる間、受信端はまだ古い状態にあります。大事な比較は、単に1秒に何回データを送るかではなく、エッジがどれだけ速く変わるかです。送信頻度が低くても、エッジが速い信号はこの検討が必要になることがあります。

以前の電子回路入門で抵抗分圧を学んだなら、出発点は同じです。違うのは、最初に送信器が見る相手です。波が負荷まで往復してくる前は、遠い端の抵抗が変わったという情報をすぐには知ることができません。まず線路の特性インピーダンスZ0と電圧を分け合い、あとで戻ってきた波が送信端の状態を変えます。

どう動くのか

今回のモデルの名前と単位を先に固定しましょう。Vsは電源電圧(V)、Rsはドライバーと追加の直列抵抗を合わせた値(Ω)、Z0は線路の特性インピーダンス(Ω)、RLは負荷抵抗(Ω)です。TDは片道の伝搬時間です。線路の物理的な長さを直接入力する代わりにZ0とTDを指定するので、誘電体と配線構造をこの2つの数字で要約したことになります。

項目 基準条件 意味
電源 3.3V、1nsで立ち上がり開始 時刻0にオンになる信号ではありません
エッジ 立ち上がり時間0.2ns 理想的な垂直線ではなく、短い傾斜です
ソース ドライバー10Ω、追加0Ω 合計Rsは10Ωです
線路 Z0=50Ω、TD=2ns 往復には4nsかかります
負荷 1GΩ 非常に大きいですが、無限大ではありません

最初に前へ進む電圧の大きさAは、分圧で求めます。反射係数は、境界の抵抗が線路とどれだけ違うかを表し、単位はありません。負荷で反射される波は、AにΓLを掛けた値です。受信端で見る電圧は、2つの波を足したA×(1+ΓL)です。

A  = Vs × Z0 / (Rs + Z0)
ΓL = (RL - Z0) / (RL + Z0)
ΓS = (Rs - Z0) / (Rs + Z0)
첫 수신 평탄부 = A × (1 + ΓL)
두 번째 수신 평탄부 = A × (1 + ΓL) × (1 + ΓS × ΓL)

基準条件でAは2.75Vです。負荷が非常に大きいとΓLは1に近くなり、最初の受信平坦部は約5.5Vになります。ドライバーの10Ωは線路の50Ωより小さいので、ΓSは負になります。戻ってきた波がソースで反射されて再び負荷に到着すると、次の変化は負の方向です。「反射すると必ず大きくなる」ではなく、反射係数の符号と累積した波を一緒に見る必要があります。

時刻も一緒に数えます。送信エッジは1nsに出発するので、受信エッジは3nsから現れます。立ち上がり時間0.2nsが過ぎてはじめて、最初の平坦部を読めます。負荷から戻ってきた波は5ns前後にソースへ届き、そこから再び出た波は7ns前後に負荷へ届きます。TDを往復時間と取り違えて4nsを入れると、電圧はそれらしく見えても、イベントの順序が変わります。

CSVのtime_sは秒で、入力JSONの時間フィールドはnsです。同じ時間でも、CSVでは3e-9、説明では3nsと表れます。しきい電圧への到達時刻を求めるときは、最初にしきい値を挟む2つのサンプルを探し、直線で補間します。最初のサンプルからしきい値以上なら最初の時刻を返し、最後まで到達しなければNoneを返します。無条件に0を返すと、「到達しなかった」と「最初から高かった」が混ざります。

サンプルのうち、しきい値より大きい最初の点だけを選ぶと、実際の交差はそれより前にあったのに遅く記録します。たとえば2nsで1V、4nsで3Vなら、2Vの交差は線形補間上3nsです。この計算は、2点の間を線形と近似する数値上の規約です。実際の電磁界のあらゆる細部を測定した結果ではありません。

現場での姿

シグナルインテグリティの業務は、出力の数字を1つ見る仕事ではありません。回路と配線のモデルを構成し、波形の時間・電圧を解釈し、理想的な予測と実際の計測がなぜ食い違うのかを説明しなければなりません。公開されているNVIDIAのSI/PI職務の求人にある、伝送線路理論・シミュレーション・スクリプティングの要求を、この行動に置き換えました。1件の求人が、採用市場全体や就職の可能性を保証するわけではありません。

実物には、損失、入力容量、パッケージ、コネクター、ビア、測定プローブが加わります。今回のngspiceのT素子は、理想的な単一モードの無損失線路です。実際のケーブル材料を選定したり、PCBが定格を満たすと判断したりするには、追加のモデルと計測が必要です。限られたモデルで原理を先に切り分けて学ぶことが、このコースの役割です。

続けて学ぶこと

次のモジュールでは、抵抗1つで反射が変わる理由を見ます。最後のモジュールのラボでは、実際のソルバーが作ったCSVを読み、到着時刻と反射電圧をPython関数で計算します。例の数字を単にコピーする代わりに、ほかの電圧・抵抗条件でも同じ契約を満たすようにします。