01 从站硬件设计
从站最小系统
EtherCAT的最小系统由MCU、ESC、晶振、EEPROM、PHY芯片和RJ45接口组成。
从站应用系统
一般来说我们可以采用MCU + ESC芯片,集成IO控制和电机控制两种从站方案。作为IO从站应用时,可以利用板载的4个LED和4个Button实现IO逻辑功能。而作为Motor从站应用时,可以利用UVW和HALL采样电路驱动BLDC电机。另外还可引出了ADC、DAC、CAN和RS485等扩展接口。
02 从站软件设计
从站栈代码
代码结构
EtherCAT从站栈代码(EtherCAT Slave Stack Code)的代码结构如下图所示,包含ESC内存接口、mailbox(CoE、EoE等等)、DC(Sync)同步功能、过程数据处理、状态机和本地通信应用等结构。其中过程数据的处理使用对象字典,和CoE协议定义的一致。
基础的示例代码可以从官方的SSC Tool获得。
状态机
EtherCAT状态机(ESM,EtherCAT Slave Machine)负责协调主站和从站应用程序在初始化和运行时的状态关系。SSC代码中的ESM在AL_ControlInd()函数实现。EtherCAT设备必须支持四种状态,另外还有一个可选的状态。所有的状态改变都由主站发起。具体可以看《ETG.1000-part 6》应用层协议规范。
名称 | 简写 | 描述 |
---|---|---|
Init | I | 初始化 |
Pre-Operational | P | 预运行 |
Safe-Operational | S | 安全运行 |
Operational | O | 运行 |
Boot-Strap | B | 引导状态 |
ESI从站信息接口文件
EEPROM内容结构
ESC使用EEPROM来存储所需要的设备相关信息,称为从站信息接口SII(Slave Information Interface)。EEPROM的容量为1Kbit ~ 4Mbit,取决于ESC规格。EEPROM内容结构如下图所示。采用字地址,字0~63是必须的基本信息。这些信息都写在XML文件中。
XML文件结构
每个从站都要有一个XML配置文件,XML里定义的对象字典和PDO设置,需要和固件里的对象字典相对应。还记得”概述“里讲到的从站信息文件xml文件吧。 标蓝色的几个部分是主要的配置内容。
下图是XML编辑器转换的视图,关键的对象字典和数据类型都在Devices->Device->Profile元素里。上面部分为制造商信息,下面部分为从站描述信息,包括设备标识、设备名称、接口类型、FMMU通道、SM、过程数据定义、邮箱、分布时钟、EEPROM。