EtherCAT 从站作参考时钟

EtherCAT 定义了3 种主要的同步模式:

  1. Free Run(非同步):从站的过程数据处理,由内部事件触发,与主站循环无关。
  2. SM-Synchronous:从站的过程数据处理,由接收到携带过程数据的周期性数据帧时所产生的硬件中断触发。
  3. DC-Synchronous:从站的过程数据处理, 由基于分布时钟和系统时间的硬件中断触发

前两种方式不涉及时钟的同步,只要主站周期的发送数据就能正常的工作,第三种DC同步,是三种中最复杂的。

DC同步的参考时钟源选择有三种情况:

  1. 以主站为参考时钟;
    • 以主站为参考时钟,需要在周期性数据帧中包含1个FPWR( 对时命令) 周期性命令,周期的设置从站的时间
  2. 以第一个带DC的从站为参考时钟;
    • 以从站为参考时钟需要需要在周期性数据帧中包含1个FRMW( 对时命令) 周期性命令,周期性的从参考从站读取时间,其它从站写入这个时间,主站根据这个时间来同步主站时间(主站需要一些算法来更新本地时间)
  3. 以外部时钟为参考时钟;
    • 以从站和以外部时钟为参考时钟相类似,目前还没遇到过以外部时钟为参考时钟。

以IgH为例实现从站为参考时钟,控制伺服(IgH给出的demo以主站为参考时钟的)

IGH API


版权声明:本文为youshijian99原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。