CN115765568A - 主站控制器控制方法、装置、设备及存储介质 - Google Patents
主站控制器控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115765568A CN115765568A CN202211474799.9A CN202211474799A CN115765568A CN 115765568 A CN115765568 A CN 115765568A CN 202211474799 A CN202211474799 A CN 202211474799A CN 115765568 A CN115765568 A CN 115765568A
- Authority
- CN
- China
- Prior art keywords
- master station
- bus
- system clock
- interrupt
- cpu unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种主站控制器控制方法、装置、设备及存储介质,该方法包括:FPGA芯片生成总线周期中断和脉冲输出完成中断,并将总线周期中断和脉冲输出完成中断发送至CPU单元;CPU单元在总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;在脉冲输出完成中断中获取周期规划数据,并将时间差和周期规划数据写入FPGA芯片;FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制。本发明中CPU单元将获取的主站系统时钟和从站系统时钟之间的时间差和周期规划数据写入FPGA芯片,FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制,实现了对脉冲电机和总线电机的同时控制。
Description
技术领域
本发明涉及电机控制技术领域,尤其涉及一种主站控制器控制方法、装置、设备及存储介质。
背景技术
随着电子技术的发展,当前PLC和运动控制器都在慢慢进入总线时代,EtherCAT(以太网控制自动化技术)总线是目前发展最好,配套最齐全的现场总线。自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步时的通讯抖动量低,而且硬件的成本要低,EtherCAT开发的目的就是让以太网可以运用在自动化应用中。
现有的方案中可以将EtherCAT总线应用于对电机的控制中,通过EtherCAT总线主站对总线电机进行控制,但由于脉冲控制的电机有很大的成本优势,因此也需要实现对脉冲电机的控制,然而为保证实时性脉冲控制一般由主站FPGA芯片发出,而EtherCAT总线时钟必须基于从站实时调整,所以对于不使用操作系统的主站来说,脉冲电机控制和总线控制就必须基于两个不同基准时钟,一个基于FPGA本地时钟,一个基于从站的本地时钟,因此无法实现对脉冲电机和总线电机的同时控制。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种主站控制器控制方法、装置、设备及存储介质,旨在解决现有技术中无法实现对脉冲电机和总线电机进行同时控制的技术问题。
为实现上述目的,本发明提供了一种主站控制器控制方法,所述方法应用于主站控制器,所述主站控制器包括FPGA芯片和CPU单元,所述FPGA芯片和所述CPU单元之间通过内部并行数据总线连接,所述CPU单元通过以太网接口连接EtherCAT总线,所述方法包括:
所述FPGA芯片生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元;
所述CPU单元在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;
所述CPU单元在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片;
所述FPGA芯片根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
可选地,所述FPGA芯片生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元的步骤之前,还包括:
所述FPGA芯片生成系统时钟,并将所述系统时钟发送至CPU单元;
所述CPU单元在接收到所述系统时钟时,控制从站基于所述系统时钟将从站系统时钟调整至主站系统时钟的目标范围内。
可选地,所述CPU单元在接收到所述系统时钟时,控制从站基于所述系统时钟将从站系统时钟调整至主站系统时钟的目标范围内的步骤,包括:
所述CPU单元接收到所述系统时钟时,基于所述系统时钟获取主站和从站之间的时钟偏移;
所述CPU单元将所述时钟偏移写入所述从站的时钟偏移寄存器,以使所述从站基于所述时钟偏移寄存器中存储的时钟偏移将从站系统时钟调整至主站系统时钟的目标范围内。
可选地,所述FPGA芯片生成系统时钟,并将所述系统时钟发送至CPU单元的步骤之前,还包括:
所述FPGA芯片接收晶振输入的时钟源,并通过锁相环将所述时钟源输出为目标时钟;
所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断。
可选地,所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断的步骤之后,还包括:
所述FPGA芯片基于所述目标时钟信号生成总线定时器;
相应的,所述CPU单元在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差的步骤,包括:
所述CPU单元在所述总线周期中断中清除所述总线定时器的中断标志位以关闭所述总线定时器;
所述CPU单元在所述总线定时器关闭时,获取目标从站的从站本地时间和主站的主站本地时间;
所述CPU单元基于所述从站本地时间和所述主站本地时间获取主站系统时钟和从站系统时钟之间的时间差。
可选地,所述CPU单元基于所述从站本地时间和所述主站本地时间获取主站系统时钟和从站系统时钟之间的时间差的步骤之后,还包括:
所述CPU单元读取下一总线周期中断的中断触发时间,并基于所述中断触发时间、所述从站本地时间和所述主站本地时间确定所述总线定时器的重载计数值;
所述CPU单元将所述重载计数值写入所述总线定时器的周期计数器。
可选地,所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断的步骤之后,还包括:
所述FPGA芯片基于所述目标时钟信号生成脉冲定时器;
相应的,所述FPGA芯片根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制的步骤之后,还包括:
所述FPGA在所述脉冲定时器溢出时,基于所述周期规划数据发送当前周期的脉冲数据;
所述FPGA在所述脉冲数据发送完成时,生成新的脉冲输出完成中断;
所述CPU单元在所述新的脉冲输出完成中断中获取下一周期规划数据,并将所述下一周期规划数据写入所述FPGA芯片。
此外,为实现上述目的,本发明还提出一种主站控制器控制装置,所述装置包括:
中断生成模块,用于生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元;
时间差获取模块,用于在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;
数据写入模块,用于在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片;
输出控制模块,用于根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
此外,为实现上述目的,本发明还提出一种主站控制器控制设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主站控制器控制程序,所述主站控制器控制程序配置为实现如上文所述的主站控制器控制方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有主站控制器控制程序,所述主站控制器控制程序被处理器执行时实现如上文所述的主站控制器控制方法的步骤。
在本发明中,公开了FPGA芯片生成总线周期中断和脉冲输出完成中断,并将总线周期中断和脉冲输出完成中断发送至CPU单元;CPU单元在总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;在脉冲输出完成中断中获取周期规划数据,并将时间差和周期规划数据写入FPGA芯片;FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制;相较于现有技术中基于两个不同基准的时钟对脉冲电机和总线电机进行控制,导致无法进行同时控制,由于本发明的主站控制器包括FPGA芯片和CPU单元,通过FPGA芯片将生成的总线周期中断和脉冲输出完成中断发送至CPU单元,CPU单元将在总线周期中断中获取的主站系统时钟和从站系统时钟之间的时间差,以及在脉冲输出完成中断中获取的周期规划数据写入FPGA芯片,使得FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制,从而解决了现有技术中无法实现对脉冲电机和总线电机进行同时控制的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的主站控制器控制设备的结构示意图;
图2为本发明主站控制器控制方法第一实施例的流程示意图;
图3为本发明主站控制器控制方法第二实施例的流程示意图;
图4为本发明主站控制器控制方法第三实施例的流程示意图;
图5为本发明主站控制器控制方法第三实施例中脉冲输出完成中断的流程示意图;
图6为本发明主站控制器控制装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的主站控制器控制设备结构示意图。
如图1所示,该主站控制器控制设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对主站控制器控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及主站控制器控制程序。
在图1所示的主站控制器控制设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明主站控制器控制设备中的处理器1001、存储器1005可以设置在主站控制器控制设备中,所述主站控制器控制设备通过处理器1001调用存储器1005中存储的主站控制器控制程序,并执行本发明实施例提供的主站控制器控制方法。
本发明实施例提供了一种主站控制器控制方法,参照图2,图2为本发明主站控制器控制方法第一实施例的流程示意图。
本实施例中,所述主站控制器控制方法应用于主站控制器,所述主站控制器包括FPGA芯片和CPU单元,所述FPGA芯片和所述CPU单元之间通过内部并行数据总线连接,所述CPU单元通过以太网接口连接EtherCAT总线,包括以下步骤:
步骤S10:所述FPGA芯片生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元。
需要说明的是,本实施例中将EtherCAT总线通过以太网接口连接至CPU单元,且由于脉冲控制一般由主站FPGA芯片发出,再将FPGA芯片和CPU单元之间通过内部并行数据总线连接,从而可以集成EtherCAT总线和脉冲控制在一个控制器主站上,主站既可以包含脉冲输出用于控制电机(以脉冲信号控制的驱动器如步进电机、伺服等),也可以包含EtherCAT总线控制。
应当理解的是,上述FPGA芯片中FPGA的全称为Field-Programmable Gate Array,FPGA芯片是一种万能数字芯片,具有模拟绝大部分数字逻辑芯片的功能。
可以理解的是,上述总线周期中断可以为用于修正主站和从站的DC同步信号,防止同步信号丢失的中断,其中,DC同步信号可以为在主站上自定义的一个时间同步触发事件信号,用以给需要同步处理信息的机器设备提供相同时间参考。
需要说明的是,上述脉冲输出完成中断可以为用于规划脉冲输出频率和个数等数据的中断。
在具体实现中,FPGA芯片可以通过生成定时器,并在生成定时器后定时生成总线周期中断和脉冲输出完成中断,FPGA芯片再通过IO信号线将总线周期中断和脉冲输出完成中断分发给CPU,CPU通过外部中断响应对应的中断线。
步骤S20:所述CPU单元在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差。
需要说明的是,上述主站系统时钟可以为主站的时钟,上述从站系统时钟可以为从站的时钟。实际应用中,EtherCAT总线实时性主要使用分布时钟来保证,每个从站有自己的本地时钟,主站也有自己的本地时钟。
应当理解的是,上述时间差可以为主站本地时钟和从站本地时钟之间的差值。
在具体实现中,CPU单元可以通过外部中断响应总线周期中断,在中线周期中断中与所有从站交互RXPDO和TXPDO等总线周期数据,并计算主站本地时钟和从站本地时钟之间的时间差。
步骤S30:所述CPU单元在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片。
可以理解的是,上述周期规划数据可以为CPU计算的FPGA芯片下一周期需要发送的脉冲频率和脉冲个数等数据。实际应用中,CPU在接收到脉冲输出完成中断信号后,计算FPGA芯片下一个周期的规划数据,如速度和加速度等,然后写入下一个周期需要发送的脉冲频率和脉冲个数至FPGA芯片的寄存器中。
步骤S40:所述FPGA芯片根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
需要说明的是,由于本实施例将EtherCAT总线和脉冲控制集成在主站控制器中,并通过FPGA芯片产生两路中断,在解决脉冲控制同步性要求的同时,也满足EtherCAT总线控制时钟要求,从而可以同时对总线和脉冲进行输出控制。
在具体实现中,首先可以将FPGA芯片和CPU通过CPU自带的并行数据总线连接,并将CPU和EtherCAT总线通过以太网接口连接,FPGA芯片生成总线周期中断和脉冲输出完成中断后可以通过IO信号线分发给CPU,CPU再通过外部中断响应对应的总线周期中断和脉冲输出完成中断,在总线周期中断中和所有从站交互RXPDO和TXPDO等总线周期数据,并计算主站本地时钟和从站本地时钟之间的时间差;在脉冲输出完成中断中,规划下一次脉冲输出频率和脉冲输出个数等周期规划数据,并将时间差、脉冲输出频率和脉冲输出个数等数据写入到FPGA芯片中,以通过时间差修正下一次总线周期中断触发时间,通过脉冲输出频率和脉冲输出个数等周期规划数据控制脉冲输出,从而实现同时对总线和脉冲进行输出控制。
本实施例公开了FPGA芯片生成总线周期中断和脉冲输出完成中断,并将总线周期中断和脉冲输出完成中断发送至CPU单元;CPU单元在总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;在脉冲输出完成中断中获取周期规划数据,并将时间差和周期规划数据写入FPGA芯片;FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制;相较于现有技术中基于两个不同基准的时钟对脉冲电机和总线电机进行控制,导致无法进行同时控制,由于本实施例的主站控制器包括FPGA芯片和CPU单元,通过FPGA芯片将生成的总线周期中断和脉冲输出完成中断发送至CPU单元,CPU单元将在总线周期中断中获取的主站系统时钟和从站系统时钟之间的时间差,以及在脉冲输出完成中断中获取的周期规划数据写入FPGA芯片,使得FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制,从而解决了现有技术中无法实现对脉冲电机和总线电机进行同时控制的技术问题,此外,EtherCAT总线基于从站时钟进行同步,主站调整自己的时钟同步到从站时钟,从而可以在不使用操作系统的情况下,产生EtherCAT总线系统时钟。
参考图3,图3为本发明主站控制器控制方法第二实施例的流程示意图。
基于上述第一实施例,为了对主站系统时钟进行修正,本实施例中,所述步骤S10之前,所述方法还包括:
步骤S01:FPGA芯片生成系统时钟,并将所述系统时钟发送至CPU单元。
需要说明的是,上述系统时钟可以为用于对EtherCAT总线进行时钟同步、修正从站系统时钟到主站系统时钟上的时钟。其中,系统时钟为48位时间,低16位表示微秒时间,范围为0-99999微秒,高16位表示秒为单位,从而可以实现最大超过136年的计时单位。
步骤S02:CPU单元在接收到所述系统时钟时,控制从站基于所述系统时钟将从站系统时钟调整至主站系统时钟的目标范围内。
应当理解的是,上述目标范围内可以为从站系统时钟与主站系统时钟较为接近的范围,具体的范围大小本实施例不加以限制。
可以理解的是,上述系统时钟可以用于主站在DC(Distributed Clock,分布式时钟)配置时,计算主站和DC从站(即支持分布式时钟的从站)的时钟偏移,从而将所有DC从站同步到该主站系统时钟范围内,其中,分布式时钟可以使所有的EtherCAT总线设备使用相同的系统时间,从而控制各设备任务的同时执行。
需要说明的是,为了将从站系统时钟调整至主站系统时钟的目标范围内,上述步骤S02包括:CPU单元接收到所述系统时钟时,基于所述系统时钟获取主站和从站之间的时钟偏移;CPU单元将所述时钟偏移写入所述从站的时钟偏移寄存器,以使所述从站基于所述时钟偏移寄存器中存储的时钟偏移将从站系统时钟调整至主站系统时钟的目标范围内。
应当理解的是,上述时钟偏移寄存器可以为从站中用于保存本地时钟和总线时钟的差值的寄存器。
在具体实现中,从站会存在一个时间偏移,若从站在出厂时写入的时间为2000年01月01日17时23分06秒,但此时主站的时间可能为2022年11月20日11时48分52秒,则需要针对这两个时间对主站和从站进行对表,获得主站和从站之间的时钟偏移,并将这个时钟偏移写入从站的时钟偏移寄存器中,然后从站中的寄存器基于原来的时间再加上这个时钟偏移后就形成了现在的时间,即将从站系统时钟调整至主站系统时钟的目标范围内。
本实施例通过CPU单元在接收到FPGA芯片生成的系统时钟时,基于系统时钟获取主站和从站之间的时钟偏移,并将时钟偏移写入从站的时钟偏移寄存器,以使从站基于时钟偏移寄存器存储的时钟偏移将从站系统时钟调整至主站系统时钟的目标范围内,从而可以对EtherCAT总线进行时钟同步、修正从站系统时钟到主站系统时钟上,实现了主站和从站的初步同步。
参考图4,图4为本发明主站控制器控制方法第三实施例的流程示意图。
基于上述各实施例,为了使FPGA芯片生成总线周期中断,本实施例中,所述步骤S10之后,所述方法还包括:
步骤S011:FPGA芯片接收晶振输入的时钟源,并通过锁相环将所述时钟源输出为目标时钟。
需要说明的是,上述锁相环(Phase Locked Loop,PLL)为辅助产生时钟信号的器件,将时钟信号输入锁相环后,锁相环可以将这个时钟信号的频率按照指定倍率提高之后再输出。
应当理解的是,上述目标时钟可以为由晶振提供的时钟源经过锁相环后输出的时钟,例如25M晶振经过锁相环后输出100M时钟。
步骤S012:FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断。
可以理解的是,上述目标时钟信号可以为FPGA锁相环输出时钟后由计数器产生的时钟信号。
应当理解的是,在生成目标时钟信号后,FPGA可以通过计数器生成定时器,生成定时器后可以定时给中断,即可以生成总线周期中断。
在具体实现中,若FPGA芯片接收25M晶振输入的时钟源,经过锁相环后输出100M时钟,则计数器可以为100M时钟进行计算,例如对100M时钟计数一百次,从而产生1M时钟源,即1us时钟信号(上述目标时钟信号)。
进一步地,为了获取主站系统时钟和从站系统时钟之间的时间差,上述步骤S012之后还包括:FPGA芯片基于所述目标时钟信号生成总线定时器;相应的,上述步骤S20包括:CPU单元在所述总线周期中断中清除所述总线定时器的中断标志位以关闭所述总线定时器;CPU单元在所述总线定时器关闭时,获取目标从站的从站本地时间和主站的主站本地时间;CPU单元基于所述从站本地时间和所述主站本地时间获取主站系统时钟和从站系统时钟之间的时间差。
需要说明的是,上述总线定时器可以为EtherCAT总线对应的定时器。
应当理解的是,FPGA芯片可以通过计数器生成总线定时器,并通过总线定时器输出总线周期中断至CPU,CPU可以在总线周期中断中实现主站周期刷新数据和从站系统时钟的同步。
在具体实现中,由于主站时钟的精度没有从站时钟的精度高,因此在将从站系统时钟调整至主站系统时钟的目标范围内后,要以从站时间为基准对主站时间进行调整,因此需要获取主站系统时钟和从站系统时钟之间的时间差,从而基于时间差对主站时间进行调整,此时可以进入总线定时器中断中,清除总线定时器的中断标志位以停止定时器,并获取主站系统时钟和从站系统时钟之间的时间差。
可以理解的是,上述步骤S20之后还包括:CPU单元读取下一总线周期中断的中断触发时间,并基于所述中断触发时间、所述从站本地时间和所述主站本地时间确定所述总线定时器的重载计数值;CPU单元将所述重载计数值写入所述总线定时器的周期计数器。
需要说明的是,上述中断触发时间可以为总线周期中断下一次触发的时间。
应当理解的是,上述重载计数值可以为总线定时器下一次触发中断的时间。通过将重载计数值写入总线定时器的周期计数器可以修正主站和从站的同步信号。
在具体实现中,若通过主站系统时钟和从站系统时钟发现此时主站时间比从站时间快1ms,则可以将FPGA芯片的总线定时器停下来,等待1ms后再继续工作,若主站时间比从站时间慢,则可以将总线定时器的时间加一点,通过不停地调整定时器的周期可以使主站和从站的时间维持在一个精度范围内,在将重载计数值写入定时器的周期计数器后可以启动定时器中断,并刷新RXPDO和TXPDO等总线周期数据。
进一步地,为了在脉冲定时器溢出时获取FPGA芯片的下一个周期的周期规划数据,上述步骤S012之后还包括:FPGA芯片基于所述目标时钟信号生成脉冲定时器;相应的,上述步骤S40之后,还包括:FPGA在所述脉冲定时器溢出时,基于所述周期规划数据发送当前周期的脉冲数据;FPGA在所述脉冲数据发送完成时,生成新的脉冲输出完成中断;CPU单元在所述新的脉冲输出完成中断中获取下一周期规划数据,并将所述下一周期规划数据写入所述FPGA芯片。
需要说明的是,脉冲输出主要由FPGA芯片进行,脉冲精度越高对电机控制越精准,脉冲衔接越平滑,电机运行越平稳,这就要求脉冲控制中断周期的精度越高越好,因此需要对FPGA芯片输出的脉冲频率和脉冲个数等数据进行规划。
在具体实现中,如图5所示,图5为本发明主站控制器控制方法第三实施例中脉冲输出完成中断的流程示意图,FPGA芯片在脉冲定时寄存器溢出时,会先将CPU写入的脉冲缓冲区数据压入脉冲输出寄存器,并开始发送当前周期指定频率和个数的脉冲数据,防止造成脉冲不连续的问题,然后产生定时中断信号(即脉冲输出完成中断)给CPU,CPU收到该中断信号后,计算下一个周期的规划数据,如速度、加速度等,然后写入下一周期需要发送的脉冲频率和脉冲个数至FPGA脉冲缓存寄存器,最后等待下一次中断的到来。
本实施例中FPGA芯片通过锁相环将接收的晶振输入的时钟源输出为目标时钟,并基于目标时钟和计数器生成的目标时钟信号生成总线周期中断,同时,FPGA芯片基于目标时钟信号生成总线定时器,CPU单元再基于下一总线周期中断的中断触发时间、从站本地时间和主站本地时间确定总线定时器的重载计数值,并将重载计数值写入总线定时器的周期计数器,从而可以通过总线定时器修正主站和从站的DC同步信号,提高同步精度,防止同步信号丢失。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有主站控制器控制程序,所述主站控制器控制程序被处理器执行时实现如上文所述的主站控制器控制方法的步骤。
参照图6,图6为本发明主站控制器控制装置第一实施例的结构框图。
如图6所示,本发明实施例提出的主站控制器控制装置包括:
中断生成模块601,用于生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元;
时间差获取模块602,用于在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;
数据写入模块603,用于在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片;
输出控制模块604,用于根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
本实施例的主站控制器控制装置公开了FPGA芯片生成总线周期中断和脉冲输出完成中断,并将总线周期中断和脉冲输出完成中断发送至CPU单元;CPU单元在总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;在脉冲输出完成中断中获取周期规划数据,并将时间差和周期规划数据写入FPGA芯片;FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制;相较于现有技术中基于两个不同基准的时钟对脉冲电机和总线电机进行控制,导致无法进行同时控制,由于本实施例的主站控制器包括FPGA芯片和CPU单元,通过FPGA芯片将生成的总线周期中断和脉冲输出完成中断发送至CPU单元,CPU单元将在总线周期中断中获取的主站系统时钟和从站系统时钟之间的时间差,以及在脉冲输出完成中断中获取的周期规划数据写入FPGA芯片,使得FPGA芯片根据时间差和周期规划数据同时对总线和脉冲进行输出控制,从而解决了现有技术中无法实现对脉冲电机和总线电机进行同时控制的技术问题,此外,EtherCAT总线基于从站时钟进行同步,主站调整自己的时钟同步到从站时钟,从而可以在不使用操作系统的情况下,产生EtherCAT总线系统时钟。
本发明主站控制器控制装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种主站控制器控制方法,其特征在于,所述方法应用于主站控制器,所述主站控制器包括FPGA芯片和CPU单元,所述FPGA芯片和所述CPU单元之间通过内部并行数据总线连接,所述CPU单元通过以太网接口连接EtherCAT总线,所述方法包括:
所述FPGA芯片生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元;
所述CPU单元在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;
所述CPU单元在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片;
所述FPGA芯片根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
2.如权利要求1所述的主站控制器控制方法,其特征在于,所述FPGA芯片生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元的步骤之前,还包括:
所述FPGA芯片生成系统时钟,并将所述系统时钟发送至CPU单元;
所述CPU单元在接收到所述系统时钟时,控制从站基于所述系统时钟将从站系统时钟调整至主站系统时钟的目标范围内。
3.如权利要求2所述的主站控制器控制方法,其特征在于,所述CPU单元在接收到所述系统时钟时,控制从站基于所述系统时钟将从站系统时钟调整至主站系统时钟的目标范围内的步骤,包括:
所述CPU单元接收到所述系统时钟时,基于所述系统时钟获取主站和从站之间的时钟偏移;
所述CPU单元将所述时钟偏移写入所述从站的时钟偏移寄存器,以使所述从站基于所述时钟偏移寄存器中存储的时钟偏移将从站系统时钟调整至主站系统时钟的目标范围内。
4.如权利要求2所述的主站控制器控制方法,其特征在于,所述FPGA芯片生成系统时钟,并将所述系统时钟发送至CPU单元的步骤之前,还包括:
所述FPGA芯片接收晶振输入的时钟源,并通过锁相环将所述时钟源输出为目标时钟;
所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断。
5.如权利要求4所述的主站控制器控制方法,其特征在于,所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断的步骤之后,还包括:
所述FPGA芯片基于所述目标时钟信号生成总线定时器;
相应的,所述CPU单元在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差的步骤,包括:
所述CPU单元在所述总线周期中断中清除所述总线定时器的中断标志位以关闭所述总线定时器;
所述CPU单元在所述总线定时器关闭时,获取目标从站的从站本地时间和主站的主站本地时间;
所述CPU单元基于所述从站本地时间和所述主站本地时间获取主站系统时钟和从站系统时钟之间的时间差。
6.如权利要求5所述的主站控制器控制方法,其特征在于,所述CPU单元基于所述从站本地时间和所述主站本地时间获取主站系统时钟和从站系统时钟之间的时间差的步骤之后,还包括:
所述CPU单元读取下一总线周期中断的中断触发时间,并基于所述中断触发时间、所述从站本地时间和所述主站本地时间确定所述总线定时器的重载计数值;
所述CPU单元将所述重载计数值写入所述总线定时器的周期计数器。
7.如权利要求4所述的主站控制器控制方法,其特征在于,所述FPGA芯片基于所述目标时钟和计数器生成目标时钟信号,并基于所述目标时钟信号生成总线周期中断的步骤之后,还包括:
所述FPGA芯片基于所述目标时钟信号生成脉冲定时器;
相应的,所述FPGA芯片根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制的步骤之后,还包括:
所述FPGA在所述脉冲定时器溢出时,基于所述周期规划数据发送当前周期的脉冲数据;
所述FPGA在所述脉冲数据发送完成时,生成新的脉冲输出完成中断;
所述CPU单元在所述新的脉冲输出完成中断中获取下一周期规划数据,并将所述下一周期规划数据写入所述FPGA芯片。
8.一种主站控制器控制装置,其特征在于,所述装置包括:
中断生成模块,用于生成总线周期中断和脉冲输出完成中断,并将所述总线周期中断和所述脉冲输出完成中断发送至所述CPU单元;
时间差获取模块,用于在所述总线周期中断中获取主站系统时钟和从站系统时钟之间的时间差;
数据写入模块,用于在所述脉冲输出完成中断中获取周期规划数据,并将所述时间差和所述周期规划数据写入所述FPGA芯片;
输出控制模块,用于根据所述时间差和所述周期规划数据同时对总线和脉冲进行输出控制。
9.一种主站控制器控制设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主站控制器控制程序,所述主站控制器控制配置为实现如权利要求1至7中任一项所述的主站控制器控制方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有主站控制器控制程序,所述主站控制器控制程序被处理器执行时实现如权利要求1至7任一项所述的主站控制器控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474799.9A CN115765568A (zh) | 2022-11-23 | 2022-11-23 | 主站控制器控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211474799.9A CN115765568A (zh) | 2022-11-23 | 2022-11-23 | 主站控制器控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115765568A true CN115765568A (zh) | 2023-03-07 |
Family
ID=85335995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211474799.9A Pending CN115765568A (zh) | 2022-11-23 | 2022-11-23 | 主站控制器控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115765568A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118300919A (zh) * | 2024-06-06 | 2024-07-05 | 江苏集萃苏科思科技有限公司 | 一种EtherCAT总线通信方法、存储介质、装置和从站板卡 |
-
2022
- 2022-11-23 CN CN202211474799.9A patent/CN115765568A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118300919A (zh) * | 2024-06-06 | 2024-07-05 | 江苏集萃苏科思科技有限公司 | 一种EtherCAT总线通信方法、存储介质、装置和从站板卡 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7778814B2 (en) | Method and device for simulating an automation system | |
US9882569B2 (en) | Synchronous processing system and semiconductor integrated circuit | |
US10892840B2 (en) | Method and apparatus for TDMA slot synchronization and calibration of master and slave | |
KR20150103561A (ko) | 이더캣 제어 장치 및 이를 포함하는 공장 자동화 시스템 | |
CN115765568A (zh) | 主站控制器控制方法、装置、设备及存储介质 | |
JP2008065640A (ja) | シミュレーション装置およびそのシミュレーション制御方法 | |
JP2001027904A (ja) | 数値制御システム | |
US10606225B2 (en) | Motor drive system, motor control system, and self-propelled robot | |
CN109117395B (zh) | 微计算机 | |
KR102586073B1 (ko) | Spi 통신 효율성을 개선한 카메라 장치 및 그 통신 방법 | |
US5237592A (en) | Control device for radio communicaiton apparatus | |
WO2022185589A1 (ja) | 情報処理装置、方法およびプログラム | |
CN110968119B (zh) | 双轴同步的控制方法和装置 | |
JP4733695B2 (ja) | 自動化システムのシミュレーションのための方法及び装置 | |
JP7066080B1 (ja) | 通信制御装置、通信制御方法及びプログラム | |
JP3987819B2 (ja) | 数値制御システム | |
CN111052012A (zh) | 控制装置以及控制系统 | |
JPWO2020059137A1 (ja) | 通信装置、通信システム、通信方法および通信プログラム | |
CN113204516A (zh) | 处理器时间同步的方法和装置 | |
CN117792558B (zh) | 用于集成高精度时间的方法、装置、设备和介质 | |
KR100734521B1 (ko) | 시스템 온 칩을 위한 ip 모듈 | |
US11770235B2 (en) | Time synchronization of controller | |
CN111193509B (zh) | 源同步数据采样点自动校准方法及系统 | |
WO2024162337A1 (ja) | 制御装置、制御システム、方法およびプログラム | |
JP2959505B2 (ja) | データ送出回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |