作者:Jackie Gao,AMD工程师;来源:AMD开发者社区
简介
EtherCAT是基于以太网的现场总线系统,最早是由德国的Beckhoff公司研发。EtherCAT是确定性的工业以太网。具体低抖动,实时性高等特点,在工控领域得到广泛应用。
本参考设计基于ZYNQ-7000,外挂LAN9252芯片。在硬件方面,ZYNQ与LAN9252通过AXI EPC连接,在软件方面,移植EtherCAT从协议栈,并运行在Cortex-A9处理器上。
上位机为运行Windows 10的TwinCAT3主站。EtherCAT总线的周期为50us.
教程中所有涉及的设计及代码均在Windows平台下作了验证。
1. 系统设计
系统设计框图参考如下。ZYNQ PS处理器通过外挂AXI EPC的方式与LAN9252通信。

2. AXI EPC的配置如下,配置的模式为16位数据与地址线复用模式。


环境需求
硬件环境
. Window10主机,用来作为EtherCAT主站,可选用Beckhoff的工控机。
. EtherCAT兼容的以太网卡。
. LAN9252模块和ZYNQ开发板。
软件环境
. Vivado Design Suite 2022.2
. Vitis 2022.2
. EtherCAT Slave Tools
. TwinCAT3
代码结构
硬件
. hw文件夹里面里面包含vivado工程,直接用vivado 2022.2打开。
固件
. fw文件夹里面包含完整的固件,包含完整的SSC以及ZYNQ上运行的固件。
软件
. TwinCAT3的上位机软件,附件中并未包含。
测试结果
文中所提及的所有参考设计及代码均在Windows平台通过测试。
ZYNQ
Zynq是Xilinx公司推出的一系列SoC(System-on-Chip)产品家族,它将传统的FPGA(可编程逻辑器件)与嵌入式处理器相结合,形成了一种集成了硬件和软件处理能力的单一芯片解决方案。Zynq的设计目标是提供更高的性能和灵活性,同时减少系统的功耗和复杂性。
Zynq广泛应用于嵌入式系统设计、通信、图像处理、工业控制、汽车电子等领域,因为它提供了更好的性能和灵活性,同时减小了系统的体积和功耗。