EtherCAT概念介绍
一、EtherCAT 简介
EtherCAT(Ethernet Control Automation Technology)是一种工业以太网现场总线,它将计算机网络中的以太网技术应用于工业自动化领域,构成工业控制以太网(工业以太网、工业以太网现场总线)。
其以太网数据帧的数据区由多个子报文组成,每个子报文都服务于一个特定的逻辑映像区。在数据传输过程中,读取数据时,每个设备中的 FMMU(Fieldbus Memory Management Unit,现场总线内存管理单元)会在数据帧通过时,读出该数据帧中映射到此设备的逻辑地址中的数据(如数字伺服控制指令数据);输入数据(如数字伺服状态数据)则可在数据帧通过时插入到相应的逻辑地址区中,且数据帧在整个过程仅有几纳秒的延时。
通常每个通信周期只需要传输一个以太网数据帧,这个数据帧沿着逻辑环传输一周,就能完成所有的广播式、多播式以及从站间的通信。
EtherCAT 协议基于以太网接口,在 MAC(介质访问控制)层上增加一个确定性调度的软件层,该软件层实现了通信周期内的数据交换。在高层协议中,EtherCAT 并没有定义任何设备规范,而是支持现有的各种设备规范和服务,方便用户和设备生产商从现有的现场总线标准移植到 EtherCAT。
二、EtherCAT 相关协议
常用的高层协议包括:
- FoE(File over EtherCAT):可通过网络访问设备中的文件,以及将统一的固件跨网络上传到设备,无需 TCP/IP 协议堆栈。
- EoE(Ethernet over EtherCAT):可以在 EtherCAT 网段实现以太网数据的传输。
- SoE(SERCOS over EtherCAT):基于 SERCOS 协议,SERCOS 是一种实时通信接口,尤其适用于运动控制。
- CoE(CANopen over EtherCAT):基于 CANopen 协议。
- AoE(ADS over EtherCAT):基于邮箱的客户端 - 服务器协议。
三、相关概念
- Ethernet(以太网):计算机网络中常用的局域网技术。
- MAC(介质访问控制):以太网中的数据链路层协议子层,负责控制对物理介质的访问。
- CSMA/CD(带有冲突检测的载波侦听多路访问机制):传统以太网采用的介质访问控制方法。
- 实时以太网(RTE,Real Time Ethernet):能满足实时性要求的以太网技术。
- IEC61158:工业通信网络 —— 现场总线规范,包括了 10 种工业以太网协议标准。
- IEC61784:工业通信网络 —— 行规规范,为 IEC61158 中的现场总线标准制定了应用行规标准。
根据不同的实时性和成本要求,实时以太网大致可分为三种:
- 基于 TCP/IP 的实现(如 Modbus/TCP、Ethernet/IP):使用 TCP/IP 协议栈,可以与商用网络自由地通信。
- 基于以太网的实现(如 Ethernet Powerlink):使用标准的以太网通信硬件,采用专门的过程数据传输协议。
- 修改以太网的实现(如 EtherCAT):能获得响应时间小于 1ms 的硬实时性能,由专门的硬件实现,由实时 MAC 接管通信控制。
四、EtherCAT 从属控制功能模块
- EBUS(EtherCAT 接口):用于连接其他 EtherCAT 从机或主机,EtherCAT 从站支持 24 端口,编号为 0-3。
- EPU(EtherCAT 处理单元):负责接收、分析、处理数据流,主要功能是协调对 ESC(EtherCAT Slave Controller,EtherCAT 从站控制芯片)内存数据的访问(如 SM、FMMU 对内存的访问),还负责实现自动转发、数据回环等功能。
- 自动转发:由 EPU 实现,自动转发接收到的以太网帧并执行帧检查,生成接收时间戳。
- 数据回环:由 EPU 实现,当某个端口不可用、没有连接链路或环路已关闭时,数据到达此处后,会自动转发到下一个端口。
- FMMU(Fieldbus Memory Management Unit):将逻辑地址逐位映射到物理地址。
- SM(Sync Manager,同步管理器):负责实现数据交换的一致性(同步),可以分别配置为读或写的数据方向,一般使用两个 SM 通道分别处理读写请求。
- 监视单元:包含错误计数器和看门狗,看门狗用于在错误发生后返回安全状态,错误计数器用于错误检测和分析。
- PHY 管理单元:通过 MII 接口与以太网 PHY 通信,可以在接收到错误以太网帧时,自动协商启动重传。
- 分布时钟:实现整个 EtherCAT 网络的同步。
- 存储空间:共 64K,前 4K 为寄存器和用户存储器空间,后 60K 为进程存储器。ESC 的内存可以由主站和连接的微控制器直接寻址,ESC 中的寄存器(0x0000-0x0f7f)有影子缓冲区,在一个帧期间收到的数据首先存放在影子缓冲区,校验无误之后再写入寄存器,用户和进程存储空间没有影子缓冲区。
- PDI(Process Data Interface,过程数据接口):由数字量 IO、SPI 从机、微控制器等多种连接模式。
- SII(Serial Information Interface):即 EEPROM,是非易失性存储器,存放配置信息。