概 要
イーサネットポートの拡張 - embOS / IPテールタグ
・ 単一のポートCPUを実質的にn個の管理可能なインターフェイスから低コストで拡張
・ CPUと内部イーサネットコントローラの高速MII / RMIIインターフェイスを使用する(SPIなどの低速インターフェイスではなく、外部イーサネットコントローラを使用)
・ 各ポートのリンク状態を個別に監視することができます
・ あなたの既存のデザインと既知のCPUを維持する
・ 各テールタグインターフェイスには独自のハードウェアアドレスを割り当てることができます
・ メモリ占有量が少ない
・ embOS / IPスタックとのシームレスな統合
要 件
〈ソフトウェア要件〉
embOS / IPテールタグ付けの実装には、embail / IP TCP / IPスタックと、テールタグ機能をサポートするMicrel / Microchip Switch PHY用のPHYドライバが必要です。
〈ハードウェア要件〉
マイク/マイクロチップスイッチのテールタグ付けをサポートするPHYがハードウェア上に存在する必要があります。
外部イーサネットコントローラを追加するなどの他の方法の代わりにテールタグを使用することの大きな利点は、既知の欠点のないシンプルさです。
〈シングルポートMCUに物理イーサネットポートを簡単に追加〉
SEGGERのTCP / IPスタックは、Micrel / Microchipイーサネットスイッチのテールタグ機能をサポートしています。SEGGERのembOS / IPは、テールタグ付けをサポートする最初の組み込みIPスタックです。
とともにエンベス/ IPスイッチボード、SEGGERはまた、機能を評価するためのハードウェアを提供しています。
設計手法
〈シングルMACユニットCPU、シングルポート設計
CPU内部にMACユニットを備えたイーサネット対応ハードウェアの典型的なハードウェア設計を以下に示します。
1つのポートをネットワークに接続できる外部シングルポートPHYに接続された単一の内部MACユニットを備えたCPUで構成されています。
イーサネットデータはMACとPHY間で転送されますが、MDIOインターフェイス(通常はMACのレジスタを介してもアクセスされます)を使用してPHYにアクセスし、PHYを設定し、リンクステータスを定期的にチェックします。
〈シングルMACユニットCPU、テールタギング設計によるスイッチPHY〉
テールタグについては、ハードウェアへの簡単な変更が必要です。主な違いは、設定がMDIOインターフェイス経由ではなく、SPIやSMIなどの余分なインターフェイスを使用することです。
これは、MDIO規格で使用可能な制限されたレジスタセットに起因します。
通常、MDIOを介してアクセス可能な同じレジスタには、SPIまたはSMIを介してアクセスすることができます。スイッチを使用するテールタグ付きのPHYでは、複数のホストを接続できるだけでなく、高価で外部のイーサネットコントローラであるかのように各外部ポート/コネクタを完全に制御することができます。
テールタグ
〈テールタグの背景〉
多くのMicrel / Microchip Switch PHYで利用可能なTail Tagging機能は、PHYとTCP / IPスタックの間で、パケットが受信されたスイッチのポート、またはポートが必要なポートに関する情報を賢明に渡す手段ですTCP / IPスタックがデータをネットワークに送信するときに配信されます。
〈テールタギングフレームの内容〉
下の図は、ホストのスイッチから受信した、またはホストからスイッチに送信されたフレームの内容を示しています。
スイッチがテールタグ機能を有効にすると、スイッチのすべてのポートがこのモードで使用されます。
〈テールタグ付きフレームの受信〉
テール付き受信された各イーサネットフレームにタグ付けされると、フレームで受信されたイーサネットデータとイーサネットフレーム自体のチェックサムの間にバイトが追加されます。
フレーム内の元のイーサネットデータの正しいチェックサムに加えて、フレーム内のすべてのイーサネットデータに加えてPHYによって変更された送信元によって構築されたフレームチェックサムがあるため、このステップはイーサネットコントローラには見えません。追加されました。正しいチェックサムのために、イーサネットコントローラはテールタグをまったく意識する必要はありません。
embOS/IPは、データを受信したポートからTail Taggingバイトから情報を抽出し、パケットをシステムの正しいTail Taggingインターフェイスに割り当てることができます。
Tail Taggingバイトは、このプロセスでは削除され、元のデータのみが残され、上位レイヤのプロトコルに転送されます。
〈テールタグ付きフレームの送信〉
送信は、フレームの受信と同様に動作します。イーサネットフレームがPHYに送信するためにイーサネットコントローラにキューイングされる前に、送信されるデータの末尾にテールタグ付けバイトが追加されます(イーサネットドライバによって計算され追加される場合はフレームチェックサムの前に追加されます)。
このバイトには、外部PHYポートがパケットを送ってネットワークに送出する情報が含まれています。
イーサネット(登録商標)コントローラは、上位層のプロトコルによって1バイト以上送信されるように、送信されるデータが合計で1バイトだけであることを認識しているので、プロセス全体が再び見えなくなります。