术语缩略表:
ESC EtherCAT Slave Controller
ESI EtherCAT Slave Information
一、etherCAT硬件方案
EtherCAT的从设备是需要使用专用的通信芯片才可以完成传输的,比如EtherCAT的开发者“倍福(Beckhoff)公司“的官方原厂芯片ET1100,其他的各个芯片厂商会取得倍福公司的内核授权,开发相关芯片,如亚信的AX58100等等。
从物理层来看EtherCAT的通信电信号和我们普通的以太网一样,通信线也是使用普通网线 RJ45接口、或者光纤连接。因此理论上任意一个网卡模块都可以收发EtherCAT的数据内容,因此对于主站而言,使用普通的电脑通过网线连接一个EtherCAT从站就可以实现通信了,但是EtherCAT对于从站的要求就有特殊的定义,必须要使用专业的芯片才能完成,这个芯片被称为ESC。
EtherCAT的从设备是必需要使用专用的通信模块才能实现的,从设备方案上一般是使用MCU(或其他控制器) ESC芯片来实现。链路层的功能就是在ESC芯片上完成解析、发送的;通过配置ESC芯片,使芯片正常运行链路层功能并把应用层的数据交给MCU。
ESC芯片还具有一个特点,那就是通常会给这个芯片外挂一个EEPROM存储器,里面可以保存一些芯片初始化的寄存器配置,这样就不需要每次上电后由MCU或主站来进行配置了。
上一篇短文介绍了一些开源方案与淘宝硬件,为了进一步探索etherCAT从站开发流程,特意买了一块etherCAT从站开发板,ESC选的ET1100,MCU选的stm32F405.
对于ET1100芯片的一些配置,不大懂,需要进一步学习。
二、软件工具
开发使stm32使用keil5,这个不过多介绍。etherCAT从站可以用EtherCAT Slave Stack Code Tool工具进行生成(这块还需要进一步验证调试,预计生成后的代码需要微调)。可以参考https://blog.csdn.net/efei123/article/details/136231104.
开发板作为从站,需要一个测试主站去进行通讯以及其他操作,这里使用twinCAT3,不过多介绍。
Stm32与ET1100之间走SPI通讯,SSC工具生成的从站协议栈来处理这些报文数据。即etherCAT从站必须要有一个ESC芯片。