配線容量と、ドライバがそれを駆動できるか
50pF の負荷は、8mA のドライバで 3.3V まで充電するのに 20ns かかり、50MHz で振れば 27mW を消費します。配線容量は「寄生」と呼ばれますが、タイミングと消費電力に数字ではっきり効きます。
配線 1cm は 1pF 前後
配線の単位長さあたりの容量は、C = tpd ÷ Z₀(伝搬遅延 ÷ 特性インピーダンス)で出せます。50Ω のマイクロストリップ(6.5ps/mm)なら 0.13pF/mm、1cm で 1.3pF。内層のストリップライン(7ps/mm)なら 1.4pF/cm、細くてプレーンから遠い 100Ω の配線なら 0.65pF/cm です。
接続されるものの容量(表)が加わります。10cm の配線に受信 IC 3 個(各 5pF)、ESD 保護(3pF)、コネクタ(2pF)なら、13 + 15 + 3 + 2 = 33pF。フラットケーブル 30cm で 15〜30pF 増え、50〜60pF です。
| 要素 | 容量 | 備考 |
|---|---|---|
| 50Ω マイクロストリップ | 1.3pF/cm | Z₀ が高いほど小さい |
| CMOS 入力ピン | 3〜10pF | データシートの Cin |
| ESD 保護ダイオード | 1〜5pF | 高速用の低容量品は 0.5pF 以下 |
| ビア | 0.3〜0.5pF | 基板厚・パッド径による |
| コネクタのピン | 1〜3pF | — |
| フラットケーブル | 50〜100pF/m | 隣接線を GND にすると増える |
| オシロのパッシブプローブ(10:1) | 10〜15pF | 測ると波形が変わる |
充電にかかる時間
一定電流Iで容量Cの電圧をΔVだけ上げる近似では t = C × ΔV ÷ I です。50pF・3.3V・8mAなら約20.6nsになります。ただしIOH/IOLは規定の出力電圧での電流保証であり、遷移全体で一定の電流が流れる保証ではありません。この値を立ち上がり時間の保証上限としては使えません。
別の近似は出力を抵抗Ronとみなす方法です。VOL = 0.4V、IOL = 8mAの一点から50Ωと仮定すると、50pFとの時定数は2.5ns、10〜90%立ち上がり時間は約5.5nsです。ただしプルアップ側とプルダウン側は同じとは限りません。伝搬遅延は基準点間の到達時刻、立ち上がり時間は波形が閾値間を移る時間であり、単純に足して立ち上がり時間とは呼べません。
20MHzの半周期は25ns、50MHzでは10nsです。5.5nsの遷移があるという理由だけで50MHzの動作不可とは判定できません。受信側のVIH/VIL、セットアップ・ホールド、デューティ比、ドライバの負荷別タイミング仕様を照合します。仕様にない容量や長い配線なら、IBISモデルと配線モデルで受信端を確認します。
ドライブ能力を選べるなら、負荷に足りる最小の設定にします。強いとリンギング・クロストーク・放射ノイズが増えます。
消費電力は C × V² × f
充電で ½CV²、放電でもう ½CV² がドライバの抵抗で熱になります。1 周期で CV²、周波数 f なら P = C × V² × f。50pF × 3.3² × 50MHz = 27mW。16 本のバスなら 0.44W で、マイコンのコア消費電力を超えることがあります。電力はドライバ側の IC で発生します。 ここでfは各線の0→1充電回数毎秒です。16本すべてが毎周期切り替わる場合だけ合計約0.44Wになり、一般のデータバスでは各線の活動率を掛けます。
減らす手段は式のとおりで、C を減らす(配線を短く、受信端を減らす、低容量の ESD 素子)、V を下げる(3.3V → 1.8V で 1/3.4)、f を下げる(不要なクロックを止める)です。電池駆動で消費電流が計算より多いなら、常時トグルするクロック線が原因のことがあります。
プローブをつなぐと波形が変わる
10:1 のパッシブプローブは 10〜15pF の容量を持ちます。33pF の配線なら 45pF になり、立ち上がりは 3 割遅くなります。測っているのは、プローブをつないだ状態の波形です。
「プローブを当てると動く」のは、その容量がホールド時間を稼いだり、リンギングを鈍らせたりするからです。1pF 以下のアクティブプローブを使うか、プローブ容量を負荷に含めて設計するか、プローブなしで(LED などで)確認します。
容量として扱えるのは、短い配線だけ
ここまでは、配線全体が同じ電圧とみなせる集中定数の話です。エッジの速いドライバと長い配線では伝送線路になり、ドライバが見るのは容量ではなく特性インピーダンス(50Ω)で、立ち上がりは反射で決まります。境目は配線は何 mm から伝送線路になるかで扱っています。
配線容量の計算機は寸法から容量を、I/O バッファの駆動計算機は負荷容量とドライバの能力から立ち上がり時間と消費電力を出します。
よくある質問
GPIO で長い配線(1m のケーブル)を駆動できますか。
配線容量を減らすには線幅を細くすればよいですか。
ドライバのデータシートの「負荷容量 50pF」は何を意味しますか。
I/O の消費電力は本当にそんなに大きいですか。
参考にした規格・資料
- 各ロジック IC・マイコンメーカのデータシート — IOH / IOL、入力容量、負荷容量の試験条件、I/O 消費電力
- IPC-2141A — 伝送線路の特性インピーダンスと単位長さあたりの容量
- Tektronix / Keysight のプローブに関する技術資料 — プローブの入力容量と負荷効果
- Texas Instruments, Understanding and Interpreting Standard-Logic Data Sheets, SZZA036C (June 2016) — §4.6、§4.9、§4.12:出力電流の条件、伝搬・遷移時間、測定負荷。