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

ケーブルがこだまする

長さを合わせても時間予算は別に残る

TT Labで続きを見る

一言でいうと

差動信号は2つの電圧の差を読みますが、2つの電圧がいつ到着してもよいという意味ではありません。相補信号の到着時間がずれると、差動電圧の遷移が長くなり、2つの電圧の平均も遷移区間で動きます。平均であるコモンモードが安定しているかどうかと、望む差動のしきい値に時間どおりに達するかどうかは、別の質問です。今回は、配線のスキューの符号、コモンモードの偏差、受信の時刻を1つずつ計算して、「良い信号」というあいまいな結論を、具体的な証拠に変えます。

なぜ必要なのか

2本の線路が一緒に0.5ns遅れると、互いの到着の差はそのままですが、受信の時刻は遅れます。逆に、片方の線路だけが遅れると、相対的な遅延と平均の電圧が変わります。この2つの状況を区別しないと、長さを合わせる対策で、タイミングの問題全体が解決したと勘違いします。信号が十分に通り過ぎたあとは、どちらの場合も同じ最終の差動電圧を示すことがあるので、終点1つだけを検査しても、問題を見落とします。時間軸に沿って、2つの電圧をあわせて見る必要があります。

ここでは、実際のngspiceエンジンが数値の回路を計算します。しかし、その回路は、互いに結合しない理想的な伝送線路が2つです。実際の差動PCBの結合・奇モードのインピーダンス・ビア・コネクター・周波数に依存する損失・放射ノイズは含まれません。エンジンが実行されたという事実は、すべての物理現象が入っているという意味ではありません。この単純化で、遅延の不均衡という1つの影響を分離します。

どう動くのか

同じ時刻のPとNを、差動値とコモンモードに分解

上の図は、実際の波形のプロットではなく、同じ時刻の2つの電圧を、どんな演算で分解するのかを示す構造図です。遷移が進行する全体の様子は、ラボで生の波形で確認します。

両側のソース抵抗、線路の特性インピーダンス、接地を基準にした終端は、それぞれ50Ωです。2つのソースは、2nsに遷移を始めます。Pは0→2V、Nは2→0Vの、同じ時間の長さの線形のランプです。両側が整合しているので、受信端の振幅はそれぞれ半分の0↔1Vで、戻ってくる反射を解析する必要はありません。今回のモデルの2つの抵抗を、実際の差動ペアの100Ωの終端と、常に同等だと一般化しないでください。コモンモードに対する回路の条件まで、変わることがあります。

P線路の片道の遅延をTp、N線路の遅延をTnとして、スキューはTn−Tpと定義します。正の値はNが遅いこと、負の値はNが速いことです。riseがランプ全体の時間のとき、受信のPはclip((t−2−Tp)/rise, 0, 1)、受信のNは1−clip((t−2−Tn)/rise, 0, 1)です。 式の中の時間は、すべてnsに統一します。波形ファイルの時間は秒なので、分析関数で1e9を掛ける必要があります。遅延は往復の時間ではなく、片道の時間であることも確認します。

同じサンプルで、Vdiff=Vp−Vn、Vcm=(Vp+Vn)/2を計算します。正常な開始はVdiff=−1V、正常な終わりは+1Vで、コモンモードの基準は、2つの状態とも0.5Vです。コモンモードの問題を評価するとき、Vcmの絶対値の最大を求めると、正常な0.5Vまでエラーと数えてしまいます。必要なのは、基準から外れた絶対値|Vcm−0.5|の最大です。Vdiffをさらに2で割ったり、Vcmで割り算を抜かしたりするのも、異なる物理量を混ぜるミスです。

相対的な遅延と絶対的な時間

Pが0.5Vを上向きに通過する時間と、Nが0.5Vを下向きに通過する時間を、それぞれ探します。サンプルの間にしきい値があれば、2点を線形補間します。交差の方向を無視すると、あとの反対の遷移を選んでしまうことがあります。最初からしきい値にとどまっている平らな区間は、その方向に入ってきた交差ではありません。採点では、1回の遷移だけでなく、再交差がある小さな表も使って、最初の正しい交差を見つけているかを確認します。

たとえば、Tp=1ns、Tn=1.2ns、rise=0.4nsなら、2つの50%の交差は3.2nsと3.4nsです。差は+0.2nsです。Pが先に上がり、Nがまだ高い区間が生じて、Vcmは最大0.75Vになります。基準からの偏差は0.25Vです。Nが同じ大きさだけ先に下がると、平均は基準より下に動き、スキューの符号も負になります。絶対値だけを見て、遅い線路を誤って指さないように、符号付きのスキューと、絶対値であるコモンモードの偏差を、あわせて報告します。

理想的なランプの、連続時間でのコモンモードの最大の偏差は、min(0.5, |スキュー|/(2×rise))Vです。これは分析結果を検算する式であり、生の波形の代わりに報告書に書く、正解の数字ではありません。 エンジンの時間グリッドが、とがった最高点を正確に通らないことがあるので、サンプルの最大は、理論より少し低いことがあります。生のデータの最高点を保存し、モデルの近似と数値の誤差を、あわせて説明する必要があります。見えなかった最高点を計測したとは言いません。

現場での姿

今回の学習用の規格は、コモンモードの偏差が0.15V以下で、しかも差動電圧が+0.8Vに4ns以内に達することです。ボードや通信規格の認証の数値ではなく、2つの制約を分離するための条件です。前の例は、+0.8Vに3.52nsで達するので、時間は合格しますが、コモンモードは失敗します。riseを0.8nsに増やすと、コモンモードの偏差は0.125Vに減り、受信は3.84nsに遅くなります。遅いエッジが、1つの問題を減らしながら、別の余裕を消費する様子を、同じ回路で確認します。

Tp=Tn=1.5ns、rise=0.8nsなら、スキューとコモンモードの偏差は、ほぼ0です。ところが、差動のしきい値への到達は4.22nsなので、時間予算を超えます。スキューがないという事実だけでは、合格にできません。逆に、2つの信号を一緒に0.02V上に動かすと、差動電圧はそのままですが、コモンモードは変わります。元のデータとモデルを照合するとき、差動電圧だけを検査すると、この不一致を見落とします。2本の線路のすべての電圧サンプルを、それぞれ検算する理由です。

次のラボですること

予測モデル、モードの分解、方向のある交差、観測の指標、規格の判定、元のデータとの照合、複数の条件のキャンペーンを、順に作成します。提供されるヘルパーは、ngspiceの実行と波形のパースだけを担当します。失敗した条件も報告書に残し、要求した設定・回路・エンジンのログ・2つの電圧の元のデータを保存します。最終的な報告書のmeasuredはfalseです。数値の実験と実物の計測を区別して表示し、モデルで省略した結合や放射の問題を解決したとは主張しません。

モデルの文法の根拠: ngspice 42公式説明書の無損失伝送線路とPWL電圧源。 モードの分解と学習用の判定の基準は、このラボが定義したもので、特定の製品の認証規格ではありません。