EtherCAT主从同步方法

EtherCAT主从同步方法

ID:40547854

大小:305.19 KB

页数:5页

时间:2019-08-04

EtherCAT主从同步方法_第1页
EtherCAT主从同步方法_第2页
EtherCAT主从同步方法_第3页
EtherCAT主从同步方法_第4页
EtherCAT主从同步方法_第5页
资源描述:

《EtherCAT主从同步方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、EtherCAT主从同步方法1.时钟漂移问题如图所示,主站和从站通过EtherCAT总线连接,设主站的晶振频率为f0,从站1晶振频率f1,从站2晶振频率f2,假如在3个设备中同时设置一个定时长度为T的周期性定时器,由于晶振频率的微小差异,不可能使得3个设备同时完成定时器触发。由于是周期性的,这微小的触发时间不一致会累积起来,直到出现质变例如在相同时间段内,主站出发了N次,从站1触发了M次,从站2触发了K次。以伺服驱动器为例:Sync0信号为1ms(过程数据交换周期也设为1ms)为周期的总线同步型号,Eva

2、.T1CNT为从站DSP的控制周期计数器(0àMaxà0为一个周期,设定为125us)。由于Sync0信号跟随的是主站的系统时钟,Eva计数使用的是从站的晶振,因此它们所认为的时间长度T必然会有差异。理论上来说,Eva的8个周期,125us*8=1ms应该和Sync0的产生周期1ms一致,但实际情况由上图可知,它们并不一致。这种差异会累积起来,导致Eva的控制周期相对于Sync0产生漂移。假设伺服驱动器中位置采样都在Eva.T1CNT=Max时进行,正常情况下1个Sync0周期内会进行8次位置采样,而由于

3、漂移的问题,可能会产生9次位置采样。这种情况对于主站来说是不可见的,主站依旧会认为获得的位置反馈为8次采样的值。当对位置反馈值做微分获得速度值时,就可以看到速度会在9次位置采样时产生跳变。同样的,位置漂移对于位置环的运算也是致命的,由于位置指令是以增量形式下发的,当不能保证每个Sync0周期能有固定次数的Eva周期时,观察位置环输出的速度值也是跳变的。2.解决方案EtherCAT总线解决了主站系统时间和各个从站Sync0信号的同步问题,即总线能够保证各个从站的Sync0信号能够根据主站的系统时间同时周期性

4、的产生。现在需要一套机制保证控制芯片的控制周期能和Sync0保证同步周期性产生。2.1Sync0/Sync1生成EtherCAT通讯芯片支持Sync0和Sync1两路同步信号,其中Sync0为同步源信号,Sync1的生成始终跟随Sync0。当主站对从站通讯芯片的0x0981写入0x07后,就可以激活这两个信号输出。Sync0和Sync1的关系可以通过如下4个参数来设置:Cycle0:Sync0周期,单位nsShift0:从激活DC时钟到产生第一个Sync0所延迟的时间,单位nsCycle1:从Sync0产

5、生到Sync1产生所延迟的时间,单位ns,Sync1产生后,延迟的时间由下一次Sync0产生时开始计算(Linux主站)。Shift1:Sync1相对于它之前的那个Sync0信号的偏移,单位ns(仅在TwinCAT的配置文件中使用,Linux主站无效)。注:若想在使用Linux主站时控制Sync1相对于Sync0的偏移Shift1,且Sync1的周期为Sync0的N倍,则可以做如下设置:Cycle1=Cycle0*(N-1)+Shift1以伺服的情况配置如下:Cycle0=125000Shift0=0Cy

6、cle1=Cycle0*(8-1)+50000=925000Shift1=0这样将会产生125us为周期的Sync0和周期为1ms的Sync1,Sync1滞后Sync0时间为50us。Sync0作为同步Eva周期使用,Sync1作为过程数据交换触发使用。由于Sync0和Sync1保持了8倍频率关系,因此只要Eva周期能和Sync0保持一一对应的同步就能够使从站控制周期和过程数据交换同步以及不同从站之间的控制周期同步。2.2从站控制周期和Sync0同步为了保证同步,需要实时调整从站控制周期,以伺服驱动器为例

7、,就是要实时调整Eva.T1PR。Eva.T1CNT是以DSP的150M频率进行计数的计数器,其计数周期规律为0àMaxà0,当Eva.T1PR=9375时,0à9375à0所需时间为125us。此处125us时间是以从站晶振频率来考虑时的时间,与Sync0的125us周期不同(以主站系统时钟来考虑)。实际测试可知,Sync0的125us周期时间对应Eva.T1PR约等于9373,且Sync0的周期维持的非常稳定,其周期抖动可以基本忽略。为此可以设计如下控制策略控制Eva.T1PR:定义T为Eva.T1P

8、R的值,t为Sync0信号产生时的Eva.T1CNT值,Shift为Sync0和Eva周期中断(在Eva.T1CNT=0时产生)期望的偏差时间(应当为一个固定值)。的调节偏差足够Eva周期中断快速收敛到指定的Shift偏差处,9375为预设的控制周期(125us)。2.3程序实现在伺服实现中,将EtherCAT通讯芯片的Sync0直接引入XINT1管脚,Sync1直接引入XINT2管脚。自由运行:Eva按照从站晶振频率定义的1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。