一种用于精密运动控制的通信方法技术

技术编号:29008890 阅读:16 留言:0更新日期:2021-06-26 05:08
本发明专利技术涉及一种用于精密运动控制的通信方法,可实现控制器对被控对象以50us或大于50us为周期的精密运动控制。通信方法包括控制器、通讯卡及被控对象等。控制器中包含控制算法模型和内核驱动模块,控制器与通讯卡通过PCIE总线互联,通讯卡内部包括系统全局时钟、发送数据缓存和接收数据缓存。通讯系统通过全局时钟和将通信数据缓存一个周期的方式降低总线延时带来的影响;在控制算法模型到内核驱动模块及内核驱动模块到通讯卡之间采用阻塞触发方式通信增加系统实时性。基于本发明专利技术的通信方法,当前周期的控制算法模型数据在第二个周期可抵达被控对象,在第三个周期可以获得这次控制的反馈结果。本发明专利技术具有稳定性好,实时性高的特点。性高的特点。性高的特点。

【技术实现步骤摘要】
一种用于精密运动控制的通信方法


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

技术介绍

[0002]运动控制通常是指在复杂条件下,将预定的控制方法、规划指令转变成期望的机械运动,实现机械运动精确的位置控制、速度控制、加速度控制、转矩或力的控制。随着技术发展,精密运动控制向着多领域多方向发展。在性能方面要求控制器控制精度越来越高,控制周期也越来越小;在规范化方面,将已有算法模型化封装,可以大大降低二次开发难度及成本。因此开发的统一化、规范化、模块化也成为日益迫切的需求。
[0003]Linux操作系统工具软件种类庞大,可以满足大部分模块化开发需求。但是Linux操作系统也存在一些不足。Linux操作系统分为内核层和用户层将导致系统内部通信延时增加。在通信架构方面,总线的延时及操作系统的抖动,都将成为通信系统的技术瓶颈。本专利技术旨在如何在保证控制精度及控制周期满足指标要求的前提下,解决这些不足。

技术实现思路

[0004]针对现有技术的不足,本专利技术提供一种用于精密运动控制的通信方法。
[0005]该通信方法基于Linux操作系统,使控制周期可达到50us,为模型化开发精密运动控制解决总线延时及系统抖动等瓶颈问题。
[0006]本专利技术为实现上述目的所采用的技术方案是:
[0007]一种用于精密运动控制的通信方法,包括以下步骤:
[0008]1)系统初始化;
[0009]2)通讯卡全局时钟触发本周期通信及计算,通讯卡将接收数据缓存中的被控对象的状态信息数据发送给内核驱动模块;同时,通讯卡将发送数据缓存中的前一个周期的被控对象控制参数数据发送给被控对象,并等待被控对象发送状态信息数据给接收数据缓存;
[0010]3)内核驱动模块接收到被控对象的状态信息数据后立即以阻塞方式发送给用户层的控制算法模型;
[0011]4)用户层的控制算法模型接收到被控对象状态信息数据后解开阻塞状态,使用该被控对象状态信息数据进行本周期的控制算法计算,得到被控对象的控制参数数据,并将被控对象的控制参数数据发回给内核驱动模块;
[0012]5)内核驱动模块将控制算法模块发送来的被控对象的控制参数数据发送给通讯卡;
[0013]6)通讯卡接收到来自内核驱动模块的被控对象的控制参数数据并将其保存在发送数据缓存中,同时,将来自被控对象的状态信息数据保存到接收数据缓存,结束本周期工作,等待下个周期时钟触发。
[0014]所述系统初始化包括以下步骤:
[0015]1)控制器加载内核驱动模块;
[0016]2)内核驱动模块初始化PCIE总线以及与控制算法模型通信功能,等待控制算法模型下发时钟配置指令及通信开始指令;
[0017]3)内核驱动模块将时钟周期配置指令及通信开始指令发送给通讯卡。
[0018]一种用于精密运动控制的通信系统,包括:控制器插有通讯卡,控制器和通讯卡采用PCIE通信协议,通讯卡与被控对象通过IO总线通信,控制器内部包含内核驱动模块及控制算法模型。
[0019]所述通讯卡包含发送数据缓存和接收数据缓存,并产生通信系统全局时钟。
[0020]所述通讯卡的工作流程为:
[0021]1)控制器中的内核驱动模块下发时钟周期配指令给通讯卡并对全局时钟进行配置;
[0022]2)控制器中的内核驱动模块下发通信开始指令通知通讯卡开始通讯工作;
[0023]3)通讯卡将接收数据缓存中的被控对象的状态信息数据发送给控制器并等待,同时将将发送数据缓存中的被控对象控制参数数据发送给被控对象并等待;
[0024]4)当通讯卡收到来自控制器的当前周期的控制算法模型计算结果即被控对象控制参数数据,将被控对象控制参数数据保存到发送缓存区中等待下个周期发送给被控对象;当收到来自被控对象的当前周期的状态信息数据后,将被控对象的状态信息数据保存到接收数据缓存中等待下个周期发送给控制器。
[0025]所述接收数据缓存区中保存的是上一个周期被控对象下发的被控对象状态信息数据;所述发送数据缓存区中保存的是上一个周期控制器下发的控制算法模型计算结果即被控对象控制参数数据。
[0026]所述内核驱动模块的工作流程为:
[0027]1)内核驱动模块对PCIE通讯功能、与控制算法模型通讯功能进行初始化;
[0028]2)接收到控制算法模型的时钟配置指令,并将时钟周期信息发送给通讯卡;
[0029]3)当接收到控制算法模型的通信开始指令后,向通讯卡发送一个通信开始信号表示开始通讯;
[0030]4)当接收到来自通讯卡的被控对象状态信息数据后,将被控对象状态信息数据通过阻塞方式发送给控制算法模型,并进入等待;
[0031]5)控制算法模型接收到被控对象状态信息数据后开始执行本周期计算,计算结束后会将结果即被控对象的控制参数数据发送给内核驱动模块;
[0032]6)内核驱动模块接收到被控对象的控制参数数据后,立即发送给通讯卡,结束本周期的工作。
[0033]所述控制算法模型的工作流程为:
[0034]1)对指定的CPU进行孤立化操作,并将控制算法模型运行在被孤立的CPU上;
[0035]2)初始化与内核驱动模块的通讯功能以及调整自身优先级到最高;
[0036]3)每个周期开始前,控制算法模型阻塞等待内核层发送来的被控对象状态信息数据;
[0037]4)接收到被控对象状态信息数据后解开阻塞状态并开始本周期控制计算;
[0038]5)将计算结果即被控对象的控制参数数据返回给内核驱动模块;
[0039]6)重新进入阻塞接收被控对象状态信息数据状态等待下一个计算周期开始。
[0040]本专利技术具有以下有益效果及优点:
[0041]1.现有的实时操作系统工具软件包少,通用性及可扩展性不强,不能满足精密运动控制规范化、便于重复开发等发展方向;Linux操作系统工具软件较多,扩展型较强,但存在系统抖动等不足。本专利技术基于精密运动控制的要求,针对Linux系统的不足做出改进,提出一种精密运动控制通信方法,使其对模块化开发提供支撑,且控制周期可以稳定达到50us。
[0042]2.稳定性好,本专利技术通过在通讯卡内部采用全局时钟使通信严格按照时钟沿周期触发,通过在通讯卡内部采用发送数据缓存和接收数据缓存使数据在控制器和被控对象之间从1个周期变为2个周期,减少了总线延时及抖动对通信造成的影响。
[0043]3.实时性高,本专利技术在控制器和通讯卡之间,控制算法模型和内核驱动模块之间全部采用阻塞通信的方式。并且通过将用户层的控制算法模型运行在被孤立核心中并且将其优先级调整到最高,来消除系统抖动对算法的影响。使本专利技术的实时性能得以保障。经实际测试,数据从通讯卡到控制算法模型不经过计算返回到发送数据缓存的时间平均仅为8us,最大不超过15us,也表明了本专利技术实时性能很本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于精密运动控制的通信方法,其特征在于,包括以下步骤:1)系统初始化;2)通讯卡全局时钟触发本周期通信及计算,通讯卡将接收数据缓存中的被控对象的状态信息数据发送给内核驱动模块;同时,通讯卡将发送数据缓存中的前一个周期的被控对象控制参数数据发送给被控对象,并等待被控对象发送状态信息数据给接收数据缓存;3)内核驱动模块接收到被控对象的状态信息数据后立即以阻塞方式发送给用户层的控制算法模型;4)用户层的控制算法模型接收到被控对象状态信息数据后解开阻塞状态,使用该被控对象状态信息数据进行本周期的控制算法计算,得到被控对象的控制参数数据,并将被控对象的控制参数数据发回给内核驱动模块;5)内核驱动模块将控制算法模块发送来的被控对象的控制参数数据发送给通讯卡;6)通讯卡接收到来自内核驱动模块的被控对象的控制参数数据并将其保存在发送数据缓存中,同时,将来自被控对象的状态信息数据保存到接收数据缓存,结束本周期工作,等待下个周期时钟触发。2.根据权利要求1所述的一种用于精密运动控制的通信方法,其特征在于,所述系统初始化包括以下步骤:1)控制器加载内核驱动模块;2)内核驱动模块初始化PCIE总线以及与控制算法模型通信功能,等待控制算法模型下发时钟配置指令及通信开始指令;3)内核驱动模块将时钟周期配置指令及通信开始指令发送给通讯卡。3.一种用于精密运动控制的通信系统,其特征在于,包括:控制器插有通讯卡,控制器和通讯卡采用PCIE通信协议,通讯卡与被控对象通过IO总线通信,控制器内部包含内核驱动模块及控制算法模型。4.根据权利要求3所述的一种用于精密运动控制的通信系统,其特征在于,所述通讯卡包含发送数据缓存和接收数据缓存,并产生通信系统全局时钟。5.根据权利要求3所述的一种用于精密运动控制的通信系统,其特征在于,所述通讯卡的工作流程为:1)控制器中的内核驱动模块下发时钟周期配指令给通讯卡并对全局时钟进行配置;2)控制器中的内核驱动模块下发通信开始指令通知通讯卡开始通讯工作;3)通讯卡将接收数据缓存中的被控对象的状态信息数据发送给控制器...

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

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

1