下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EtherCAT 主从同步方法1. 时钟漂移问题如图所示,主站和从站通过EtherCAT 总线连接,设主站的晶振频率为f0 ,从站 1晶振频率 f1 ,从站 2 晶振频率 f2 ,假如在 3 个设备中同时设置一个定时长度为T的周期性定时器,由于晶振频率的微小差异,不可能使得3 个设备同时完成定时器触发。由于是周期性的,这微小的触发时间不一致会累积起来,直到出现质变例如在相同时间段内,主站出发了N 次,从站 1 触发了 M次,从站 2 触发了 K 次。以伺服驱动器为例:Sync0 信号为1ms(过程数据交换周期也设为1ms)为周期的总线同步型号,Eva.T1CNT为从站 DSP的控制周期计数器
2、( 0Max0为一个周期, 设定为 125us)。由于 Sync0 信号跟随的是主站的系统时钟, Eva 计数使用的是从站的晶振, 因此它们所认为的时间长度 T 必然会有差异。理论上来说, Eva 的 8 个周期, 125us*8=1ms应该和 Sync0 的产生周期 1ms 一致,但实际情况由上图可知,它们并不一致。这种差异会累积起来,导致 Eva 的控制周期相对于 Sync0 产生漂移。假设伺服驱动器中位置采样都在Eva.T1CNT=Max时进行,正常情况下1 个 Sync0周期内会进行8 次位置采样,而由于漂移的问题,可能会产生9 次位置采样。这种情况对于主站来说是不可见的,主站依旧会认
3、为获得的位置反馈为8 次采样的值。当对位置反馈值做微分获得速度值时,就可以看到速度会在9 次位置采样时产生跳变。同样的,位置漂移对于位置环的运算也是致命的,由于位置指令是以增量形式下发的,当不能保证每个Sync0 周期能有固定次数的Eva 周期时,观察位置环输出的速度值也是跳变的。2. 解决方案EtherCAT 总线解决了主站系统时间和各个从站Sync0 信号的同步问题,即总线能够保证各个从站的Sync0 信号能够根据主站的系统时间同时周期性的产生。现在需要一套机制保证控制芯片的控制周期能和Sync0 保证同步周期性产生。2.1 Sync0/Sync1生成EtherCAT 通讯芯片支持Sync
4、0 和 Sync1 两路同步信号,其中 Sync0 为同步源信号,Sync1 的生成始终跟随Sync0。当主站对从站通讯芯片的0x0981 写入 0x07 后,就可以激活这两个信号输出。Sync0 和 Sync1 的关系可以通过如下4 个参数来设置:Cycle0 : Sync0 周期,单位 nsShift0 :从激活 DC时钟到产生第一个Sync0 所延迟的时间,单位nsCycle1 :从 Sync0 产生到 Sync1 产生所延迟的时间,单位ns, Sync1 产生后,延迟的时间由下一次Sync0 产生时开始计算(Linux 主站)。Shift1 : Sync1 相对于它之前的那个Sync0
5、 信号的偏移,单位ns(仅在 TwinCAT的配置文件中使用,Linux 主站无效)。注:若想在使用Linux 主站时控制Sync1 相对于 Sync0 的偏移 Shift1,且 Sync1的周期为 Sync0 的 N 倍,则可以做如下设置:Cycle1=Cycle0*(N-1)+Shift1以伺服的情况配置如下:Cycle0=125000Shift0=0Cycle1=Cycle0*(8-1)+50000=925000Shift1=0这样将会产生125us 为周期的 Sync0 和周期为 1ms的 Sync1,Sync1 滞后 Sync0 时间为 50us。Sync0 作为同步 Eva 周期使
6、用, Sync1 作为过程数据交换触发使用。由于Sync0 和Sync1 保持了 8 倍频率关系,因此只要 Eva 周期能和 Sync0 保持一一对应的同步就能够使从站控制周期和过程数据交换同步以及不同从站之间的控制周期同步。2.2从站控制周期和Sync0 同步为了保证同步,需要实时调整从站控制周期,以伺服驱动器为例,就是要实时调整 Eva.T1PR。Eva.T1CNT是以 DSP的 150M频率进行计数的计数器,其计数周期规律为0Max0,当 Eva.T1PR=9375 时, 093750 所需时间为 125us。此处 125us 时间是以从站晶振频率来考虑时的时间,与Sync0 的 125
7、us 周期不同(以主站系统时钟来考虑)。实际测试可知, Sync0 的 125us 周期时间对应Eva.T1PR 约等于 9373,且 Sync0 的周期维持的非常稳定,其周期抖动可以基本忽略。为此可以设计如下控制策略控制 Eva.T1PR:定义 T 为 Eva.T1PR 的值,t 为 Sync0 信号产生时的Eva.T1CNT值,Shift为 Sync0和 Eva 周期中断(在 Eva.T1CNT=0时产生)期望的偏差时间 (应当为一个固定值) 。10 的调节偏差足够Eva 周期中断快速收敛到指定的Shift偏差处, 9375 为预设的控制周期( 125us)。2.3程序实现在伺服实现中,将
8、 EtherCAT 通讯芯片的 Sync0 直接引入 XINT1 管脚, Sync1 直接引入 XINT2 管脚。自由运行: Eva 按照从站晶振频率定义的125us 周期运行。同步阶段 1:通过检测 Sync0 信号来停止Eva 的周期计数和中断产生。同步阶段 2:在合适的时刻重新启动Eva 周期计数, 并开始调节Eva 周期和使之向Sync0 同步。同步阶段 3:在经过不断的调整后, Eva 周期和 Sync0 保持同步,并拥有稳定的Shift偏移关系。a)当 EtherCAT 总线从 PREOPOP并激活 DC时钟后,产生了第一个Sync0 信号。b1)DSP程序在本控制周期内检测到Sy
9、nc0 第一次产生,遂将 Eva.T1CNT停止计数 ,等待后续同步时机。b2)DSP程序未在本控制周期内检测到Sync0 第一次产生, 但是在接下来的一个控制周期中检测到Sync0 第二次产生,遂将Eva.T1CNT停止计数,等待后续同步时机。c)第 3 个 Sync0 信号产生,立刻将Eva.T1CNT=0,并开始 Eva.T1CNT计数,初始的 Eva.T1PR 可使用 9375。使用章节 2.2 描述的方法对 Eva.T1PR 每个 Eva 周期都进行调整。d)经过几十个控制周期的调整,同步完成,只要Sync0 信号存在,就一直进行调整保持。注:1) 在同步阶段 2,可能会出现Eva 周期和 Sync0 信号不一一对应的情况。2) 同步阶段 2 的时间长度取决于Shift的设置, Shift越大,所用时间越长。3) Shift的值不易设置的太小或太大,避免调节时Eva.T1CNT做递增操作(章节2.2的控制策略只适用于Eva.T1CNT 做递
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 晋教版七年级地理下册系列测评卷 第八章 认识亚洲
- 第4章 消极领导力
- 第3章 自我意识
- 农业灌溉系统智能化改造对水资源利用效率的影响研究意义
- 报废汽车回收服务指南
- 靶向CD47的肿瘤免疫治疗安全性研究报告
- 2026年资产评估师资产评估基础历2026年真题冲刺试卷
- 2026年资产评估师资格考试试卷及答案解析(资产评估基础)
- 抗心律失常药物临床应用中国专家共识(2026 版)
- 2026年从“五方面人员”中选拔乡镇领导班子成员(考前模拟试题及解析)(甘孜州)
- 华为供应商质量管理三化一稳定严进严出
- 2025年Q2(桥式)起重机司机题库考试题(附答案)
- 乡镇卫生院基药培训课件
- GB/T 46082.1-2025气焊设备用安全装置第1部分:阻火器
- 山东省济南市2025年中考物理真题(含答案)
- Python数据可视化之Matplotlib与PyEcharts实践
- 高速消防员安全知识培训课件
- 2025年西安市8中小升初试题及答案
- 重庆市2025年高考真题化学试卷(含答案)
- 《贵州省涉路工程安全技术指南(试行)》
- 江苏苏州2024~2025学年高二下册6月期末考试数学试题含解析
评论
0/150
提交评论