软糖厂家
免费服务热线

Free service

hotline

010-00000000
软糖厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

看一看:基于RTLinux的运动控制器MC400

发布时间:2021-11-17 22:48:25 阅读: 来源:软糖厂家

在伺服机电控制系统中,除要满足机电产品在性能上的高稳定性、高效率要求以外,还在系统的实时性、可靠性和多功能方面提出了更高的要求,特别是军事领域的机电控制系统中,要求对事件的处理有极强的实时性。90年代以后,随着对实时性要求的提高,软件范围不断上升,实时内核逐渐发展为实时多任务操作系统(RTOS),并作为1种软件平台逐步成为目前国际嵌入式系统的主流[1]。在嵌入式利用中使用实时操作系统已成为当前嵌入式利用的1个热门、1种时尚。今天,RTOS已在全球构成了1种产业[2]。其中1些著名的公司更是选中了象Linux、VxWorks、UC/OS-II操作系统作为开发多任务实时控制系统的工具。而在国内,虽然嵌入式利用开发很广,但该领域几近还是空白。本文正是基于机电产品的嵌入式利用这1研究课题而展开的。在大型复杂的机电1体化产品中利用嵌入式实时操作系统对我们来说还是比较陌生的,尚处于摸索阶段。软件方面,在综合比较多种实时操作系统如VxWorks、uc/os-ii等的基础上,作者终究选定了免费的、源代码开放的、功能齐全的实时操作系统RTLinux作为嵌入式机电产品研究的软件平台;硬件方面,由于在机电1体化产品中都离不开运动控制器,所以本文从研究由国防科技大学机电工程与自动化教研室开发的PCI接口的伺服运动控制卡MC400D入手,进行机电产品的嵌入式改造。 MC400系列运动控制器已成功利用于有4轴伺服交直流电机的大型控制系统中,系统的利用软件是用Visual C++融和LabWindows/CVI进行开发和设计的,软件控制代码约有120M,系统的稳定性和实时性不是很好,系统的运行需由硬盘启动,由工控机直接进行控制。为了适应武器装备对嵌入式控制系统的特殊需要,而且为了减少硬件本钱强拆违建违法会赔钱吗,提高系统运行的稳定性,避免重复开发费用和减少开发时间,将本来的系统进行改造,深入研究机电产品中运动控制卡的设备驱动程序,以便于直接访问卡上的原有资源,并通过设定相应的运动控制参数,实现对电机的各种控制,从而开发出嵌入式RTLinux武器伺服系统。1 MC400系列运动控制卡及Windows下的控制程序分析运动控制器,是以实现预定运动轨迹目标,对以电机驱动的实行机构等设备进行控制的装置。运动控制器以其独有的灵活性和优秀的运动轨迹控制能力使许多工业生产设备焕发出勃勃生机,可以说,只要有伺服电机利用的场合就离不开运动控制器。MC400系列运动控制器是由国防科技大学机电工程与自动化教研室自主开发的,设计为PCI接口的4轴通用型运动控制器。该卡采取DSP和CPLD相结合的结构,TMS320系列DSP控制器能将实时处理能力和控制器外设功能集于1身,主要处理轨迹计划、伺服控制等功能,CPLD主要处理外围接口电路,具有使用简单,可扩充性强,多用途,可编程,通用性强的特点,可直接用于交换伺服电机或直流伺服电机的控制,最大可同时控制4个电机。卡的控制程序主要包括系统设置函数(如采样时间set_smpl_time()等)、伺服控制参数设置函数(如设定PID控制的比例函数set_kp())、轴参数设置函数(如设定1轴set_1())、运动参数设置函数、极限参数设置函数、位置捕获和中断处理和参数更新函数等。2 RTLinux下的运动控制器的设备驱动程序几近每个系统操作终究都会映照到物理设备上。除处理器、内存和其他很有限的几个实体之外,所有设备控制操作都由与被控制设备相干的代码来完成。这段代码就叫做设备驱动程序(device driver),内核必须为系统中的每件外设嵌入相应的驱动程序,包括硬盘驱动器、键盘和磁带等。通过Windows下的机电控制系统的分析,控制程序是针对系统的具体控制要求和功能而提出来的,与所采取的软件平台相干不大,而全部系统的驱动程序设计却是进行嵌入式系统改造的关键所在。2.1 RTLinux下的设备驱动程序简介设备驱动程序在RTLinux内核中是1个个独立的“黑盒子”,使某个特定的硬件响应1个定义良好的内部编程接口,同时完全隐藏了设备的工作细节。用户操作通过1组标准化的调用来完成,而这些调用是和特定的驱动程序无关的。将这些调用映照到作用于实际硬件的设备特定的操作上,则是设备驱动程序的任务。这个编程接口能够使得驱动程序独立于内核的其他部分而建立,在需要的时候,可在运行时“插入”内核二十年前违建拆除有赔偿吗。这类模块化的特点,使得RTLinux驱动程序的编写变得简单。MC400系列运动控制器设计为PCI接口的,所以该驱动程序的设计属于块设备驱动程序设计。每个PCI外设都有1个总线号、1个设备号和1个功能号来标识。这可以从/proc/bus/pci/devices目录或/proc/pci文件来查看PCI设备清单和设备的I/O和内存。以下是本机用vi pci命令得到的有关PCI接口的运动控制卡MC400D的资源信息:Bus 0, device 20, function 0:Bridge: PCI device 10b5:5201(PLX Technology,Inc.)(rev 2).IRQ 5.Non_prefechable 32 bit memory at 0xdfffff80[0xdfffffff].I/O a资讯分类行业动态帮助文档展会专题报道5金人物商家文章