EtherCAT IgH主站EoE具体实现
一、IgH EOE机制
1.1 EoE服务规范
Ethernet over EtherCAT (EoE) 是一种通信协议,它允许通过网络连接访问从站设备的参数,以便配置和诊断从站设备。EoE 允许将常见的互联网协议(如 HTTP、FTP 等)的数据插入到 EtherCAT 协议数据中,而不影响 EtherCAT 过程数据。EoE服务规范由ETG(EtherCAT技术组)定义,它规定了如何在EtherCAT框架内封装和传输以太网帧。这些规范确保了不同厂商的EtherCAT设备能够相互通信,同时保持了网络的实时性和确定性。
1.2 EoE虚拟网络设备
EoE虚拟网络设备是实现EoE功能的关键组成部分。每个虚拟网络设备对应一个EoE虚拟网卡,它们在Linux网络层表现为普通的网络接口,但实际上是通过EtherCAT网络进行数据传输的。这些虚拟设备使得EtherCAT从站可以像普通以太网设备一样接入互联网,并实现与其他设备的交互。这种设计允许EtherCAT网络无缝集成到现有的IT基础设施中,同时保持了EtherCAT的高性能特性。
1.3 Linux网络数据处理流程
在Linux系统中,网络数据包的处理流程包括接收、队列管理、协议处理等。对于EoE数据,Linux网络层首先识别出EoE帧,然后通过EoE虚拟设备驱动进行处理。这一过程涉及到skb(socket buffer)的管理,以及与EtherCAT主站通信的交互。Linux内核的网络子系统提供了丰富的API,使得EoE协议栈能够高效地处理网络数据,同时保持与EtherCAT主站的同步。
二、EoE请求实现
2.1 EoE Handler
EoE Handler是EoE处理的核心,它