由于个人项目的需要接触了EtherCAT,从最初的一无所知,到后来项目落地,整个过程对EtherCAT的从站与主站,从硬件设计到软件系统的学习了一遍。正好项目也做完了,有时间静下来写点东西,所以就想把之前的学习过程做一个总结,分享给大家,写得不对的地方请指正。
EtherCAT介绍
EtherCAT是由德国BECKHOFF自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片,主站使用标准的以太网控制器。
EtherCAT是一种工业以太网技术,看到的大多数应用场景都是伺服电机。因为是基于以太网的技术,所以EtherCAT相比于CAN总线而言,速率上要快不少。EtherCAT可以达到100M的速率,而CAN只有1M。此外,EtherCAT还具备低延时和精准同步的特点。
另外高性能高速率是EtherCAT特色,最快可同时连接1000个IO输入输出设备125us的响应速度,体现了它的高实时性。
EtherCAT基本原理
倍福官方对EtherCAT的传递机制的命名叫做:ON The Fly,如下图所示,形象比喻成一列高速火车(我们的复兴号)。
On The Fly技术可以从两方面来解读:
-
第一个方面是以太帧“时分复用”。一般以太帧里都只包含了一个设备发送的消息,5个设备就会发送5条以太帧。而EtherCAT则是多个从站共享一条以太帧。就像图中的火车,EtherCAT主站发出了“火车”(以太帧),各个从站则从这辆火车的不同的“车厢”(子报文)中提取或插入自己的“乘客”(消息)。这样一来就实现了以太帧的“时分复用”,只用一条以太帧(最大1486byte),就可以让各个从站都收发出自己的消息,大大的降低了通信的延时。