従来のEthernetは、次のようなワークフローに従います。
フレーム全体を受信 → CPUによる解析 → 応答を生成 → フレーム全体を送信
EtherCATは、LAN9252 内部で受信、処理、および転送を並行して実行します。
EtherCATシステムのブロック図
LAN9252 システムのブロック図:デュアルPHY + ESCカットスルー転送経路
(画像提供:Microchip)
技術的なヒント: ESC = EtherCATスレーブコントローラ(EtherCATサブデバイスコントローラとも呼ばれる)
Microchipの LAN9252 を例に説明します。周辺のサポート部品は、2チャンネルの絶縁用マグネティクス+RJ45コネクタ、および25MHz基準水晶発振器です。
超低遅延の原理
フレームの「オンザフライモード」によるハードウェアパイプライン
EtherCATマスターは1つの長いEthernetフレームを送信し、このフレームは各スレーブステーションのPort 0に順次シリアルで入力されます。
フレームのビットストリームは、RJ45 → 絶縁用マグネティクス → LAN9252 のオンチップPHYを通り、ESCコアに入力されます。
Ethernetフレーム全体をバッファリングする必要はありません! ESCハードウェアは、フレーム構造をビット単位で解析します。
-
現在のスレーブに割り当てられた出力データセグメントを読み取る際、ハードウェアがデータを直接取得し、オンチップDPRAMに書き込みます。
-
マスターにアップロードする入力データ用に確保された位置に到達すると、ハードウェアはローカルでサンプリングされたデータをDPRAMから取得し、それをフレームに挿入します。
変更されていない残りのビットストリームは、Port1のPHY、絶縁用マグネティクス、およびRJ45を介して、直ちに次のスレーブに転送されます。
これに対し、標準的なEthernetコントローラは、フレーム全体を受信してから、ソフトウェアによる解析のためにCPUに引き渡す必要があります。単一ノードの遅延は数十マイクロ秒からとなり、さらに大きなソフトウェアオーバーヘッドを伴います。
ブロック図内の2つの並列データフローは、ブロッキングなしで動作します
完全に独立した2つの信号経路があります。
- ネットワーク経路:RJ45 ↔ PHY ↔ ESC ↔ DPRAM(ハードウェアによる自律動作、MCUのリソースを占有しない)
- ローカル経路:DPRAM ↔ ローカルバス ↔ ローカルMCU
DPRAMは、Dual-Port RAM(デュアルポートRAM)の略です。ネットワークハードウェアとMCUは、DPRAMに並列にアクセスできます。一方がメモリを占有して他方のアクセスを妨げるような、キューイングによるボトルネックは発生しません。
EEPROMの役割(ブロック図の左上)
ESCの設定(FMMU、SyncManagerパラメータ)は、電源投入時に自動的に読み込まれます。MCUソフトウェアによるプロトコルの初期化は不要であり、起動時の遅延をさらに低減できます。
関連製品
Microchipの LAN9252
関連製品
その他のリソース
LAN9252 データシート
関連技術トピック
- 単純な産業用制御プロジェクトにModbus、CAN、EtherCATが必要なのはなぜですか?
- モーション制御にはCANだけでは不十分で、完全なCANopenアーキテクチャが必須なのはなぜですか?
- CANopenモーション制御の安全手順の基礎
- EtherCATはどのようにして低遅延を実現するのか?
- EtherCAT低遅延通信:物理層リファレンス回路
- Modbus RTUの動作原理:マスタースレーブアーキテクチャとポーリング方式
- Modbus RTUの通信プロセス
