i.MX6プラットフォーム上で動作するWEC2013用のPCIe Ethernetドライバ
アイウェーブはi.MX6 Quad プラットフォームのPCIe (Peripheral Component Interconnect Express)インターフェイスを介したWEC2013 (Windows Embedded Compact 2013) Ethernet ドライバを開発しました。
このドライバは全てのプロセッサ アーキテクチャをサポートしています。
Ethernet標準 IEEE 802.3 :
PCIeはプロセッサと1つ以上のペリフェラル デバイスを接続するためのシリアル拡張バス標準です。
PCIe 3.0では8Gbps/レーンのバンド幅が可能であり、16レーンPCIeでは128Gbpsが可能です。
図1:PCIe インターフェイス バンド幅
WEC13 PCIe Ethernet ドライバ アーキテクチャ:
WEC13 PCIe EthernetドライバはPCIeコントローラ ドライバ、PCIeバス ドライバおよび Ethernet(ミニポート) ドライバからできています。
図2:PCIe Ethernet アーキテクチャ
図2のようにボードはPCIe インターフェイスを介してGbE モジュールに接続されます。
モジュールにデータが入ってくると割り込みが発生しNDIS API がコールされます。
NDIS APIはそれに伴い割り込みを裁くミニポート ハンドラーをコールします。
PCIeはどんなプラットフォームでもミニポートドライバが使用できるので、インテルの 82574L GbEモジュールを使用しました。
PCIe Etherneのアドバンテージ:
- 最大バンドが高い
- プラットフォームに依存しない
- 電力消費が低い
- I/O ピン数が少ない
- パフォーマンス測定が向上
- エラー検出、レポートがより詳細
アプリケーション:
- インテル82574L GbE モジュール用のWEC13 Ethernet ドライバを開発しましたが、この技術は各種チップセット用のミニポートドライバの開発にも適用できます。
- セカンダリーEthernetとしてのGbE モジュールはアドオン仕様です。
- 通常のEthernet およびPCIeカードの同時使用が可能で、 どちらか一方をデバッグ目的で使用できます。
- PCIe を介したEthernet のパケット送信が速いので、タイム クリティカルなシステムに使用可能。
- PCIeスイッチを使用することで多くのエンドポイントPCIeの接続が可能。