一种Ethercat总线主站和从站实时同步方法技术

技术编号:33442705 阅读:15 留言:0更新日期:2022-05-19 00:29
本发明专利技术公开了一种Ethercat总线主站和从站实时同步方法,包括:设置载波周期和主站同步周期,载波周期与主站同步周期的比值为整数N;当MCU从站同步中断程序结束时,将SyncIO置位为高电平,SyncIO为MCU从站上与FPGA执行模块连接的IO口;当触发第二事件和第四事件的次数和为N时,将SyncIO置位为低电平,然后将第二事件和第四事件的次数和清零,第二事件为采样中断触发事件,第四事件为采样中断触发事件;实时检测所述SyncIO的状态,当检测到SyncIO的上升沿时,FPGA执行模块执行同步算法。本发明专利技术实现了Ethercat主站、MCU从站以及FPGA执行模块三者的实时同步控制。块三者的实时同步控制。块三者的实时同步控制。

【技术实现步骤摘要】
一种Ethercat总线主站和从站实时同步方法


[0001]本专利技术属于伺服系统同步
,特别是涉及一种Ethercat总线主站和从站实时同步方法。

技术介绍

[0002]为了提升伺服系统性能,通常将伺服系统设计为MCU+FPGA架构,其中MCU实现速度环算法和位置环算法功能,FPGA实现电流环算法和PWM调制算法以及系统事件触发功能。对于采用Ethercat总线的伺服系统,从站可以在FPGA或MCU上实现,由于主站和从站的系统时钟是异步的,随着时间的推移,必然造成主站和从站系统运行不同步。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供一种Ethercat总线主站和从站实时同步方法。
[0004]本专利技术的目的是通过以下技术方案来实现的:一种Ethercat总线主站和从站实时同步方法,应用于伺服系统,所述伺服系统包括Ethercat主站、MCU从站和FPGA执行模块,所述MCU从站分别与Ethercat主站和FPGA执行模块通信连接,所述Ethercat总线主站和从站实时同步方法包括:设置载波周期和主站同步周期,所述载波周期与主站同步周期的比值为N,且N为整数;当MCU从站同步中断程序结束时,将SyncIO置位为高电平,所述SyncIO为MCU从站上与FPGA执行模块连接的IO口;当触发第二事件和第四事件的次数和为N时,将所述SyncIO置位为低电平,然后将第二事件和第四事件的次数和清零,所述第二事件为采样中断触发事件,所述第四事件为采样中断触发事件;实时检测所述SyncIO的状态,当检测到SyncIO的上升沿时,FPGA执行模块执行同步算法。
[0005]优选的,所述同步算法包括:当第一次检测到SyncIO的上升沿时,停止第一事件、第二事件、第三事件和第四事件的触发,然后将载波时基计数值清零,其中,第一事件为速度位置环中断触发事件,第三事件为速度位置环中断触发事件;将载波时基计数值清零后,开启第一事件、第二事件、第三事件和第四事件的触发;每当检测到SyncIO的上升沿时,记录当前的载波时基计数值,并根据当前的载波时基计数值对载波峰值进行修正;对载波峰值进行修正后,修正第一事件、第二事件、第三事件和第四事件的事件触发设置值。
[0006]优选的,根据当前的载波时基计数值对载波峰值进行修正,包括:当前的载波时基计数值为载波时基上升计数时,将载波峰值修正为:Cpeak = Cfs

Tbcnt/(2*N);当前的载波时基计数值为载波时基下降计数时,将载波峰值修正为:Cpeak = Cfs +Tbcnt/(2*N);其中,Cpeak表示载波峰值,Cfs表示载波周期,Tbcnt表示载波时基计数值,N表示载波周期和主站同步周期的比值。
[0007]优选的,修正第一事件、第二事件、第三事件和第四事件的事件触发设置值,包括:保持第三事件和第四事件的时基计数不变;将第一事件的事件触发设置值修正为E1 = Cpeak
ꢀ–ꢀ
E3;将第二事件的事件触发设置值修正为E2 = Cpeak
ꢀ–ꢀ
E4;其中,Cpeak表示载波峰值;E1为第一事件的事件触发设置值,当载波时基计数等于E1时,FPGA执行模块触发第一事件;E2为第二事件的事件触发设置值,当载波时基计数等于E2时,FPGA执行模块触发第二事件;E3为第三事件的事件触发设置值,当载波时基计数等于E3时,FPGA执行模块触发第三事件;E4为第四事件的事件触发设置值,当载波时基计数等于E4时,FPGA执行模块触发第四事件。
[0008]优选的,所述同步算法还包括:每当检测到SyncIO的上升沿时,如果当前的载波时基计数值大于等于预设的保护阈值,则提示同步失败,否则,提示同步有效。
[0009]本专利技术的有益效果是:(1)本专利技术实现了Ethercat主站、MCU从站以及FPGA执行模块三者的实时同步控制;(2)相较于现有技术,本专利技术不必考虑主站时钟和从站时钟的具体关系,只需在MCU从站同步中断程序结束时拉高MCU从站的IO口电平,并告知FPGA模块,FPGA模块通过本专利技术的实时修正策略调整自己的PWM载波以及对MCU算法中断的触发位置,以达到主从站同步的目的;(3)本专利技术在多MCU从站运行情况下可保证各MCU从站独立与Ethercat主站时钟同步,MCU从站和MCU从站之间互不影响。
附图说明
[0010]图1为本专利技术中伺服系统的一个实施例的组成框图;图2为本专利技术中Ethercat总线主站和从站实时同步方法一个实施例的流程图;图3为本专利技术中Ethercat总线主站和从站实时同步方法又一个实施例的流程图;图4为Ethercat主站时钟滞后MCU从站时钟时的同步修正示意图;图5为Ethercat主站时钟超前MCU从站时钟时的同步修正示意图。
具体实施方式
[0011]下面将结合实施例,对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域
Cpeak
ꢀ–ꢀ
E3;将第二事件的事件触发设置值修正为E2 = Cpeak
ꢀ–ꢀ
E4;其中,Cpeak表示载波峰值;E1为第一事件的事件触发设置值,当载波时基计数等于E1时,FPGA执行模块触发第一事件;E2为第二事件的事件触发设置值,当载波时基计数等于E2时,FPGA执行模块触发第二事件;E3为第三事件的事件触发设置值,当载波时基计数等于E3时,FPGA执行模块触发第三事件;E4为第四事件的事件触发设置值,当载波时基计数等于E4时,FPGA执行模块触发第四事件。
[0026]在一个实施例中,每当检测到SyncIO的上升沿时,如果当前的载波时基计数值大于等于预设的保护阈值,则提示同步失败,否则,提示同步有效。提示同步失败的方式可以为:当前的载波时基计数值大于等于预设的保护阈值时置位ErrEcat,ErrEcat表示 Ethercat总线同步错误标志。
[0027]图4和图5为主从站同步修正的示意图,其中图4为Ethercat主站时钟滞后MCU从站时钟时的同步修正示意图,图5为Ethercat主站时钟超前MCU从站时钟时的同步修正示意图。
[0028]以上所述仅是本专利技术的优选实施方式,应当理解本专利技术并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本专利技术的精神和范围,则都应在本专利技术所附权利要求的保护范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Ethercat总线主站和从站实时同步方法,应用于伺服系统,所述伺服系统包括Ethercat主站、MCU从站和FPGA执行模块,所述MCU从站分别与Ethercat主站和FPGA执行模块通信连接,其特征在于,所述Ethercat总线主站和从站实时同步方法包括:设置载波周期和主站同步周期,所述载波周期与主站同步周期的比值为N,且N为整数;当MCU从站同步中断程序结束时,将SyncIO置位为高电平,所述SyncIO为MCU从站上与FPGA执行模块连接的IO口;当触发第二事件和第四事件的次数和为N时,将所述SyncIO置位为低电平,然后将第二事件和第四事件的次数和清零,所述第二事件为采样中断触发事件,所述第四事件为采样中断触发事件;实时检测所述SyncIO的状态,当检测到SyncIO的上升沿时,FPGA执行模块执行同步算法。2.根据权利要求1所述的一种Ethercat总线主站和从站实时同步方法,其特征在于,所述同步算法包括:当第一次检测到SyncIO的上升沿时,停止第一事件、第二事件、第三事件和第四事件的触发,然后将载波时基计数值清零,其中,第一事件为速度位置环中断触发事件,第三事件为速度位置环中断触发事件;将载波时基计数值清零后,开启第一事件、第二事件、第三事件和第四事件的触发;每当检测到SyncIO的上升沿时,记录当前的载波时基计数值,并根据当前的载波时基计数值对载波峰值进行修正;对载波峰值进行修正后,修正第一事件、第二事件、第三事件和第四事件的事件触发设置值。3.根据权利要求2所述的一种Ethercat总线主站和从站实时同步方法,其特征在于,根据当前的载波时基计数值...

【专利技术属性】
技术研发人员:徐家雄黄维洪
申请(专利权)人:成都中天自动化控制技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1