論理的なシステムデザインの設計
高度なエレクトロニクス製品設計は、機能的なシステムを作成するために、相互に連結する複数の PCB デザインから成り立っています。メイン基板とフロントパネル LCD モジュールを含むデザインから、プラグインカードを含む複雑なアクティブ バックプレーン システムまで、複数の基板設計システムとして実装されています。
これには、ピンとネットの接続性を維持し、複数の '子' PCB デザインを電気的、物理的に接続できる高レベルの設計システムが必要です。統合されたシステムレベル設計は、システムデザインの論理的(回路図)、物理的(PCB)な面を考慮した マルチボード設計 環境の Altium Designer で対応しています。
システムレベルのマルチボードデザインは、マルチボードプロジェクトタイプ (*.PrjMbd
)、回路図ベースの論理的な設計ドキュメント (*.MbsDoc
)、物理的なPCBベースのドキュメント (*.MbaDoc
) で管理されます。このドキュメントタイプにより、既存の Altium Designer のプロジェクト設計をマルチボード設計環境(それらを相互に連携できます)として利用できます。
子 PCB プロジェクトデザインからマルチボードシステム回路図デザインを作成する方法は、以下です:
- Altium Designer のマルチボードプロジェクトを作成し、マルチボード回路図ドキュメントをプロジェクトへ追加します。
- 子プロジェクトを論理的に表すために、回路図にグラフィカルブロック(モジュール)を配置します。
- 各モジュールを適切な子プロジェクトへリンクします。
- 子プロジェクト接続データをシステムデザインへインポートします。
- モジュール間の接続を追加し、論理的なシステムデザインを作成します。
マルチボード システムデザインで子ボードデザインを表す Altium Designer PCB プロジェクトには、エッジコネクタ、またはヘッダプラグ/ソケット等、他の PCB への電気的、物理的なインターフェースとして特定の接続が含まれます。
これらの接続や、それに関連する電気的ネットは、ボード間の接続を確立するために、マルチボード回路図(論理的)ドキュメントによって検出、処理される必要があります。この機能は、PCB プロジェクトにあるコネクタのコンポーネントパラメータ(属性値が Connector
の System
パラメータ)によって有効になります。
PCB プロジェクトデザインの各コネクタをシステムレベルの相互接続のために使用するには、コネクタ部品を選択してから、Properties パネルの Parameters タブで特定のコンポーネントパラメータを追加します。
マルチボード設計プロジェクト
Altium Designer のシステムレベルの設計は、マルチボードプロジェクト(File » New » Project メニューから Multi-board Design Project オプションを選択して作成される他のプロジェクトタイプ)で構成されます。あるいは、File » New » Project » Project オプションを選択して New Project ダイアログを開き、Managed や VCS プロジェクト等の詳細なプロジェクト作成オプションを選択したり、指定したフォルダを自動で作成できます。
マルチボードプロジェクトの主要な設計要素は、論理的な接続設計(Multi-board schematic document (*.MbsDoc
) で開発します)です。このファイルタイプを Projects パネルにあるマルチボードプロジェクトへ追加します(プロジェクトを右クリックし、Add New to Project » Multi-board Schematic を選択、またはメインメニューから File » New » Multi-board Schematic を選択して)。
マルチボード システムデザインを構成する PCB プロジェクト間の接続は、回路図にブロック (モジュール) を配置して構築します。そして、コネクタ (エントリ) を仮想コネクションと/またはワイヤを使用して接続します。
子 PCB プロジェクトデザインを表すモジュールは、Place » Module メニューから、または Active Bar(以下をご覧ください)のモジュールボタン () を選択してワークスペースに配置します。
配置した モジュール を選択し Properties パネルを使用して、その Designator と Title を定義できます。また、そのモジュールは、ソース PCB デザインプロジェクトにリンクされます。Source オプションでは、ローカル、またはサーバベースの管理されたプロジェクトに設定できます。そして、指定したプロジェクト内のボードデザイン (Assembly/Board) を設定できます。
完全なシステムデザインに必要なため、更に、モジュールを追加し、子プロジェクトをマルチボード回路図へリンクします。
インポートが完了した後、モジュールブロック上に、コネクタのそれぞれに対してモジュールエントリ が自動で作成されます。コネクタエントリは、子プロジェクトのコネクタのピンやネットと関連付けられます。
子プロジェクト モジュール を作成、接続するプロセスを完了するには、モジュールエントリ 間の論理的な コネクション を配置します。
エディタの Place メニュー、または Active Bar(ワークスペースの上部にある)から、Direct Connection や Wire(コネクタを接続する)を含む、様々なコネクションタイプを利用できます。モジュールエントリ ポイント間でコネクションラインをクリックしてドラッグし、論理的な接続を作成できます。エントリ オブジェクトを含むシステム回路図エディタの全ての要素は、新しい場所へドラッグできることに注意してください。
確立されたマルチボードプロジェクトは、ソースドキュメント(マルチボード回路図やアセンブリ)や、回路図システムデザインのモジュールへリンクした子 PCB サブプロジェクトを含む階層ドキュメント構造の特徴があります。システムデザインモジュールが外部のプロジェクトへリンクされている時、子プロジェクトの構造は、すぐにマルチボードプロジェクトへ追加されます。
Projects パネルでプロジェクト構造を展開し、マルチボードプロジェクトや子プロジェクトの構成ファイルを表示できます。子プロジェクトをコンパイルして、コンポーネントやネット等、主要な要素をパネルに表示できます。プロジェクトをコンパイルするには、Projects パネルのツリーでファイル名を右クリックし、Compile PCB Project [..name..] コマンドを選択します。
コネクションでの作業
回路図のモジュール間を確立したコネクションは、システムデザイン全体の子プロジェクトコネクタ、コネクタピン、ネット間の接続を表します。マルチボード回路図の編集環境では、全体の製品設計を行う時、その接続性を修正、確認、更新する機能があります。
コネクションの分割
子プロジェクトのコネクタが、複数のプロジェクトに使用される設計状況で、ソースコネクタは、マルチボード回路図エディタの Split 機能を使用して、論理的に分割できます(ピン/ネットに関して)。実際には、1つのモジュールは、2つの他のモジュールへ接続されます。
このような設計の例では、PCB上で、1 つのヘッダプラグが、2 つの小さいヘッダソケットへ接続することを意味します。これは、2 つの PCB に順番に接続します – 1 つの(20ピン)コネクションから分割された信号は、ある PCB の(10ピン)コネクションと別の PCB の(10ピン)コネクションへ分配されます。
コネクションを分割するには、モジュールを選択してから Properties パネルでエントリを選択します。 ボタンを選択し、以下の Split Entry ダイアログで他のエントリへ分割したいピン(ピン/ネットの組み合わせ)にチェックを入れます。
ボタンを使用し、確定します。
分割したピン/ネットの新しいモジュールエントリが自動で作成されます。これは、必要に応じて、別のモジュールへ接続できます。
ここで示す例では、モジュール M1
のエントリ HDR6
は、モジュール M2
(パネル LCD ディスプレイ) とモジュール M3
(電源基板) に接続することを意味します。HDR6
エントリ コネクションは、論理的に 3 つの電源ネット(電源モジュール M3
の HDR3
に接続する)に分割されています。これにより、M3
に 3 つの電源コネクションを接続するために、M1
に HDR6
エントリが作成されます (HDR6 [1-2,15]
)。一方、オリジナルの HDR6
エントリは、残りの 17 個のコネクションを接続するために自動で再割り当てされます(LCD モジュール M2
の HDR1
へ接続します)。
ワークスペースの Connection を選択し、Properties パネルでそれに関連するネットを確認できます。ここでは、分割された HDR6
ネットの 1 つが、ワイヤコネクション W-PS
を介して HDR3
に接続されます。これは、Main Board (M1
) と Power Supply (M3
) 間の 3 つの電源ラインを表します。下図に示すように、パネルの Connections 領域にリスト表示された各仮想ワイヤには、エントリ名、ピン、ネット、From と To 欄が含まれています。
子プロジェクトモジュール間のコネクションは、ピン間を一致させる必要はありません(特に、異なる PCB モジュールへ接続される部分でコネクタが分割されている時)。
モジュール間のピン/ネットの相互接続に関するマッチングを編集、または修正するには、ワークスペースの Connection を選択し、Properties パネルの Connections リストで必要に応じて、From/To の割り当てを変更します。
From、または To のドロップダウンリストを使用して、新しいネット割り当てを選択できます。そのため、モジュール間のコネクション内で、個々のコネクション、またはワイヤを介して異なる端子間の信号を選択できます。
コネクション マネージャ
マルチボードデザインの全体の接続は、Connection Manager ダイアログ (Design » Connection Manager) で確認できます。
このダイアログでは、全てのネット/ピンの割り当てがリスト表示されます(親コネクション デジグネータやタイプ(ワイヤ、Direct 等)下でグループ化され、システムデザイン ID、ネット名、From と To ピン/ネットコネクションを含む)。ダイアログの オプションを使用して、リストに正確なピンコネクションの詳細を含めることができます。
ダイアログの下部にある Conflict Resolution 領域には、以下で説明する通り、デザインを更新中に、マルチボード システムデザインとソース(子)プロジェクト間の接続が一致していない情報が表示されます。
システムデザインの更新
マルチボード システムデザインを設計中、ソースの子プロジェクトも開発する可能性があり、その場合、それらの変更をシステムデザインへ反映する(と同期する)必要があります。この更新プロセスは、Engineering Change Order (ECO) を介して、子デザインをマルチボード設計領域へ再インポートして行います。
Design » Import From Child Projects コマンドを使用して、システムデザインの全ての子プロジェクトの変更をインポートできます。または、Design » Import From Selected Child Projects を選択して、ワークスペースで選択されているモジュールのコネクションデータを再インポートできます。これらのコマンドは、モジュール グラフィックを右クリックして表示されるメニューからも利用できます。
実行した ECO では、現在のシステムデザインの接続と、子プロジェクトからインポートされたコネクションデータ間の相違を示します。この情報は、Connection Manager ダイアログ (Design » Connection Manager) で利用できます。これは、子プロジェクトから更新したコネクションデータを解決、または拒否するためにも使用します。
不一致の解決
Connection Manager ダイアログのリストでは、不一致 となるコネクション(システムデザイン エディタの既存の接続データマップと一致しないインポートされたコネクション)がハイライト表示されます。リスト内のハイライトされたネットエントリを選択して、不一致のグラフィック表現を表示できます。そして、それを解決するためのボタンオプションを利用できます。
Connection Manager のリストにあるハイライトされた欄に示されたネット情報は、提案した変更を表します。ここで示す例では、子プロジェクト (LCD Module
) の HDR1
のピン 4 と 5
のネットは、異なる順番になっています(スワップされています)。
Connection Manager では、この変更が認識され、Conflict Resolution グラフィック上に修正するためのボタンが表示されます。そのオプションには、以下が含まれています:
- Confirm – モジュール
M2
にあるHDR1
コネクタのピン4
と5
のネットは、ダイアログで更新された割り当て(ハイライト表示された箇所)と一致させるように、システムデザインで変更されます。 - Revert – モジュール
M2
にあるHDR1
の現在のピンのネットは、維持されます。提案した変更は、システムデザインで無視されます。システムデザインは、子デザインのネット割り当てと一致しないことに注意してください。 - Swap Pins – コネクションの反対側のピン/ネット割り当ては(メイン基板の
M1
にあるHDR6
)、2 つのモジュール(M1
とM2
)間で正しいネットになるように変更されます。 - Swap Wires -
M2
にあるHDR1
とM1
にあるHDR6
間で接続している仮想ワイヤは、ネット接続の不一致を修正するために変更されます(この場合、スワップされます)。そして、コネクタのピン/ネット割り当ては、変更されません。ここで、ワイヤW2
は、HDR6
のピン 4 とHDR1
のピン 5 が、ワイヤW3
は、ピンHDR6-5
とHDR1-4
が接続されます。
修正したネット割り当てが、緑色でハイライト表示されます。また、ダイアログ下部のコネクション グラフィックにも反映されます。 ボタンを選択して、更新した割り当てをマルチボード システムデザインへ適用できます。
以下に示す Properties パネルの画像の例では、W-LCD
コネクションの不一致が、Swap Wires オプションを使用して解決されました。これは、正しいネット接続が維持されるように、効果的にワイヤ W2
と W3
が交差しました(つまり、Reset と Read/Write ネットが、プロジェクトモジュール間で一致しました (LCD_RW#
→ RSW
と LCD_RS#
→ RS
それぞれ))。
子プロジェクトの更新
マルチボード回路図と子 PCB プロジェクト間の同期を維持するために、システム設計者は、ピン/ネットデータの双方向の交換を対応します。接続データは、上記で説明した通り、子プロジェクトからシステムデザインへインポートされます。そして、システムデザインの接続データは、子プロジェクト更新機能(Design » Update Child Projects)を介して、ソース PCB プロジェクトへ戻される場合があります。個々の子プロジェクトを更新するには、モジュールを選択し、Design » Update Selected Child Projects コマンドを選択します – 双方のコマンド共、モジュールを右クリックして表示されるメニューから利用できます。
コマンドが実行された時、システムデザインの接続データと、子プロジェクトの接続データが比較されます。検出される相違は、提案した変更として以下の Engineering Change Order (ECO) ダイアログにリスト表示されます。または、Comparator 警告ダイアログが表示され、相違が無いことを示します – システムデザインを子プロジェクトと同期するために必要な変更は無いことを意味します。
ここで示す例で検出された相違では、RS
と RSW
のネットが、LCD Board Child Project (システムデザイン内の M2
) のコネクタ HDR1
上でスワップされています。ECOは、ソースプロジェクトでピンスワップを実行し、ネットと同期できます。
ECO を実行した時(オプションによる確認後)、LCD モジュール子プロジェクトの HDR1
コネクタピンは、スワップされます。
Update Child Projects プロセスは、子プロジェクトをシステムデザインの正しい状態へ同期させるために、通常、不一致が Connection Manager ダイアログで解決された後、実行されることに注意してください。
上記の例では、子プロジェクトのピン/ネットの関係は、変更する前の状態に戻されています。これは、変更した子プロジェクトデータがシステムデザインへインポートされた場合と同じで、コネクションの不一致は、Revert オプションを使用して解決されました。Swap Pins オプションを使用して不一致を解決する場合、Main Board プロジェクトの HDR6
コネクタ上にあるピン 4
と 5
は、スワップされます。
その他の検出、解決された変更(一致しないネット名等)は、対象の子プロジェクトへ直接、更新して同期されます。