一种用于精密运动控制的异构计算加速方法技术

技术编号:33066895 阅读:81 留言:0更新日期:2022-04-15 09:57
本发明专利技术涉及精密运动控制及异构加速领域,为对控制周期要求为50us及以上的精密运动控制提供一种用于精密运动控制的异构计算加速方法。可实现基于固定周期精密运动控制的异构计算加速。方法包括:控制器、异构计算板卡及被控对象等。控制器中包含控制算法模型和内核驱动模块。异构计算板卡包括计算核心、结果缓存、发送缓存、接收缓存、全局时钟。控制器与异构计算板卡通过PCIE总线互联,异构计算板卡与被控对象通过IO总线互联。基于本发明专利技术的异构计算加速方法,可以使系统的计算工作更加高效运行,系统实时性稳定性进一步提高。系统实时性稳定性进一步提高。系统实时性稳定性进一步提高。

【技术实现步骤摘要】
一种用于精密运动控制的异构计算加速方法


[0001]本专利技术涉及精密运动控制及异构加速领域,为对控制周期要求为50us及以上的精密运动控制提供一种用于精密运动控制的异构计算加速方法。

技术介绍

[0002]在传统的控制算法中,经常会出现大量的矩阵运算、长算式运算等计算。这类计算经过并行化拆分后,各个子算式之前并无前后逻辑顺序。因此如果采用并行化计算的方式可以大幅提高计算效率,缩短计算时间。
[0003]传统的异构计算时间主要包含数据通信时间和计算时间,其中数据通信时间包括向异构计算板卡传递计算参数时间和异构计算板卡返回计算结果时间。通信时间是衡量异构计算效率的主要因素,通信时间过长将导致异构计算效率低下。
[0004]用于精密运动控制的控制器具有用于IO通信的物理接口,IO信号的接入以往需要数据采集板卡。本专利技术中的异构计算板卡不仅完成传统系统中IO数据采集功能,还具备计算核心实现异构计算。借用IO通信通道与控制器中的内核驱动模块传递异构计算数据,使得异构计算中通信消耗的额外时间几乎变为零。
[0005]异构计算部分的算法可以被分为需要参数和不需要参数两种情况:
[0006]在需要参数的情况,计算参数往往是算法之前计算数据的结果或者历史特定时间的状态参数。这些计算参数会在前一个计算周期由控制算法模型和内核驱动模块下传到异构计算板卡的结果缓存中。周期开始时,异构计算板卡会首先执行异构计算,将计算结果上传给内核驱动模块,内核驱动模块将数据传送给控制算法模型并解开控制算法模型的阻塞状态。控制算法模型继续其余部分的计算。这种情况下,异构计算节省下来的时间为计算核心部分的计算量本来在控制器中计算时间与计算核心部分异构计算时间的差。
[0007]在异构计算不需要计算参数的情况下,异构计算板卡将在前一个周期将本周期的计算完成并将结果保存在结果缓存中。本周期开始时,会将这些数据随被控对象状态数据一起发送给内核驱动模块。这种情况下,异构计算节省下来的时间为异构计算部分在控制器中执行的时间。

技术实现思路

[0008]针对现有技术的不足,本专利技术提供一种用于精密运动控制的异构计算加速方法。该异构计算加速方法可使用在控制周期大于等于50us的精密运动控制系统,可以使控制算法执行效率更高,系统抖动降低,系统实时性大幅提高。
[0009]本专利技术为实现上述目的所采用的技术方案是:
[0010]一种用于精密运动控制的异构计算加速方法,包括异构计算需要输入参数的情况以及异构计算不需要输入参数的情况,其中,异构计算需要输入参数的情况包括以下步骤:
[0011]异构计算板卡全局时钟模块触发整个异构计算加速系统本周期工作:异构计算板卡将发送缓存模块中的被控对象控制参数数据发送给被控对象;异构计算板卡从接收缓存
模块中读取被控对象状态数据、从结果缓存模块中读取控制算法模型发送来的上一周期的异构计算结果数据,计算核心模块根据控制算法模型的需求结合被控对象状态数据以及上一个周期的异构计算结果数据进行本周期的异构计算,计算核心模块结束异构计算后,将本周期的异构计算结果数据和被控对象状态数据通过PCIE总线发送给内核驱动模块,并将结果保存到结果缓存模块中;
[0012]内核驱动模块接收到本周期的异构计算结果数据和被控对象的状态数据后立即以阻塞方式发送给控制算法模型;
[0013]控制算法模型接收到本周期的异构计算结果数据和被控对象状态数据后解开阻塞状态,并基于本周期的异构计算结果数据与被控对象状态数据开始本周期的控制算法计算;控制器将控制算法模型得到的被控对象的控制参数数据和控制算法模型计算结果数据发送给内核驱动模块;
[0014]内核驱动模块将控制算法模块发送的被控对象的控制参数数据和控制算法模型计算计算结果数据发送给异构计算板卡;
[0015]异构计算板卡将接收到的来自内核驱动模块的被控对象的控制参数数据保存到发送缓存模块,将来自被控对象的状态数据保存到接收缓存模块,将来自内核驱动模块的控制算法模型计算结果数据保存到结果缓存模块,结束本周期工作,等待下个周期时钟触发。
[0016]所述异构计算不需要输入参数的情况包括以下步骤:
[0017]异构计算板卡全局时钟模块触发整个系统本周期工作:异构计算板卡将发送缓存模块中的被控对象控制参数数据发送给被控对象;异构计算板卡从接收缓存模块中读取被控对象状态数据以及从结果缓存模块中读取控制算法模型发送来的上一周期的异构计算结果数据,并通过PCIE总线发送给内核驱动模块,同时计算核心模块开启本周期的异构计算并将结果保存到结果缓存模块中;
[0018]内核驱动模块接收到本周期的异构计算结果数据和被控对象的状态数据后立即以阻塞方式发送给控制算法模型;
[0019]控制算法模型接收到本周期的异构计算结果数据和被控对象状态数据后解开阻塞状态,并基于本周期的异构计算结果数据与被控对象状态数据开始本周期的控制算法计算;控制器将控制算法模型得到的被控对象的控制参数数据发送给内核驱动模块;
[0020]内核驱动模块将将控制算法模块发送的被控对象的控制参数数据发送给异构计算板卡;异构计算板卡将接收到的来自内核驱动模块的被控对象的控制参数数据保存到发送缓存模块,将来自被控对象的状态数据保存到接收缓存模块,结束本周期工作,等待下个周期时钟触发。
[0021]在进行异构计算板卡全局时钟触发整个系统本周期工作之前,进行控制算法计算任务分析及任务划分,具体为:将可并行、可分割部分的异构计算在异构计算板卡的计算核心模块中计算,将除异构计算板卡计算核心模块计算内容之外的算法在控制器中的控制算法模型中计算。
[0022]一种用于精密运动控制的异构计算加速系统,包括:控制器插有异构计算板卡,控制器和异构计算板卡采用PCIE通信协议,通讯卡与被控对象通过IO总线通信,控制器内部包含内核驱动模块及控制算法模型,异构计算板卡包含发送缓存模块、接收缓存模块、计算
核心模块、结果缓存模块以及全局时钟模块,其中,
[0023]控制器,用于根据异构计算结果数据和被控对象状态数据进行控制算法计算,得到被控对象的控制参数数据;
[0024]异构计算板卡,用于储存被控对象的控制参数数据、状态数据,控制算法模型的结果数据,进行异构计算以及数据通信。
[0025]所述发送缓存模块用于储存被控对象的控制参数数据;所述接收缓存模块用于储存被控对象的状态数据;所述结果缓存用于储存控制算法模型计算结果数据。
[0026]所述计算核心模块用于根据控制算法模型的需求结合被控对象状态数据以及上一个周期的异构计算结果数据进行本周期的异构计算。
[0027]本专利技术具有以下有益效果及优点:
[0028]1.提高精密运动控制系统实时性及计算效率。通过将一部分计算工作下移到异构计算板卡中执行,专利技术减轻了精密运动控制过程中控制器计算负荷。随着异构计算板卡计算资源增多,可以分担控制算法模型更多的计算负荷。因此本专利技术可以提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于精密运动控制的异构计算加速方法,其特征在于,包括异构计算需要输入参数的情况以及异构计算不需要输入参数的情况,其中,异构计算需要输入参数的情况包括以下步骤:异构计算板卡全局时钟模块触发整个异构计算加速系统本周期工作:异构计算板卡将发送缓存模块中的被控对象控制参数数据发送给被控对象;异构计算板卡从接收缓存模块中读取被控对象状态数据、从结果缓存模块中读取控制算法模型发送来的上一周期的异构计算结果数据,计算核心模块根据控制算法模型的需求结合被控对象状态数据以及上一个周期的异构计算结果数据进行本周期的异构计算,计算核心模块结束异构计算后,将本周期的异构计算结果数据和被控对象状态数据通过PCIE总线发送给内核驱动模块,并将结果保存到结果缓存模块中;内核驱动模块接收到本周期的异构计算结果数据和被控对象的状态数据后立即以阻塞方式发送给控制算法模型;控制算法模型接收到本周期的异构计算结果数据和被控对象状态数据后解开阻塞状态,并基于本周期的异构计算结果数据与被控对象状态数据开始本周期的控制算法计算;控制器将控制算法模型得到的被控对象的控制参数数据和控制算法模型计算结果数据发送给内核驱动模块;内核驱动模块将控制算法模块发送的被控对象的控制参数数据和控制算法模型计算计算结果数据发送给异构计算板卡;异构计算板卡将接收到的来自内核驱动模块的被控对象的控制参数数据保存到发送缓存模块,将来自被控对象的状态数据保存到接收缓存模块,将来自内核驱动模块的控制算法模型计算结果数据保存到结果缓存模块,结束本周期工作,等待下个周期时钟触发。2.根据权利要求1所述的一种用于精密运动控制的异构计算加速方法,其特征在于,所述异构计算不需要输入参数的情况包括以下步骤:异构计算板卡全局时钟模块触发整个系统本周期工作:异构计算板卡将发送缓存模块中的被控对象控制参数数据发送给被控对象;异构计算板卡从接收缓存模块中读取被控对象状态数据以及从结果缓存模块中读取控制算法模型发送来的上一周期的异构计算结果数据,并通过PCIE总线发送给内核驱动模块,同时计算核心模块开启本周期的异构计算并将结果保存到结果缓存模块中;内核驱动...

【专利技术属性】
技术研发人员:于海斌曾鹏张华良王福东张涛赵冰洁李庆鑫杨莹
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:

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

1