ethercat 网卡不兼容_EtherCAT学习日记(2)分布式时钟

5dbc6fdb2056a780300c730bada4fd08.png

EtherCAT从站控制器的分布式时钟有以下几个特点:

  • 实现主从站之间的时钟同步
  • 可产生同步输出信号(这里不大清楚,是输出时钟信号吗?有朋友知道的可以指正)
  • 完成输入事件的精确捕捉
  • 产生同步中断(我的理解就是输出同步中断信号,从站处理器接收其产生的中断信号并进入中断处理)
  • 数字输出信号同步更新
  • 输出输入信号同步采样

以下展开讨论:

1、时钟同步

以下会经常提到几个重点词汇,这里先一一说明:

系统时间定义:

  • 北京时间的2000年1月1日00:00(作为最初时间起始点)
  • 最小单位为1ns
  • 64位值来计数(2的64次方 个 ns,足以超过500年)
  • 低32位可以表示的范围为4.2秒,足以用作通信和时间戳记。(有的ESC只有32位分布式时钟,也可以被64位分布式时钟所兼容,时钟戳记就是记录下各个时间点)

参考时钟定义:

各个EtherCAT设备都采用一个参考时钟。

那么谁的时钟作为参考时钟呢?

通常把与主站通信的,第一个具有分布式时钟的从站控制器(ESC),其时钟作为整个系统的参考时钟,也就提供了系统时间。参考时钟可以调整为“全局参考时钟”,例如IEEE 1588主时钟。

有关IEEE 1588相关资料:IEEE1588时钟(PTP时钟系统)介绍

本地时钟定义:

各个DC从站都有自己的本地时钟,本地时钟最初独立于参考时钟运行。而之后本地时钟和参考时钟之间的偏差(时钟漂移,偏移)都可以被补偿,而后达到与参考时钟相同步的效果。偏移量校对可以通过将偏移量加至本地时钟的方式完成,时钟漂移要通过对本地时钟速度(频率)的测量和调整来达到校对。

主时钟定义:

参考时钟通常为EtherCAT主站初始化,由主站按照系统时间定义,使用主时钟将系统时间传递出去。其实这里我还是有点不太理解主时钟是什么意思。。。但是感觉无伤大雅。大概就是主站的时钟吧?(说的不对请懂的朋友多多指正)

明白以上的几个关键时钟定义,接下来咱们切入正题。

顾名思义,时钟同步可以使得主从站共用一个系统时间,也可以实现EtherCAT设备之间的同步运行,设备内的本地程序运行同样。

对系统时间来说,所有从站都向其同步,也就是说只能有一个参考时钟(系统时间)。

但是系统时间要实现同步还存在一些干扰因素:

  • 传输延迟(这个好理解,就算是光速也会有延迟,何况这个会涉及到硬件上的反应时间)
  • 各个从站的本地时钟漂移(各个从站时钟源不一所导致)
  • 各个从站的本地时钟偏移(上电后的时间和系统时间的偏移值

这些因素下边会细讲。

各个ESC可以产生同步信号,使得本地应用程序与整个系统的系统时间相同步。这个同步信号可以直接被控制器自己内部使用(例如中断),或者触发 数字输出信号更新/数字信号输入采样。

时钟同步过程:

主站会测量所有从站上的

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值