分布式时钟是EtherCAT技术的亮点之一。由分布式时钟带来的精准同步可以使得整个系统都运行在统一的时钟下,每个设备的同步性远小于1微秒。在接下来的几篇文章中,我将从分布式时钟的原理定义,实现手段以及具体应用这几方面去阐述分布式时钟对于设备的意义。
什么是分布式时钟?
分布式时钟是EtherCAT网络中的内置时钟。从命名来看,分布式时钟分散于每个从站的硬件中,属于EtherCAT自带的本地时钟系统。本地时钟系统这一概念非常重要,当然EtherCAT可以从外部接入IEEE1588或者其他的时钟,但这不是必须的。从本质上说,分布式时钟(DC)就是一个控制系统内部的本地时钟。我们以倍福提供的从站控制器,ET1100为例(其他公司的从站产品同理,本质上EtherCAT从站都具有相同的结构)。所有的从站控制器都有分布式时钟硬件,如下图1中红框部分为分布式时钟。可以看到分布式时钟是从站中相对独立的一个单元,对外输出SYNC信号或者接收LATCH信号。
分布式时钟内部可以分为DC控制单元和同步/锁存单元。这其中DC Control单元负责对本地时钟的调整,包括初始时钟偏差,线路延时偏差和晶振偏差的微调。而Sync/Latch Unit单元负责对外信号的交互,包括同步信号输出或者输入信号的锁存。
对于一个EtherCAT系统来说,主站就是命令的发起者,所有的EtherCAT指令(当然包括同步指令)都由主站发起,理所应当的,从站只提供分布式时钟硬件部分,所有的同步算法都由主站负责。
主站在初始化阶段会对各个从站内部的时钟进行同步,以消除每个时钟本身的初始偏差和线路上的延时导致的偏差。在系统运行时,由于每个从站的晶振频率本身微小的差别,需要在每个周期对时钟进行微调。这一过程中,相当于每个从站已经对好