一种总线实时同步控制装置制造方法及图纸

技术编号:24798255 阅读:48 留言:0更新日期:2020-07-07 20:51
本发明专利技术公开了一种总线实时同步控制装置,包括CPU和FPGA/CPLD,所述CPU移植操作系统后完成人机、总线控制、控制算法,由FPGA/CPLD统一控制总线通信机制和网络控制。本发明专利技术利用了FPGA/CPLD的并行处理及时间可精确控制的特性,由FPGA/CPLD来完成实时通信功能,可以把通信数据发送抖动有效控制在ns级的精度范围。同时由于周期固定,所以同步功能可以通过数据量和通信速率提前计算出各个从站的延迟时间。从而根据每个轴的延迟补偿同步即可,无需复杂的计算可以达到更好的同步性能。

【技术实现步骤摘要】
一种总线实时同步控制装置
本专利技术涉及工业控制
,具体是一种总线实时同步控制装置。
技术介绍
在工业控制领域,现在越来越多的采用了总线控制技术。总线控制要想达到好的控制效果,有两个指标非常重要。1、如何保证从站虽然不同时刻接收到数据,但是可以同时执行命令。2、如何保证从站每次同步执行间隔尽量和周期一致(比如周期100us,间隔也约接近100us越好)。以上第2点主要与主站发送数据的周期实时性能有关。而第1点的性能也会受到第2点性能的影响(如果周期不准确,同步需要动态调整,甚至有时间会出现丢失一个周期的数据的情况,很难保证同步)。目前为了保证第1点性能常见做法为:选择多核CPU,单独提供一个核用作实时通信任务,同时操作系统上增加实时补丁。此方法可以提升一定的实时性能,但是由于操作系统的影响,效果也并不太理想。
技术实现思路
本专利技术的目的在于提供一种总线实时同步控制装置,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种总线实时同步控制装置,包括CPU和FPGA/CPLD,所述CPU移植操作系统后完成人机、总线控制、控制算法,由FPGA/CPLD统一控制总线通信机制和网络控制。作为本专利技术的进一步技术方案:所述FPGA/CPLD完成通信周期可配置功能,根据CPU发送的命令参数来确定通信的周期,使得总线根据负载和运算能力,自动配置通信周期。作为本专利技术的进一步技术方案:配置完通信周期FPGA/CPLD自动产生计时,每隔配置周期触发数据发送,由于FPGA/CPLD计时可以精确到ns级,所以总线发送的周期也可以达到ns级的标准。作为本专利技术的进一步技术方案:所述FPGA/CPLD开辟缓存数据区,把CPU要发送的数据暂存到FPGA/CPLD中。作为本专利技术的进一步技术方案:所述FPGA/CPLD开辟双数据缓存区,防止发送过程中数据被更改。作为本专利技术的进一步技术方案:对于CPU实时性不能满足的情况,通过FIFO缓存的方式解决,CPU运算每个周期要发送的数据写入FIFO即可,只要保证FIFO空间数据不为空,在CPU空闲时把数据存入FIFO即可,FPGA/CPLD定时取出每一组要发送的数据,定时发送到总线中。作为本专利技术的进一步技术方案:对于数据长度不固定的总线,通信延迟等于通信速率乘以数据长度和硬件固定延迟之和。与现有技术相比,本专利技术的有益效果是:本专利技术利用了FPGA/CPLD的并行处理及时间可精确控制的特性,由FPGA/CPLD来完成实时通信功能,可以把通信数据发送抖动有效控制在ns级的精度范围。同时由于周期固定,所以同步功能可以通过数据量和通信速率提前计算出各个从站的延迟时间。从而根据每个轴的延迟补偿同步即可,无需复杂的计算可以达到更好的同步性能。附图说明图1为总线通信数据接收和同步时间的示意图。图2为双缓冲模式下的数据周期发送示意图。图3为FIFO缓存模式下数据交互示意图。图4为相同速度下以1ms和500us画圆为例,插补周期对于控制精度的影响对比图。图3中:周期T是可以配置的周期。t1,t2,t3,t4,t5只是表示CPU发送给FPGA数据可以延迟不同的时间,而不影响效果。图4中:CPU给FPGA/CPLD发送的数据无需考虑周期,只要在运算完成空闲时刻写入FIFO即可,FPGA/CPLD按照周期定时取出FIFO数据发送给从站。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1-2,一种总线实时同步控制装置,包括CPU和FPGA/CPLD,CPU移植操作系统后完成复杂的人机、总线控制、控制算法等功能,然后总线通信机制、包括网络控制由FPGA/CPLD来统一控制。1、FPGA/CPLD完成通信周期可配置功能,可以根据CPU发送的命令参数来确定通信的周期,使得总线可以根据负载和运算能力,自动配置通信周期。配置完通信周期FPGA/CPLD自动产生计时,每隔配置周期触发数据发送,由于FPGA/CPLD计时可以精确到ns级,所以总线发送的周期也可以达到ns级的标准,收发机制如图1所示。2、FPGA/CPLD开辟缓存数据区,把CPU要发送的数据暂存到FPGA/CPLD中。2.1、FPGA/CPLD开辟双数据缓存区,主要作用是:例如本周期如果发送缓存数据1区的数据,那么CPU写入时就会写入到缓存2区,下一个周期切换发送和写入的缓存区。主要是为防止发送过程中数据被更改。把开始发送标志信号作为中断给CPU,CPU只需在收到中断后一个周期以内把数据发送给FPGA/CPLD缓存即可。由于FPGA/CPLD完成了精准的周期数据发送,那么对CPU的实时性要求就比较低,不但可以提高效果,而且可以解放CPU的负担,用来完成其他的任务。缓存方式示意图如图2所示。2.2、对于CPU实时性还是不能满足的情况,可以通过FIFO缓存的方式解决,CPU运算每个周期要发送的数据写入FIFO即可。只要保证FIFO空间数据不为空。在CPU空闲时把数据存入FIFO即可,FPGA/CPLD定时取出每一组要发送的数据,定时发送到总线中。FIFO缓存方式如图3所示3、由于发送周期精确性可以达到ns级,所以从站可以以主站的时钟作为参考来做同步。用于计算每个从站所需的补偿时间,对于EtherCAT这种DC时钟同步的同步方案,可以以主站时钟作为DC参考时钟,不需要使用第一个带DC同步功能的从站作为参考。由于第一个从站随客户的接线方式会改变,同时也不确定客户会接入什么样的设备。所以以主站为参考在解决实时性和同步性能的同时可以有效保证性能的一致性。4、由于总线协议不同,同步方式也有一定的差异。例如部分总线协议,每次发送的数据量是固定的,那么第二个从站延时时间理论上是第一个从站的2倍,第三个理论上是第一个的3倍,以此类推。而固定延迟可以通过测试或硬件指标计算得出,所以可以方便的算出每个从站所需的补偿时间。而对于数据长度不固定的总线,通信延迟等于通信速率乘以数据长度和硬件固定延迟之和也可以计算出补偿时间。实施例2,在实施例1的基础上,采样Xilinx的ZYNQ系列XC7Z020高性能SOC,该器件集成了双A9处理器和一个大容量的FPGA。双A9核采用了Linux系统操作系统,实测实时性能在-100us-100us之间。其中一个A9核做用户交互、物联网等功能,另一个A9核用作运动控制算法的计算及EtherCAT协议栈处理。FPGA完成EtherCAT协议的定时收发、同步时钟的产生、100M以太网管、数据缓存等。A9和FPGA通过AXI总线通信,该总线时钟100M,总线数据位宽为32,通信速率非常快,A9本文档来自技高网...

【技术保护点】
1.一种总线实时同步控制装置,包括CPU和FPGA/CPLD,其特征在于,所述CPU移植操作系统后完成人机、总线控制、控制算法,由FPGA/CPLD统一控制总线通信机制和网络控制。/n

【技术特征摘要】
1.一种总线实时同步控制装置,包括CPU和FPGA/CPLD,其特征在于,所述CPU移植操作系统后完成人机、总线控制、控制算法,由FPGA/CPLD统一控制总线通信机制和网络控制。


2.根据权利要求1所述的一种总线实时同步控制装置,其特征在于,所述FPGA/CPLD完成通信周期可配置功能,根据CPU发送的命令参数来确定通信的周期,使得总线根据负载和运算能力,自动配置通信周期。


3.根据权利要求2所述的一种总线实时同步控制装置,其特征在于,配置完通信周期FPGA/CPLD自动产生计时,每隔配置周期触发数据发送,由于FPGA/CPLD计时可以精确到ns级,所以总线发送的周期也可以达到ns级的标准。


4.根据权利要求1所述的一种总线实时同步控制装置,其特征在于,...

【专利技术属性】
技术研发人员:杨基鹏
申请(专利权)人:深圳市小步数控有限公司
类型:发明
国别省市:广东;44

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

1