图1. 采用NI硬件的EtherCAT主/从构架
EtherCAT协议基础
EtherCAT协议直接以标准以太网的帧格式传输数据,并不修改其基本结构。当主控制器和从设备处于同一子网时,EtherCAT协议仅替换以太网帧中的Internet 协议(IP)。
图2. EtherCAT中的以太网帧结构
数据以过程数据对象(PDOs)形式在主从设备之间传输。每个PDO都包含单个或多个从设备的地址,这种数据加地址的结构(附带用于校验的传输计数位)组成了EtherCAT的报文。每个Ethernet帧可能包含数个报文,而一个控制周期中可能需要多帧来传送所需的所有报文。
数据传输
对于某些实时协议,主控制器发送数据包后必须等待每个从节点完成对数据的解析和复制。然而这种确定性方法很难维持,因为主控制器必须添加并管理一定量的处理时间及每个从设备的抖动。
EtherCAT技术能够在工作中处理每个以太网帧,从而克服了上述系统限制。举例来说,设想以太网的帧就像行驶中的火车,EtherCAT报文是每节火车车厢,PDO数据的比特就是车厢内的乘客,这些数据可以被提取并插入到合适的从设备中。整辆火车不停止地穿越所有从设备,在末端从设备处又掉头,重新反向穿越所有从设备。
图3. EtherCAT数据传输
同样道理,当设备1收到主设备发出的以太网数据包后,将自动开始将数据包发送到设备2,其间对数据包的读写延迟仅为数纳秒。由于数据包不断地在从设备之间传递,数据就能同时存在于数个设备上。
上述方法有什么实际意义呢?我们假设有50台从设备,需要向每个从设备发送不同数据。对于非EtherCAT的网络,需要发送50个不同的数据包;而对于EtherCAT,只需发送一个包含所有从设备数据的长数据包就行了,该数据包将遍历所有从设备。如果所有从设备需要接受相同的数据,那么只需要发送一个短数据包,所有从设备接收数据包的同一部分便可获得该数据,从而优化了数据传输速度及带宽。
高速性能
EtherCAT专为例如控制之类的单点应用()实现高性能、高通道数而设计。由于使从设备的读写可在同一帧中完成,因此EtherCAT报文结构针对于分散的I/O是一种优化结构。此外,由于整个协议处理由硬件完成,从而独立于协议栈运行时间、CPU性能或软件执行。例如,通过直接存储器存取(DMA),数据在网卡与主处理器或从设备I/O间传输时,能够实现最低的CPU使用率。同时,每个NI从设备均使用若干专用于PDO传输及地址解析的现场总线存储管理单元(FMMUs)。从设备(而非主设备)独立进行相应报文的映射,从而降低了主设备的复杂性,释放更多资源。
定时及同步
实现确定性网络的另一个因素是主控制器通过分布式时钟同步从设备的能力。从设备中必须有一台输出主时钟用于与其它从设备时钟进行同步。在NI的设计实现中,第一台从设备包含了主时钟,主控制器发送的特殊同步报文在每个扫描周期中读取主时钟。该报文更新并调整所有其它从设备时钟,以消除时钟偏移。
精确同步非常重要,尤其是在大范围分布式处理应用中要求同步执行时,如运动轴间的协调运动。NI采用时间戳来衡量发送与返回帧之间的时差。利用这种方式,可以计算节点间的传输延时,通过准确调节分布式时钟便可实现精确同步(小于1 μs)。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |