一种基于DSP/BIOS的运动控制系统的制作方法

文档序号:13331463阅读:128来源:国知局

所属技术领域

本发明涉及一种基于dsp/bios的运动控制系统,适用于机械领域。



背景技术:

数字信号处理器(digitalsignalprocessor)运算能力可完成运动控制器中大量的强实时性任务,满足运动控制系统高精度、高速度控制的要求。在当前大部分运动控制系统中,dsp只执行单个任务,任务调度由上位机实现,主要应用于对精度和速度要求不高的伺服运动平台。但这种方案存在的缺点是:上位机的非实时操作系统保证对消息的快速响应,难以满足运动控制系统的强实时性要求。

为了充分发挥dsp的性能优势,需要一个实时操作系统来对dsp的硬件资源管理和任务调度。相对于移植到dsp平台的uc/os-ⅱ等嵌入式实时操作系统,ti公司提供的dsp/b10s操作系统具有优化性能好,存储开销小,驱动开发方便,体系结构可精简等优点。



技术实现要素:

本发明提出了一种基于dsp/bios的运动控制系统,使用bi0s的基于优先级的多线程机制,把程序根据不同的要求很好的分成不同的功能模块,从而可以更好地把dsp的资源放在运动算法的实现上面,提高了程序的执行效率;而且使用bios系统的配置文件和其本身自带的分析工具,使程序结构分配合理,使得调试、修改程序非常方便,方便了程序的开发。

本发明所采用的技术方案是:

所述运动控制系统硬件由上位机(嵌入式计算机)和运动控制器构成。嵌入式计算机基本替代了普通台式机应用于运动控制系统,它是一个精简的计算机系统,具有ctr、lcd显示屏接口、usb口、ps/2口、串口、pc/104总线等,有利于提高数控系统硬件平台的稳定性和降低系统的成本。运动控制器由dsp+fpga两部份构成,dsp具有哈佛结构、流水线指令和独立乘法器等特点,它能实时地执行多轴机床控制系统的轨迹插补、加减速控制以及刀具精确定位等强实时性任务。tms320c6711是美国德州仪器公司高性能、超长指令字(vllw)结构的浮点数字信号处理器,在150mhz的主频下,它的浮点运算处理能力达9亿次/s,适合用于高速、高精度机床的实时控制。

所述tms320c67l1通过硬件自带的主机通讯接口(hostportinterce,hpi)和嵌入式计算机的pci04总线相接,接收上位机的任务消息并返还电机轴的运动状态。在dsp中的运动控制程序,负责实现包括轨迹插补,运动控制,以及不同任务之间的调配;而fpga接收运动信息并发送脉冲给伺服驱动器控制电机的运动,并返还电机状态到dsp。

所述ccs(codecomposerstudio)是ti开发的一个完整的dsp集成开发环境,也是目前使用最广泛的dsp开发软件之一。在ccs中,不仅集成了常规的开发工具,如源程序编辑器、代码生成工具及调试环境,还提供了dsp/bios开发工具。传统的ccs程序开发是使用汇编语言和c语言编写dsp应用程序。需要开发者自己用编程代码完成整个程序的任务调度,以及与所用硬件相关的接口函数,增加了应用程序的开发难度,延长了系统的开发时间。

所述程序功能模块的整个应用程序根据功能及执行顺序可以分为3个模块,分别是消息通信模块、任务管理模块、运动算法实现模块。运动控制器和上位机以及fpga的消息传递由消息通信模块完成。在dsp上开辟专门的地址空间来存放上位机和fpg传递过来的消息,在程序内判断识别这些消息,把它们转换成不同的运动任务。上位机传递的消息存储在dsp内部的主机-dsp和dsp-主机两个消息缓冲区内。dsp接收到的消息转化成相应的运动任务,设置好任务的优先级、参数,创建动态的tsk任务线程,设置不同优先级的线程之间切换,是由任务管理模块实现。模块中的任务通过在程序中调用api来触发任务对应的函数执行。

本发明的有益效果是:该控制系统使用bi0s的基于优先级的多线程机制,把程序根据不同的要求很好的分成不同的功能模块,从而可以更好地把dsp的资源放在运动算法的实现上面,提高了程序的执行效率;而且使用bios系统的配置文件和其本身自带的分析工具,使程序结构分配合理,使得调试、修改程序非常方便,方便了程序的开发。

附图说明

图1是本发明的dsp运动控制系统结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1,运动控制系统硬件由上位机(嵌入式计算机)和运动控制器构成。嵌入式计算机基本替代了普通台式机应用于运动控制系统,它是一个精简的计算机系统,具有ctr、lcd显示屏接口、usb口、ps/2口、串口、pc/104总线等,有利于提高数控系统硬件平台的稳定性和降低系统的成本。运动控制器由dsp+fpga两部份构成,dsp具有哈佛结构、流水线指令和独立乘法器等特点,它能实时地执行多轴机床控制系统的轨迹插补、加减速控制以及刀具精确定位等强实时性任务。tms320c6711是美国德州仪器公司高性能、超长指令字(vllw)结构的浮点数字信号处理器,在150mhz的主频下,它的浮点运算处理能力达9亿次/s,适合用于高速、高精度机床的实时控制。

tms320c67l1通过硬件自带的主机通讯接口(hostportinterce,hpi)和嵌入式计算机的pci04总线相接,接收上位机的任务消息并返还电机轴的运动状态。在dsp中的运动控制程序,负责实现包括轨迹插补,运动控制,以及不同任务之间的调配;而fpga接收运动信息并发送脉冲给伺服驱动器控制电机的运动,并返还电机状态到dsp。

ccs(codecomposerstudio)是ti开发的一个完整的dsp集成开发环境,也是目前使用最广泛的dsp开发软件之一。在ccs中,不仅集成了常规的开发工具,如源程序编辑器、代码生成工具及调试环境,还提供了dsp/bios开发工具。传统的ccs程序开发是使用汇编语言和c语言编写dsp应用程序。需要开发者自己用编程代码完成整个程序的任务调度,以及与所用硬件相关的接口函数,增加了应用程序的开发难度,延长了系统的开发时间。

程序功能模块的整个应用程序根据功能及执行顺序可以分为3个模块,分别是消息通信模块、任务管理模块、运动算法实现模块。运动控制器和上位机以及fpga的消息传递由消息通信模块完成。在dsp上开辟专门的地址空间来存放上位机和fpg传递过来的消息,在程序内判断识别这些消息,把它们转换成不同的运动任务。上位机传递的消息存储在dsp内部的主机-dsp和dsp-主机两个消息缓冲区内。dsp接收到的消息转化成相应的运动任务,设置好任务的优先级、参数,创建动态的tsk任务线程,设置不同优先级的线程之间切换,是由任务管理模块实现。模块中的任务通过在程序中调用api来触发任务对应的函数执行。



技术特征:

技术总结
一种基于DSP/BIOS的运动控制系统,由上位机(嵌入式计算机)和运动控制器构成。该控制系统使用BI0S的基于优先级的多线程机制,把程序根据不同的要求很好的分成不同的功能模块,从而可以更好地把DSP的资源放在运动算法的实现上面,提高了程序的执行效率;而且使用BIOS系统的配置文件和其本身自带的分析工具,使程序结构分配合理,使得调试、修改程序非常方便,方便了程序的开发。

技术研发人员:李福霞
受保护的技术使用者:李福霞
技术研发日:2016.06.21
技术公布日:2017.12.29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1