ギガビットイーサネットは、現在、オフィスや商業ネットワークのための事実上のエントリーレベルの標準です。シンプルなイーサネットスイッチを構築するために使用できる多くのコンポーネントがありますが、この記事では、高ポート数のイーサネットスイッチの例設計を紹介します。この記事で示される設計には、SFPコネクタを使用したファイバーオプティックケーブルの拡張も含まれています。このプロジェクトには、高速設計のいくつかの一般的な側面の成功した実装が必要です。これには、
が含まれます。いつものように、プロジェクトファイルは私のウェブサイトからダウンロードできます。下に埋め込まれたAltium 365ビューアーのダウンロードリンクもチェックしてみてください。このリンクをクリックしてプロジェクトソースファイルのZIPアーカイブをダウンロードするか、埋め込みのダウンロードリンクを使用できます。
このイーサネットスイッチプロジェクトは、MicrochipのVSC742xシリーズのイーサネットスイッチプロセッサに基づいています。これらのプロセッサは、SGMIIインターフェースを介してスイッチプロセッサに接続する関連拡張PHYとペアリングすることができます。メモリや外部通信用の追加コンポーネント、およびいくつかの電源レギュレータもあります。回路内の主要コンポーネントのリストには、
合計で、デバイスは12の標準イーサネットポートをサポートし、1つのアップリンクポートを含み、ファイバートランシーバ用の1つのSFPポートを含みます。この設計には、マグジャック終端回路なしでRJ-45コネクタに導入されたシリアルインターフェースも含まれています。
プロジェクトファイル内には、スイッチとポートインターフェースの回路図が1、2、3ページ目にあります。VSC7426にはDDR2インターフェースが含まれており、外部のDDR2 RAMチップを使用します。いくつかのGPIOが指示器として機能することができますが、ベンダー提供のファームウェアも端末上で必要なステータスメッセージを提供します。
この設計の回路図は、大まかにMicrochipのVSC7426/VSC7427リファレンスデザインに基づいています。Microchipのウェブサイトでオリジナルのリファレンスデザインにアクセスできます。
以下の画像にはVSC7426とVSC8574の回路が示されています。VSC7426が主役で、最大16個のRJ-45ポートを提供します。VSC8574はこのポート数を拡張するために使用され、SGMIIインターフェースを介してVSC7426と通信します。SGMIIでは標準のACカップリングキャップが含まれています。Microchipのこのチップセットに関する文書では、VSC8574をVSC8664にアップグレードすることを推奨していますが、公開されている組み込みOSパッケージはVSC8574チップと互換性があります。
VSC7426では、C6、C7、C8、C9のピンに配置された一連の設定抵抗を通じていくつかの設定が決定されます。以下に示された1 kOhm抵抗の配列は、VSC7426のさまざまな機能を切り替えるために必要に応じて取り付けたり取り外したりできます。この設計ではVSC7427も使用できますが、画像の左下に詳述されているように、いくつかの抵抗設定を変更する必要があります。
これらのチップには複数のレールがあり、クロックと信号を生成するためにかなりの電力を使用します。下に示されているように、チップは電力の整合性を確保するために多数のデカップリングキャパシタを使用しています。
主要なロジック供給で高電流消費があるため、フェライトが分離要素として使用されていることに気付くでしょう。Altiumの他の記事で言及されているように、このアプローチは時々、並行して走る高速デジタルレールから遅いPLLやアナログレールを分離するために機能しますが、2つのレール間でフェライトが過渡現象を増幅しないことを確認するためにテストを実施する必要があります。これについては、近いうちに詳しく説明する予定の記事とビデオで取り上げますが、その間、フェライトビーズのこの特定の使用例について議論する以前のDesignConプレゼンテーションを読者に紹介します。
下の画像は、ファイバーオプティックトランシーバーに接続するために使用されるSFPコネクタ回路を示しています。ここに示されているSFPコネクタ回路は、最大10 Gbpsまでの他の設計で使用されています。SFPコネクタには、ファイバーオプティックトランシーバーの特定の機能にアクセスするために複数の設定抵抗が必要です。これらのうちいくつかは、ファイバーオプティックトランシーバーの最小限の機能性には必要ないため、下の回路図でDNIとマークされています。
また、Tdisピンを切り替えるために使用されるMOSFETに加えて、VSC8574とMOSFETの間には追加のロジックがあります。ファイバーオプティックトランシーバーを恒久的に有効にしたい場合は、この追加のロジックをバイパスすることができます。これを行うには、MOSFETのゲートを高く引っ張るか、有効ピンを低くして、これによりトランシーバーがオンに切り替わります。
ここでのもう一つの重要な点は、RXおよびTXライン上のゼロオーム抵抗器です。ゼロオーム抵抗器はAC結合キャパシタに置き換えることができますが、これは必須ではありません。その理由は、AC結合が標準化されたファイバーオプティックトランシーバーモジュールに組み込まれているからです。この回路を1Gbpsで使用する場合、0オーム抵抗器と異なるAC結合キャパシタの値を交換しても、信号の整合性に利益または損害をもたらすことはほとんどないでしょう。この回路図がより高いデータレートで使用される場合、結合キャパシタとその位置は、私がこの最近の記事で説明した理由に基づいて調整されるかもしれません。
設計には、データストレージ用のフラッシュメモリとファームウェアバイナリの保持用のRAMが含まれています。設計には下記のように2つのフラッシュチップが含まれていますが、最小限の実用設計にはこれらのうちの1つだけが必要です。小さい128MbitのMacronix NORフラッシュチップ(MX25L12835FMI-10G)は、私たちのデモPCBで使用され、この設計の製造バージョンでも使用されています。
SCH003で見つかったRAMおよびフラッシュメモリ。
フラッシュメモリはSPIに接続する必要があり、SWDコネクタを使用して外部プログラマーを使用して書き込まれます。これについては後ほど詳しく説明します。
デザインで使用できる他の2つのメモリチップは次のとおりです:
私たちのデモボードでは、これらをDNIとしてマークし、組み立てには含まれていませんでした。
ラックに設置されたイーサネットスイッチに迅速に接続する方法の一つは、シリアルポートを使用することです。デバイスのエンクロージャを通してポートをアクセス可能にする一つのオプションは、RJ-45コネクタを介してシリアルポートを出力することです。これは、非磁性ジャックコネクタを使用して以下で行われます。RJ-45シリアルポートの向きに応じて、ケーブルをパッチパネルにルーティングし、技術者がパッチパネルにコンピュータを接続してシリアルポートにアクセスできるようにすることができます。
シリアルポートアクセスは、RS-232トランシーバの入力にある2ピンヘッダ(上の画像のJ5)を使用して追加されました。これにより、USBからUARTモジュールを介してシリアルポートにアクセスできます。
この設計には合計で3つのBGAがあり、最大のBGAは672ピンのVSC7426です。VSC7426とVSC8574のほとんどのピンはグラウンドと電源用なので、ルーティングを完了するために非常に高い層数のボードは必要ありません。このボードは、以下に示すスタックアップを使用して6層で完成しました。
PCBスタックアップとインピーダンス設定
このスタックアップはJLCPCBの標準スタックアップとほぼ一致していますが、DDR2とイーサネットの許容範囲により層の厚さにいくらかの変動が許されます。外層が薄く、内部のコア層が厚い限り、インピーダンス制御されたラインの差動インピーダンスと単端インピーダンスは許容される許容範囲内で目標インピーダンスに達します。薄い外層は、イーサネットレーンとDDR2レーンが制御されたインピーダンスを必要とするため、マイクロストリップルーティングが広すぎないようにします。
設計内のすべての差動ペアは100オームの差動インピーダンスでルーティングされました。スタックアップは幅広い製造業者で生産されるようにカスタム設計されましたが、この記事で後ほど示されるデモボードはJLCPCBで彼らの標準スタックアップの1つを使用して生産されました。
Ethernet PHYチップセットとDDR2チップは、それぞれ1.0 mmと0.8 mmのボールピッチを持っています。これは、ドッグボーン・ファンアウトを使用してBGAの内側の列に到達することができることを意味します。また、VSCチップがパッケージの端にEthernetピンを集中させているため、Ethernetリンクに盲目的なビアや埋め込みビアは必要ありません。これは、Ethernetレーンを差動マイクロストリップとしてパッケージに直接ルーティングできることを意味します。このルーティングは以下に示されており、ルーティングにコーナーが存在する場所で小さな長さ調整セクションが含まれています。
次に、DDRバスは十分に広いため、DDRチップに完全にルーティングするためには2層が必要です。これは以下の2つのスクリーンショットで示されています。DDRバスは内部層と外部層で50オームのインピーダンスでルーティングされ、差動クロックはレイヤー4に示されています。
このタイプのルーティングを並列バスに対して行うことは完全に受け入れられますが、外層と内層を通る信号の遅延調整が必要です。マイクロストリップの伝搬遅延は有効誘電率によって決定されるため、マイクロストリップとストリップラインを伝わる信号は異なる伝播速度を持ちます。これは、DDR2バス上のすべての信号が要求される時間枠内に到着するように、異なる層での遅延調整を必要とします。
デモボードには並列インターフェースNANDフラッシュは搭載されていませんでしたが、必要に応じて設計はそれを収容できます。並列インターフェースは、VSC7426と並列フラッシュの間をルーティングするために、長さが一致した8つのトレースを使用します。このルーティングはレイヤー4に限定され、以下に示されています(並列インターフェースは強調表示されています)。
この設計は、同時に多くの高速I/Oを操作するプロセッサを含むため、いくつかの基本的な電源整合性の原則を実装する必要があります。回路図では、ロジックレールに多数のキャパシタが使用されていることを示しましたが、PCBは100メガヘルツの範囲で電源安定性を確保するためにプレーンキャパシタンスも必要です。この電源安定性の要件は、このデバイスに供給されるイーサネットインターフェースが100 MHzの範囲のチャネル帯域幅要件を持っているため、少なくともこれらの周波数まで安定した電源を確保する必要があります。
これを行うために、高速I/O電源に直接電力を供給するために、3.3V、2.5V、1.8V、および1.0Vでレイヤー3に大きなレールを配置します。
設計が各キャパシタの接続に低インダクタンスを持つことを確実にするために、すべての小型バイパスキャパシタは、VSC7426 BGAパッケージの背面、PCBの裏側に直接取り付けられました。BGAパッケージのボールに対してスルーホールビアを通じた直接接続は、キャパシタESL値に約1nHのインダクタンスを追加し、小型ケースSMDバイパスキャパシタの10MHz範囲への応答能力を制限します。同じアプローチがVSC8574にも採用されました。
デカップリング/バイパスキャパシタは、キャパシタの低インダクタンス接続を確保するために、電源/グラウンドピンペアのスルーホールビアに直接接続されます。
電源のバルクキャパシタ、BGAのバイパスおよびデカップリングキャパシタ、大きなレールからのプレーンキャパシタンス、およびイーサネットチップセット内のオンダイキャパシタンスは、合わせてGHz範囲までカバーし、電力整合性を確保するのに役立ちます。
完成したPCBレイアウトの完全な3Dモデルを以下に示します。12x RJ-45ポート、追加のGbEアップリンクポートがVSC8574に接続されていること、シリアルRJ-45コネクタ、および私たちのファイバートランシーバー用のSFPケージが見えます。
VSC7426は、RedBootをブートローダーとして使用して組み込みLinuxカーネルを実行します。組み込みOSはインストールが簡単で、コードはMicrochipから入手できます。ベンダーは、設計で使用されるマスタークロック周波数、拡張PHY、および設定に応じて、コードの異なるバージョンを提供しています。読者がすぐに始められるように、プロジェクトファイルに動作するファームウェアバイナリを含めました。
デバイスにバイナリをフラッシュするには、SPIインターフェースを備えたプログラマが必要になります。フラッシュに使用するのに好ましいプログラマは、ASIX.netから入手可能なForteプログラマです。このプログラマは、このプロジェクトで使用されるMacronix SPI NORフラッシュを含む、長いリストのマイクロコントローラーとメモリをサポートしています。この記事の最後にあるビデオは、ASIX UPプログラミングソフトウェアとForteプログラマを使用したフラッシング手順を概説しています。
フラッシュプロセスが完了したら、デザインの電源を切り、プログラマーを抜いて、2ピンヘッダー(J5)にシリアルブリッジを接続してUARTインターフェース(115200 kbpsのボーレート)にアクセスします。次に、入力電源を再適用すると、デザインが起動してログインプロンプトが表示されます。ユーザー名はadminで、パスワードは空白です。
スイッチが起動し、ユーザーがログインした後のターミナル出力(TeraTermで)
デザインを完全に起動し、各ポートをアクティブにするためには、さらに指示が必要です。これらのタスクを完了するための指示は、ソースファイルのBinariesフォルダ内の「VSC5611EV Mechanical Assembly and Programming Guide.pdf」ファイルで見つけることができます。プログラミングの指示はPDFファイルの18ページから始まります。
以下のビデオでは、私たちの立ち上げ作業とAltium Academy YoutubeチャンネルでのPCBデザインのレビューを示しています。このプロジェクトについてもっと学び、フラッシングのプロセスを見るには、以下のビデオをご覧ください。
信頼性の高い電力エレクトロニクスや先進的なデジタルシステムを構築する必要がある場合、Altium Designer®の完全なPCB設計機能セットと世界クラスのCADツールを使用してください。今日のクロスディシプリナリー環境でのコラボレーションを実装するために、革新的な企業はAltium 365™プラットフォームを使用して設計データを簡単に共有し、プロジェクトを製造に移行しています。
Altium DesignerとAltium 365で可能なことの表面をかすめただけです。今日、Altium Designer + Altium 365の無料トライアルを開始してください.