抵抗ひとつでこだまを抑える
一言でいうと
直列終端はソースに戻ってきた波を吸収し、並列終端は負荷での反射を減らします。どちらも50Ωという数字が出てきますが、回路の電圧と消費電流は同じではありません。
なぜ必要なのか
反射が見えると、「50Ωの抵抗を入れればいいだろう」と考えがちです。しかし、どこに入れるか、ドライバーにすでにどれだけの抵抗があるかを見落とすと、意図と違う回路を作ってしまいます。実際の設計レビューでも、値と位置は対です。このモジュールでは、ほかの部品はそのままにして、終端の位置だけを変えて原因を切り分けます。
基準回路の最初の受信電圧は約5.5Vでした。この結果を3.3Vに下げる方法の1つが、ソースの合計抵抗を線路に合わせることです。しかし、「高い電圧を下げた」だけで、設計の問題がすべて終わったわけではありません。別の線路インピーダンス、ドライバー抵抗、負荷や受信のタイミングでは、残る誤差が変わります。
どう動くのか
ソース反射係数ΓS=(Rs−Z0)/(Rs+Z0)をもう一度見ましょう。Rs=Z0なら分子が0なので、ソースに戻ってきた波が再び負荷側へ反射されません。今回のドライバーはすでに10Ωなので、追加の直列抵抗は40Ωです。追加抵抗を50Ωにすると合計が60Ωになり、公称の線路50Ωと合いません。
ソースを合わせると、最初に線路へ出ていく電圧は電源の半分、つまり1.65Vです。非常に大きい負荷で反射した波が足し合わさり、受信端は約3.3Vになります。したがって、送信端の最初の波形だけを見て「半分しか出ていないから失敗」と判断してはいけません。どこで、いつ読んだかが結果の一部です。
負荷から戻ってきた波がソースに到着するとき、送信端の電圧そのものは変わることがあります。ΓS=0は、そのノードの電圧が永遠に最初の値だという意味ではなく、到着した波が再び前へ跳ね返らないという意味です。実際の回路のノード電圧と、一方向に進む波の成分を区別すると、この見かけ上の矛盾は解けます。
逆に、負荷抵抗RLをZ0と同じ50Ωにすると、ΓL=0です。このとき、負荷から戻ってくる波はありません。追加の直列抵抗は0Ω、ドライバーは10Ωのままだとしましょう。線路に最初に出ていく波は3.3×50/(10+50)=2.75Vで、受信端も2.75Vです。反射はなくなりましたが、論理電圧が電源と同じになったわけではありません。
| 実験 | 追加の直列抵抗 | 負荷 | 最初に比べること |
|---|---|---|---|
| 基準 | 0Ω | 1GΩ | 最初の受信オーバーシュートと後ろの反射 |
| 直列終端 | 40Ω | 1GΩ | 合計ソース50Ωと最初の受信電圧 |
| 並列終端 | 0Ω | 50Ω | 受信電圧の低下と持続電流 |
並列終端には、電力という別のコストもあります。理想的な無損失線路で十分に時間がたったDC状態では、ソースと負荷の抵抗で電流を計算できます。電流I=Vs/(Rs+RL)、負荷の消費電力P=I²RLです。この値は、最初の14nsの任意の時点で測った瞬間電力ではなく、定常状態の予測です。
例として、Vs=3.3V、Rs=10Ω、RL=50Ωなら、I=0.055A、負荷電力は0.15125Wです。mAで表示したいなら、最後に1,000を掛けます。分析関数の戻りフィールドはcurrent_aとload_wなので、55をそのままcurrent_aに入れると1,000倍の誤りです。電圧・抵抗の計算は合っていても、単位変換で結果が間違う場合も、あわせて防ぐ必要があります。
だからといって、今回の計算で実物の抵抗の定格を選んだとは言えません。温度、デューティ比、ドライバーの非線形な出力抵抗、実際の保護条件が抜けています。私たちが比べているのは、明示した理想的なモデルで終端方式が生む違いです。製品に適用するときに必要な確認リストは、この小さなモデルの計算とは別に残します。
公称値で合わせた40Ωは、すべての条件で完璧でしょうか。ドライバーを8/10/12Ω、線路を45/50/55Ωに変えると、合計9通りの組み合わせになります。追加抵抗は40Ωのまま固定します。組み合わせごとに追加抵抗を最適化し直すと、「同じ部品1つが偏差にどれだけ耐えるか」という問いではなく、異なる設計どうしを比べることになります。
9個の波形の受信最大値を集めると、代表条件1つでは見えなかった残留反射を見つけられます。この格子は教育用の条件の集合で、工程の確率分布ではありません。9つのうち1つが高い値を示したからといって、生産品の9分の1が不良になると推定することはできません。確率を語るには、分布や相関などの別の根拠が必要です。
分析関数summarizeは、count、min_peak_v、max_peak_v、max_caseを返します。最大値が同じ場合は、名前が辞書順でいちばん早い組み合わせを選びます。この規則は物理法則ではなく、報告書の再現性のための約束です。ディレクトリを読んだ順序が変わったからといって最大条件の名前まで変わると、お互いの結果を比べにくくなるからです。
現場での姿
条件を一度に複数変えると、結果が良くなっても原因がわかりません。まず基準回路を保管し、直列と並列をそれぞれ別のフォルダーに生成しましょう。フォルダーには、入力モデル、回路テキスト、波形、実行報告書が結び付いている必要があります。「最終.csv」を上書きし続けると、会議中にどの抵抗を使ったかを記憶に頼ることになります。
ドライバーモデルとPCBのスタックアップからZ0を抽出する実務作業は、この授業には含まれていません。ここでは、与えられた数値の集合を順に回しながら、結果を自動で読む感覚を練習します。のちに実際の部品モデル・周波数依存の損失・測定結果を加えるときも、条件と出力ファイルを結び付けるこの作業習慣が必要です。
続けて学ぶこと
次のモジュールでは、ソルバーが成功したのに結果をもう一度検証しなければならない理由を見ます。最後のラボでは、直列終端と並列終端の出力フォルダーを別々に作り、時間間隔を半分に変えて数値の差も計算します。最大値が1つ小さくなったという主張と、根拠が結び付いた検証報告書を区別してみます。