差動ペア配線
親ページ: PCBレイアウト & 高速設計
差動信号システムとは、信号が密接に結合された一対のキャリアを介して送信されるシステムで、そのうちの一方が信号を、もう一方が信号の等価で反対のイメージを運ぶものです。差動信号は、信号源の論理参照グラウンドと負荷の論理参照グラウンドをうまく接続できない状況に対応するために開発されました。差動信号は、電子製品に存在する最も一般的な干渉アーティファクトである共通モード電気ノイズに対して本質的に免疫があります。差動信号のもう一つの大きな利点は、信号ペアから発生する電磁干渉(EMI)を最小限に抑えることができることです。
差動ペアPCB配線は、プリント基板上で差動(等しく反対の)信号を運ぶことができるバランスの取れた伝送システムを作成するために使用される設計技術です。通常、この差動配線は外部の差動伝送システム、例えばコネクターやケーブルに接続されます。
重要な点として、ツイストペア差動ケーブルで達成される結合比が99%以上である場合でも、差動ペア配線で達成される結合は通常50%未満であることに注意する必要があります。現在の専門家の意見では、PCB配線のタスクは特定の差動インピーダンスを達成しようとするのではなく、外部ケーブリングからターゲットコンポーネントに差動信号が良好な状態で到着することを確実にすることに焦点を当てるべきだとされています。
業界で著名な高速PCB設計の専門家であるLee Ritcheyによると、成功した差動信号伝送には以下が必要です:
- 入ってくる差動ケーブルのインピーダンスの半分に各配線信号のインピーダンスを設定する。
- 2つの信号線がそれぞれ受信側で自身の特性インピーダンスで適切に終端されること。
- 2本の線は、設計に使用されるロジックファミリーと回路の周波数の許容範囲内で等しい長さであるべきです。タイミングを保持することに焦点を当て、設計のスキューバジェットを満たすのに十分な長さに合わせます。例えば、高速USBの場合、長さの不一致は150ミルを超えてはならず、DDR2クロックは25ミル以内に合わせる必要があります。
- 2つの信号を並べて配線することの利点を活用して、一致した長さの良質な配線を実現します。必要に応じて、障害物を避けるために分離して配線しても構いません。
- 信号インピーダンスが維持される限り、レイヤー変更は許容されます。
回路図上での差動ペアの定義
差動ペアは、ペア内のネットそれぞれにDifferential Pair directive(Place » Directives)を配置することで、回路図上で定義されます。ネットペアは、_N および _P のネットラベル接尾辞で命名する必要があります。
差動ペアの定義は、設計同期中にPCBに転送されます。
ネットタイプオブジェクトにディレクティブを適用するには、上記のようにパラメータセットディレクティブオブジェクトをネットオブジェクトに触れるように配置します。デザインルールおよび/またはそのパラメータセットオブジェクト内のクラスの存在をソフトウェアが検出し、設計同期中にPCBに出力します。 ► パラメータセットオブジェクトについてもっと学ぶ
ブランケットディレクティブを使用して複数のペアを識別する
定義するペアの数が多い場合、ブランケットディレクティブを配置するという代替手段もあります。これにより、ブランケットの下にある複数のネットにディレクティブを適用できます(ソフトウェアは、ブランケット境界内にネットラベルのホットスポットがあるネットを検出します)。その後、ブランケットは下の画像に示すように、単一の差動ペアディレクティブによってタグ付けされます。
この画像には、含まれているネットを差動ペアメンバーとして定義するよう指示するだけでなく(差動ペアディレクティブの存在により)、すべての含まれるネットがネットクラスRocketIO
のメンバーになるよう指示し、ペアが差動ペアクラスROCKET_IO_LINES
のメンバーになり、さらに差動ペア配線ルールを作成するようにも指示していることが示されています。同じ差動ペアディレクティブ内にネットクラスが指定されているため、PCBエディタに設計を転送するとき、このルールはRocketIO
ネットクラスをターゲットとしてスコープされます。
ブランケットを使用して、複数のネットを差動ペアメンバーとして設定し、これらのネットのネットクラスを作成し、差動ペア配線設計ルールを適用することができます。
差動ペアをPCBエディタに転送する
スキーマティックでネットに差動ペアディレクティブを配置した場合、デフォルトのプロジェクトオプション設定により、PCB上に差動ペアメンバーが作成されます。PCBプロジェクトのオプションダイアログで使用される以下のオプションを設定します:
- コンパレータタブ - 追加の差動ペア(その後、異なる差動ペアが後続の更新をチェックし、デザインルールを作成/変更している場合はルールオプションもあります)
- ECO生成タブ - 差動ペアの追加(その後、差動ペアの変更が後続の更新をチェックし、デザインルールを作成/変更している場合はルールオプションもあります)
- クラス生成タブ - ネットクラスの生成(PCB差動ペア配線ルールの範囲を指定するために使用するネットクラスも作成している場合)
PCB上での差動ペアの表示と管理
差動ペアの定義は、PCBパネルを Differential Pairs Editorに設定して表示および管理されます。下の画像は、差動ペアクラスROCKET_IO_LINES
に属するペアを示しています。ペアV_RX0
が強調表示されており、このペアのネットはV_RX0_N
とV_RX0_P
です。各メンバーのネット名の隣に表示される-と+は、そのメンバーがペアの正または負のメンバーであるかを示すシステムフラグです。
差動ペアは差動ペアエディターで表示および管理できます。
Differential Pair Classes領域で右クリックして新しいクラスを作成します。
PCB上での差動ペアの定義
差動ペアは、回路図上だけでなく、PCBエディター内でも定義できます。PCBエディターで差動ペアオブジェクトを作成するには、 Differential Pairs EditorモードのPCBパネルのDifferential Pairs領域にあるAddボタンをクリックします。表示されるDifferential Pairダイアログで、プラス側とマイナス側の既存のネットを選択し、ペアに名前を付けてからOKをクリックします。PCBエディターで定義される際には、任意の2つのネットを差動ペアのメンバーとして選択できることに注意してください。
名前付きネットから迅速にペアを作成します。
差動ペアクラスの定義
しばしば、設計ルールが対象とする必要がある差動ペアが1つ以上存在します。このような状況では、差動ペアのクラスを定義し、それらを論理的なグループにクラスタリングすることができます。クラスはObject Class Explorerダイアログ(Design » Classes)で定群されます。
Differential Pair Classes領域で右クリックすることにより、PCBパネルのDifferential Pairs Editorモードで新しい差動ペアクラスを作成することもできます。
xSignalsを差動ペアと共に使用する
メイン記事: xSignalsを使用して高速信号パスを定義する
差動ペアにシリーズコンポーネントが信号経路内にある場合、xSignalsを作成することが有益かもしれません。xSignalは、二つのノード間の設計者が定義した信号経路です。これらは同じネット内の二つのノードであることも、異なるネットの二つのノードであることもあります。xSignalを使用すると、シリーズコンポーネントの両側にあるネットを含むように信号経路を定義できます。xSignalsのルート長計算には、xSignalsモードのPCBパネルでxSignalが選択されたときに表示される細い線によって示されるように、シリーズコンポーネントを通る経路の長さが含まれます。
適用可能な設計ルール
差動ペアをインタラクティブに配線するには、以下の2つの設計ルールを作成し、設定してください。PCB Rules and Constraints Editorダイアログ(Design » Rules)で行います。
-
差動ペア配線 - ペア内のネットの配線幅、ペア内のネット間の隔たり(ギャップ)、および全体の非結合長(ギャップが最大ギャップ設定より広い場合にペアが非結合になる)を定義します。このルールの範囲を差動ペアである対象オブジェクトに設定します。例えば、
IsDifferentialPair
やInDifferentialPairClass('All Differential Pairs')
です。なお、最小/推奨/最大 ギャップ設定は配線中に使用できますが、設計ルールチェック中には使用できません。設計ルールチェック中には、ペア内のネット間の距離が、下記のハイライトボックスで説明されているように、適用可能な電気的クリアランス設計ルールによってテストされます。
-
電気的クリアランス - 任意のネット、同じネット、または異なるネット上の任意の2つのプリミティブオブジェクト(例:パッド間、トラックとパッド間)の間の最小クリアランスを定義します。このルールの範囲を差動ペアのメンバーであるオブジェクトを対象として設定し、例えば、
InDifferentialPair
として、以下に示すようにダイアログの制約領域で適切なオブジェクトタイプを選択します。
設計ルールの範囲設定
設計ルールの範囲は、ルールを適用したいオブジェクトのセットを定義します。差動ペアはオブジェクトであるため、以下の例のようなクエリを使用できます:
- InAnyDifferentialPair - 任意の差動ペア内のオブジェクトです。
-
InDifferentialPair('D_V_TX1') - 名前が
D_V_TX1
である差動ペアの両方のネットを対象とします。 -
InDifferentialPairClass('ROCKET_IO_LINES') -
ROCKET_IO_LINES
と呼ばれる差動ペアクラスに属する全てのペアの全てのネットを対象とします。 -
(IsDifferentialPair And (Name = 'D_V_TX1')) - 名前が
D_V_TX1
である差動ペアオブジェクトを対象とします。 -
(IsDifferentialPair And (Name Like 'D*')) - 名前が
D
で始まる全ての差動ペアオブジェクトを対象とします。
差動ペアルールウィザードを使用してルールを定義する
Differential Pairs EditorモードのPCBパネル内のNets領域の下にあるRule Wizardボタンをクリックすると、必要な設計ルールを設定するプロセスを案内する差動ペアルールウィザードが開きます。作成されるルールの範囲は、Rule Wizardボタンをクリックしたときに選択されたものに依存することに注意してください。1つのペアが選択されていた場合、ルールはそのペアのネットを対象としますが、差動ペアクラスが選択されていた場合、ルールはそのクラスのネットとすべてのペアを対象とします。
差動ペアの配線
関連記事: インタラクティブ配線
差動ペアはペアとして配線されます - つまり、2つのネットを同時に配線します。差動ペアを配線するには、RouteメニューからInteractive Differential Pair Routingを選択します。ペアのネットのうちの1つを選択するように求められます。どちらかをクリックして配線を開始します。以下のビデオは、差動ペアが配線されている様子を示しています。
差動ペア配線中には、以下の機能を実行できます:
- Shift+R を押して、衝突解決配線モード(Walkaround、Push、Hug and Push、Stop at First Obstacle、Ignore Obstacles)を切り替えます
- Shift+Spacebar を押して、利用可能なコーナースタイル(45度コーナー、コーナー内の45度アーク、90度コーナー、コーナー内の90度アーク)を切り替えます
- 3 を押して、可能な差動ペア配線幅(ユーザー選択、ルール最小、ルール推奨、ルール最大)を切り替えます
- Shift+6 を押して、可能な差動ペアギャップ(ルール最小、ルール推奨、ルール最大)を切り替えます
-
レイヤーを切り替えてビアを挿入するには:* キー(テンキー部)を押すか、Ctrl+Shift+Wheel Scroll のショートカット組み合わせを使用します。その後
- 4 を押して、可能なビアサイズ(ユーザー選択、ルール最小、ルール推奨、ルール最大)を切り替えます
- 5 を押して、レイヤー変更時の可能なビアパターンを切り替えます
- 6 を押して、可能なビアスタックを切り替えるか、8 を押して選択するリストを表示します(インタラクティブ配線中に配置されるビアを制御する方法について詳しくはこちら)
- Shift+F1 を押して、使用可能なコマンド内ショートカットを表示します
- コーナー内アークモードでは、"," キーを押して最大アーク半径を減らし、"." キーを押して最大アーク半径を増やします。アークサイズはカーソルを動かすことでインタラクティブに変更できます。この設定は、配線時にステータスバーに表示される最大許容アーク半径を定義します。
配線品質の向上
メイン記事: ポストルートのグロッシングとリトレーシング
PCBエディタには、既存の配線の品質を向上させるための強力なツールが含まれています。これらのツールはグロッシングとリトレーシングとして知られており、どちらもRouteメニューで利用可能です。
- Gloss - トレースのジオメトリを改善することに焦点を当て、角の数を減らし全体のルート長を短縮しようとします。グロスは既存のトレース幅と差動ペアのギャップを保持します。グロスは現在のGloss Effort (Routed)設定を尊重し、PCB - インタラクティブ配線ページの設定ダイアログで構成されます(画像を表示)。
- Retrace - 全体のジオメトリが満足であると仮定し、代わりに配線が設計ルールを満たしているかを検証することに焦点を当てます。グロスが既存のトレース幅とペアギャップを保持するのに対し、リトレースはそれらを好ましいものに変更します。差動ペア配線の設計ルールが変更され、その変更を既存の配線に適用する必要がある場合に、リトレースは優れたツールです。
前のセクションのアニメーション、差動ペアの配線には、Gloss Effort (Routed)をStrong
に設定した簡単なグロッシングのデモンストレーションが含まれています。
配線を選択するための戦略
選択は、既存の配線を扱うを含む、設計プロセスのすべての領域での核となる活動です。グロッシングを行う前でも、いくつかの配線を削除したい場合でも、まず配線を選択する必要があります。
内部を選択するか、接触しているものを選択する
PCBエディターでは、選択は選択矩形内部のオブジェクト、または選択矩形に接触しているオブジェクトのいずれかになります。これは、選択矩形を描く際にマウスを動かす方向で制御されます:
内側を選択 - 左から右へ青い四角形をクリック&ドラッグして、選択範囲内に完全に収まるすべての表示されている、ロックされていないオブジェクトを選択します。 | |
接触を選択 - 右から左へ緑の四角形をクリック&ドラッグして、選択範囲に触れるすべての表示されている、ロックされていないオブジェクトを選択します。 |
選択範囲の拡張
接触している多数のオブジェクトを選択する必要がある場合はよくある状況です。例えば、配線されたネットのトラックセグメントや、配線されていないネットの接続線などです。平行に走るトラックセグメントのセットを接触しているものを選択する技術を使って選択するのは比較的簡単ですが、ルート全体を対話的に選択するのは難しい場合があります。
これは、1つ以上のトラックセグメントを選択し、接触しているトラックセグメントを含めて選択範囲を拡張することで簡単に実現できます。これは、下のビデオで示されているように、Tabキーを使用して行います。
配線選択技術のデモンストレーション
差動ペア配線のインタラクティブな変更
メイン記事: 配線の変更
配線中には、既存の配線を変更する必要がある多くの場面に遭遇します。たとえば、パッドの出口に満足できない場合や、それらを再形成したい場合(下のビデオに示されているように)などです。トラックセグメントをクリックしてドラッグするドラフティングタイプのアプローチを使用して既存の配線を変更することはできますが、単に再配線する方がしばしば簡単です。
これを行うには、Route » Interactive Differential Pair Routing コマンドを選択し、既存の配線上の任意の場所をクリックします。新しいパスを配線し、必要に応じて既存の配線に戻ってきます。これにより、古いパスと新しいパスの間にループが作成されます。右クリックまたは Esc を押して配線を終了すると、冗長なセグメントが自動的に削除されます。これには、冗長なビアも含まれます。差動ペア配線は、シングルネット配線とは少し異なります。シングルネット配線は、最後のセグメントを中空(先読みセグメント)に設定できます。このセグメントは、クリックしたときに配置されません。差動ペア配線には、先読みセグメントが含まれていないため、クリックすると表示されているすべてのセグメントが配置されます。冗長なセグメントがないようにカーソルを位置づけてください。
手動でトラックセグメントをドラッグして差動ペアを調整している場合、一方のペアメンバーをもう一方と一緒に押し出すか、それぞれを独立してドラッグすることができます。
インタラクティブなビアのドラッグ
PCBデザイナーは、遅れた設計変更のためや、設計を完成させるために、配線の調整に多くの時間を費やすことがあります。これには、既存の配線を押したり引いたり、ビアをドラッグしたり、コンポーネントを微調整したりすることが含まれます。
隣接ルートのグロッシングサポートに加えて、ドラッグによる操作もサポートされています。ドラッグによる操作は隣接グロッシングをサポートし、PCBエディタのPropertiesパネルのインタラクティブビアドラッグモードを通じて設定できます。Tabキーを押しながらビアをドラッグすると、パネルにアクセスして設定を調整できます。
差動ペアのドラッグ
差動ペアのメンバーを認識するために、カップリングの概念が使用されます。ソフトウェアが差動ペアに属するオブジェクトを認識すると、PropertiesパネルのInteractive SlidingまたはInteractive Via DraggingモードでKeep Coupledオプションが有効になっている場合、ペアのパートナートラックやビアをドラッグしようとします。
パートナーオブジェクトが連携していることを確認するために、ソフトウェアは以下のオブジェクトをチェックします:
-
ビアペアについて - ペアに属し、
2 * Preferred Gap
よりも近い -
トラックペアについて - ペアに属し、同じレイヤー上にあり、
Preferred Gap
を超えることなく分離されている
利用可能なクリアランスの表示
配線中に、なぜその隙間を通過できないのかと悩んだことはありませんか?このようなフラストレーションは、差動ペア配線を行う際にさらに発生しやすいです。Altium Designerには、この問題を解決するための機能が含まれています。それはクリアランス境界の動的表示と呼ばれます。有効にすると、既存のオブジェクト + 適用可能なクリアランスルールによって定義された禁止クリアランスエリアが、下のビデオに示されているように、ローカル視聴円内でシェーディングされたポリゴンとして表示されます。Ctrl+Wを押して、機能のオン/オフを切り替えます。
差動ペア配線中にクリアランスの境界を動的に表示します。
表示エリアは、現在のカーソル位置の周囲の領域に制限することも、画面全体にすることもできます。これは、PreferencesダイアログのPCB Editor - Interactive RoutingページのReduce Clearance Display Areaサブオプションで制御されます。
差動ペアの長さを合わせる
差動ペアは、本質的なノイズ耐性と、信号の高品質なリターンパスを提供する課題を簡素化するという事実のため、高速設計でよく使用されます。しかし、単一側信号と同様に、信号タイミング要件を満たすために、その長さを管理する必要があります。
差動ペア配線中に、ペアの2つのネットのそれぞれの長さがステータスバーに表示され、ヘッズアップディスプレイ(Shift+Hでオン/オフ切り替え)にも表示されます。ペアの配線を終了したときに、PCBパネルに表示される長さの値が更新されます。
一致した長さと長さの設計ルール
長さと一致した長さの設計ルールは、フライトタイムとスキューのタイミング要件が満たされるように定義することができます。これらのルールは、設計ルールチェック(DRC)中だけでなく、インタラクティブな長さ調整中にも使用されます。
一致した長さの設計ルールは、ルールの範囲によって対象とされる最長のペアを検出し、そのペアの平均長さ値を参照として使用して、他の対象ペアがルールで定義された許容誤差内であることを要求します。この平均長さ値は、PCBパネルのDifferential Pairs Editorモードで表示されます。
ペア内およびペア間の設計ルール
ペア間、および各ペア内でマッチした長さの要件がある可能性が高いです。
これを管理するには、適切なマッチした長さの設計ルールを作成します:
- ペア間(グループマッチした長さオプションを選択することで達成)に適用されるマッチした長さの設計ルールを定義します。以下の画像に示すように、必要なペア(またはxSignals)にルールを適用するようにスコープします。
- ペア内で適用される別のマッチドレングス設計ルールを定義します(Within Differential Pair Lengthオプションを選択することで達成)。このルールは、各ペア内の2つのネットの長さが許容範囲内であることを保証します。このルールは、下記に示すように、差動ペアを対象とするWhere the Object Matches設定を使用してスコープを指定する必要があります。このルールは、ペア間のルールよりも高い優先度を持つべきです。
差動ペアの長さ調整
メイン記事: 長さ調整
ペアの長さ、および各ペア内のネットは、2つの長さ調整コマンドを使用して調整されます。長さを調整するには:
-
差動ペアの長さは、RouteメニューのInteractive Diff Pair Length Tuningコマンドを使用して正確に調整できます。長さ調整中には、アコーディオンスタイルとサイズをインタラクティブに調整するためのショートカットを使用するか、Tabを押してDifferential Pair Length TuningモードでPropertiesパネルを開くことができます。パネルでは、目標長さが定義されます:
-
適用可能な長さおよび/またはマッチング長さの設計ルールから
-
ユーザーが選択した配線された差動ペアから
-
手動で目標長さフィールドに値を入力
-
- ペア内のネットを調整するには、RouteメニューのInteractive Length Tuningコマンドを使用します。ペア内でより長いネットを調整しようとすると、Target Length Shorter than Old Lengthというメッセージが表示されます。
長さ調整のページを参照して、アコーディオンスタイル、振幅、ピッチを変更するために使用できるショートカットの詳細なリストを確認してください。このページでは、長さと一致した長さの設計ルールにおいて重複する設定がある場合に、ソフトウェアがどのルール設定に従うかについても説明しています。
長さ調整とアコーディオンの修正のデモンストレーション
このビデオでは、xSignalの長さに基づいて他のペアに対してペアの長さを調整するために長さ調整アコーディオンを追加する様子を示しています。各ペアの短いメンバーは、そのペアの長いメンバーに対して長さ調整されます。ビデオでは、ペアを対話的に移動および再形成する方法、チューニングアコーディオンを削除する方法、配置中にショートカットを使用して新しいアコーディオンを形成する方法も示しています。
参照
このページの画像にiMX6 Rex開発ボードを使用させていただいたFEDEVELアカデミーのRobert Feranecに感謝します。(www.fedevel.com) (http://www.imx6rex.com/) ```plaintext
```