Altium Designerのプロジェクト

アルティウムのソフトウェアを使用して構築されたPCB設計プロジェクトに関するコンテンツをご覧ください。

Filter
見つかりました
Sort by
役割
ソフトウェア
コンテンツタイプ
フィルターをクリア
ハードウェア・イン・ザ・ループテストのためのビルドおよびランタイム環境のコンテナ化 1 min Altium Designer Projects 最近、継続的インテグレーションシステムを使用した自動テストのための環境をコンテナ化することについて多くの質問を受けています。その文の大部分が理解できなかったとしても心配しないでください。なぜなら、コンテナ、Docker、およびそれらを組み込み環境やハードウェアインザループテストでどのように活用するかについて、詳しく説明するつもりだからです。 コンテナとは何か? コンテナについては、 Dockerからのこの記事を含む、優れた記事がたくさんあります(Dockerは最も人気のあるコンテナランタイムエンジンの一つです)。ビルド環境(例:組み込みシステム)やテスト環境(例:ハードウェアインザループテスト)でのコンテナの使用は、新しいマシンを立ち上げるたびにすべての面倒な設定を抽象化する能力を私たちに与えてくれます。これは、新しいテストマシンに関連するだけでなく、組み込みファームウェアのビルドのためにクラウドでの運用をスケーリングする際にも関連します。 これらの日にどんな規模の運用を行っているかに関わらず、多くの企業は裸のメタルサーバーを維持する負担をクラウドにオフロードすることを活用しています。DevOpsの原則では、書いたソフトウェアがいつでも、どこでも、任意の場所でビルドして実行できることを常に確実にしたいと考えています。クラウドで新しいマシンを絶えず立ち上げ、コンパイルソフトウェア、ライブラリ、その他のソフトウェアパッケージをインストールすることはうまくスケールしません。これが、まさにコンテナ化が非常に人気になっている理由です。ビルド(またはランタイム環境)を取り、非常に軽量な仮想マシンにパッケージ化し、それをクラウドであれ自分のパーソナルコンピュータであれ、任意のマシンで実行できるように配信できます。 コンテナの作成と使用 プロジェクトでこれらのコンテナを実際に作成して使用する方法を探りましょう。コンテナイメージの作成を始めるとき、まず「ベースイメージ」として既存のものから始める必要があります。ほとんどの場合、Debian、Ubuntu、AlpineなどのLinuxオペレーティングシステムのバリアントで十分です。Dockerfileを作成するときは、次のようにイメージを参照します: FROM ubuntu:latest これは、ベースオペレーティングシステムが最新のUbuntu Dockerイメージを実行することを示しています。その後、ビルドまたはテスト環境に必要なライブラリをインストールする必要があります。 ある例のリポジトリでは、Debianパッケージマネージャ(Apt)を使用してArduino IDEをインストールし、さらにArduino Samボードドライバーをインストールすることで、より多くのレイヤーを追加しました。このコンテナを特権モードで実行する(またはデバイスへのボリュームマウントポイントを渡す)ことで、Dockerしか含まれていない真新しいマシン(つまり、IDEやドライバーは含まれていない)で、コマンドライン経由でArduinoスケッチをコンパイルしてアップロードできます。 テスト対象のデバイスに接続された機器でも同じことができます。 このDockerコンテナでは、Analog Discovery 2デバイスを動作させるために必要な依存関係とソフトウェアをすべてインストールしています。理論的には、新品のマシン(Dockerのみを含む)にDockerコンテナを展開し、何の問題もなくAnalog Discovery 2と通信を開始できます。Analog 記事を読む
Pi MX8 第四章 Pi.MX8 プロジェクト - ボードレイアウト パート2 1 min Altium Designer Projects 前回のアップデートでは、モジュールに適したレイヤースタックを定義し、ボード上に配置されたすべてのコンポーネントにファンアウトルーティングを追加することを見てきました。これらの準備に基づき、私たちは今、最初のトレースをルーティングする準備がほぼ整いました。しかし、ボード上の任意のコンポーネントを接続する前に、インピーダンスプロファイルを定義し、正しいトレース幅に対するマッチングデザインルールを設定する必要があります。 インピーダンスプロファイルの設定 レイヤースタックマネージャーでインピーダンスプロファイルを設定するのは簡単です。単終端と差動インピーダンスプロファイルの両方を定義する必要があります。必要なインピーダンス値に関する情報は、インターフェース標準とNXP i.MX8プロセッサのハードウェア設計ガイドから取得できます。以下のインピーダンス値は、設計で使用される単終端および差動の両方です: 以前に定義されたレイヤースタックでは、インピーダンス制御ルーティングに使用できる4つの信号層があります。これらはトップレイヤー、L2、L7、およびボトムレイヤーです。トップレイヤーとボトムレイヤーはそれぞれ1つの参照グラウンドプレーンしか持っていませんが、L2とL7は2つの参照プレーンの間に埋め込まれています。インピーダンス値と参照層を入力した後、トレースのジオメトリは自動的に計算されます: レイヤースタックマネージャーインピーダンスプロファイル差動100オーム トレースのジオメトリー、特に差動ペアのトレース幅とギャップを定義する際には、必要なルーティングスペースを念頭に置くことが重要です。可能であれば、必要なルーティングスペースを限定するために、差動ペアの全体幅を小さく保ちたいと考えています。ボードの密度に応じて、これもレイヤースタックを定義する際に考慮すべき事項です。 設計ルールの設定 最初のトレースをルーティングできるようになる前に残っているステップは、Altium Designerに、インターフェースとルーティングレイヤーに応じて必要なトレース幅(および差動ペアのギャップ)を伝えることです。インピーダンス値は、回路図の適切なインターフェースに割り当てられます。ここでは、ネットをネットクラスや差動ペアクラスに割り当てるためにディレクティブを使用することができます。 デザインブランケットに割り当てられた複数のネットクラス 設計ルールエディターでは、これらのネットや差動ペアクラスをターゲットにして、対応するトレースジオメトリーを割り当てることができます。トレースジオメトリーを手動で入力する代わりに、レイヤースタックマネージャーで定義したマッチングインピーダンスプロファイルを選択することができます: 設計ルールダイアログで使用されるインピーダンスプロファイル – 高優先度ルールがインピーダンスプロファイルをオーバーライド 私たちの設定で最も高い優先度を持つ別の設計ルールがあることに注意してください。この設計ルールは、前回のアップデートで作成した特定の設計ルームにのみ適用されます。これらの設計ルームは、細ピッチコンポーネントの直下にのみ配置され、ブレイクアウト領域で最小85μmまでのトレース幅と間隔を局所的に使用できるようにします。これらのルームの設計ルールは、定義されたインピーダンスプロファイルを上書きする必要があるため、最も高い優先度を持ちます。これらのルーム内で必要なトレースの形状に従うことができない場合があるため、できるだけ小さく保ち、インピーダンスプロファイルから逸脱するトレースの形状を絶対に必要な場所でのみ使用する必要があります。これらのセクションを非常に小さく保つことができれば、チャネルの信号整合性への全体的な影響は許容範囲内になります。ただし、これをポストレイアウトシミュレーションで確認する必要があります。 細ピッチBGAの下に示された赤い設計ルーム LPDDR4ルーティング すべての設計ルールが定義された今、最初のインターフェースのルーティングを開始できます。このボードでは、DRAMインターフェースから始めます。 このボードの全体的なルーティング戦略をまだ定義していないことにお気づきでしょう。ルート配置を行う前にこれを行うこともできましたし、個人の好みによってはそれが間違っているわけではありません。このボードでは、DRAMインターフェースを最初にルーティングして、DRAMインターフェースに割り当てる必要があるスペースとルーティングレイヤーの数を確認することにしました。LPDDR4 記事を読む
Pi. MX8_Chapter_III Pi. MX8 プロジェクト - ボードレイアウト パート1 1 min Altium Designer Projects Pi.MX8オープンソースコンピュータモジュールプロジェクトの第3回へようこそ!この記事シリーズでは、NXPのi.MX8Mプラスプロセッサをベースにしたシステムオンモジュールの設計とテストについて詳しく説明します。 前回の更新では、モジュールの回路図の構造を見て、予備的な部品配置の準備を始めました。部品を配置した今、設計の密度とそれがレイヤースタックに要求することがどの程度かがよくわかります。今日は、適切なスタックアップを選択し、最初のトラックのルーティングを開始します。 レイヤースタックの定義 部品配置といくつかの戦略的要因に基づいて、今後の設計に使用したいPCB技術とレイヤースタックを決定できます。まずは部品の密度を見てみましょう: 部品配置 トップサイド 予備的な部品配置により、全体的な設計の密度が適度であることが明らかになりました。アクティブな部品はすべて基板のトップサイドに配置され、ボトムサイドには主にデカップリングキャパシタやその他の受動回路が含まれています。そのため、基板のボトムサイドは比較的空いており、ルーティングスペースがたくさんあります。しかし、目標は、このスペースをPi.MX8モジュールが特定の要求に基づいて更新および拡張されるプラットフォームとして機能するために実装される追加機能に割り当てることです。 部品配置 ボトムサイド ボード間コネクタに近い部品の配置を見ると、多くの部品がボードの反対側にあるコネクタの直上に配置されていることに気づきます。上層から下層まで全てのレイヤースタックを接続する標準的なVIAのみを使用することにした場合、これらのエリアにVIAを配置することはできません。ボード間コネクタの全てのピンをブレイクアウトし、コネクタの反対側にあるアクティブ回路を効率的にルーティングするためには、スルーホールVIAのみに頼ることを超えた方法を考案する必要があります。これには、HDIスタックアップを使用する必要があります。 HDIスタックを使用すると、後の段階でモジュールの機能を拡張することが容易になります。追加の部品を接続するためにスルーホールVIAを必ずしも使用する必要がなく、したがって、確立されたルーティングや部品配置をあまり妨げることなく済みます。 Pi.MX8モジュールには、2+N+2レイヤースタックを使用します。これはIPC-2226規格で定義されているタイプIIIレイヤースタックであり、最も一般的に使用されるHDIスタックの一つです。 このタイプのスタックアップは、製造プロセス中に2回の連続した積層工程を使用して、最外層の3層を接続するマイクロVIAを可能にします。埋め込みVIAは、連続製造プロセスの一部ではないコアスタックを接続するために使用されます。このタイプのレイヤースタックで使用されるプリプレグとプリプレグの厚さは、PCBプロバイダーの製造能力に依存します。連続積層されたプリプレグの選択された厚さは、マイクロVIAのアスペクト比によって制限されます。機械的にドリルされたVIAとは異なり、マイクロVIAは短いレーザーパルスを使用してプリプレグに穴を開けることによって作成されます。通常、VIAの直径は0.08mmから0.15mmが使用されます。大量製造に適したアスペクト比は通常、0.6:1~0.8:1の範囲です。 薄いプリプレグは、アスペクト比の要件を違反せずに、与えられたインピーダンス制御トレースのトラック幅を減少させることを保証します。上層または下層の単純なマイクロストリップで、参照平面が1つだけの場合、これは問題ではありません。しかし、最初のグラウンドプレーンの下にある埋め込みストリップラインには注意が必要です。ストリップラインの上下の参照平面までの短い距離が、特定のインピーダンス制御インターフェースのために非常に狭いトレースをもたらす可能性があります。 Pi.MX8ボードの最終スタックアップは、PCBメーカーとの協力のもとに作成され、以下のようになります: Pi.MX8レイヤースタック 全体として、このモジュールは10層スタックアップで構築されます。トップ、L2、L7、およびボトムレイヤーが信号レイヤーとして使用されます。L1、L3、L6、L8レイヤーがグラウンドプレーンとして使用されます。残りの2層、L4とL5は電源プレーンとして機能します。電源プレーンは、わずか18μmの厚さの薄い箔を使用して構築されます。これらの層のIRドロップに注意を払う必要があります。電源プレーンは、隣接するグラウンドプレーンとわずか75μmのプリプレグで分離されて密接に結合されています。これにより、追加のプレーン容量が生じ、高周波で低PDNインピーダンスを提供するのに有益です。レイアウトが完成したら、PDNの挙動をシミュレーションで確認します。 このスタックアップについて注意すべきもう一つの重要な点は、スタックされたマイクロビアではなく、スタッガードマイクロビアのみを使用することです。これは、マイクロビアを直接重ねて配置することができず、代わりに少なくとも0.35mmのピッチで中心から中心にオフセットする必要があることを意味します。スタッガードビアの使用は、連続するレイヤーの登録を容易にするため、一部のPCBプロバイダーでは製造コストを削減します。このアプローチは、2つ以上のマイクロビアプログラムを使用するHDIスタックアップで、マイクロビアの信頼性を高めるためにも推奨されます。スタッガードマイクロビアを使用するデメリットは、最小オフセット要件を満たすために必要な追加のスペースです。グラウンドプレーンに作成された空隙も、隣接するトレースのリターンパスを管理する際に考慮する必要があります。 コンポーネントブレークアウトルーティング レイヤースタックが定義された今、次のステップは個々のコンポーネントの信号をブレークアウトすることです。このステップでは、各コンポーネントの信号および電源ルーティングに必要なビアを配置します。コンポーネントを接続し始める前に、できればすべてのビアを配置しておきたいと考えています。HDIスタックアップであっても、ビアは依然として多くのスペースを占めます。これは、通常、スタックアップ全体を通過する電源配布ネットワークの一部であるビアに特に当てはまります。ルーティング段階でビアを配置すると、ビアのためにスペースを作るために以前にルーティングされたトレースを削除する必要があるかもしれません。 記事を読む