关于Igh-EthercatMaster DC时钟的同步方式和性能

发现SYNC0信号的周期跳变最大7us,平均2us,而且有随机周期160ms的7us跳变尖峰,比起官方宣称的100ns时间同步精度相差甚远.

原来是Igh-EthercatMaster的dc_user例子里给的是使用主站时钟作为整个从机时钟的DC同步方式.

根据 http://lists.etherlab.org/pipermail/etherlab-users/2016/003012.html 和 http://lists.etherlab.org/pipermail/etherlab-users/2016/003013.html 的讨论

使用第一个带DC的从站作为参考时钟,然后将主站时钟锁定至参考时钟是最好的办法.


好吧,伺服启动后跳变就没了,这是特性而不是bug,用twincat测过了也一样


--------------------------上面是被坑的内容------------------------

--------------------------下面也是被坑的内容---------------------

因为干扰的原因?测得设备电源输入的零地电压为7v

时不时的有丢包现象和从站单片机重启?现象,导致主站设备数变动,重新扫描设备,然后会引起所有设备重置,严重的时候几分钟重启一次.

发现了 https://sourceforge.net/u/uecasm/etherlab-patches/ci/default/tree/#readme 这一堆补丁包,看似很exciting,但是全打上后,发现e1000e的驱动有严重的bug,receive时会导致2000us的延时. 

补丁不能全打上,理论上只需要  base/0009-Avoid-changing-running-slaves-DC-offset.patch 这个补丁就行了

但是为了打0009补丁,需要打 base/0001-Distributed-Clock-fixes-and-helpers.patch , base/0002-Distributed-Clock-fixes-from-Jun-Yuan.patch 这两个补丁

总共3个补丁,需要手动解决冲突,打上后测试成功,热拔插设备不会引起别的设备重置了


你可能感兴趣的:(Ethercat,Ethercat)