RTAI在开放式数控系统运动控制器中的应用

发布者:koimqerolulk最新更新时间:2016-09-13 来源: e-works关键字:RTAI  运动控制器  开放式 手机看文章 扫描二维码
随时随地手机看文章
0 前言

  在数控自动控制领域中,所谓运动控制就是对机床机械装置运动部件的位置、速度、加速度等参数进行宴时的控制管理,使其按照预期的运动轨迹和规定的运动参数进行运动。由于工业控制计算机IPC(Industrial Personal Computer)强大而完善的功能,基于Pc标准总线的运动控制器已经在数控系统控制领域得到了广泛的应用。但是。基于PC标准总线的运动控制器由于在硬件设计上采用板卡设计,这种结构的运动控制器不宜长期工作在环境恶劣的工业现场(有振动、粉尘、油污等)。因此近年来,开放式运动控制器成为数控机床工业控制领域研究的热点。

  Linux是一个遵循POSIX(Portable Operating SystemInterface)标准的多用户多任务且具有先进的网络特性开源操作系统,可以方便的进行自主知识产权的软件开发。但Linux不是一个“硬”实时操作系统,其内核为非抢占式的(no-preemptive),实时任务不能够得到保证,而运动控制器本身是综合性很强的技术,具有明显的实时控制、实时交互和实时监测特性。本文研究了RTAI(Real-time Application Interface)的实现原理和基于Mpe5200实时嵌入式Linux运动控制器的架构分析,并实现其在数控系统中的应用。

1 实时Linux的实现

  运动控制器作为一个嵌人式系统,除了具备一个高性能的嵌入式微处理器,还应该拥有一个与处理器配合的嵌入式操作系统。嵌入式操作系统除了具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理和文件功能外,还应该具有以下特点:可移植性、可裁减性、实时性、强稳定性和良好的图形支持。Linux是全面多任务的32位开放式操作系统可以使运动控制器具有可扩充、可移植、可靠性高和兼容性好等优点,非常适合作为开放式运动控制器的开发平台。

  到目前为止,全球在Linux平台下开发的具有硬实时功能的系统主要有两个:R1unIlx和RTAI。RTbn一最早是美国新墨西哥理工学院的一个研究项目,它是由Victor Yodaiken提出设计思想,由MichaelBambanov实现的硬实时操作系统。RTAI(Real Timepplication Interface)是由意大利米兰理工学院航天工程系发起开发的一个遵循GNU的开源项目,RTAI已经支持1386,PowerPC,ARM,MIPS和M68k.nommu等处理器。是目前支持处理器最多的linux实时解决方案之一。

  RTAI的实现机制与RTLinux非常相似,唯一不同的是RTAI在Linux上定义了一个实时硬件抽象层RTHAL(Real·time Haldwam Abstraction Layer)。并针对RTAI开发了LXRT(Linux.RT)。让RTAI可以调用Linux本身的系统调用功能,如图1所示。

 
图1加载RTAI的Linux内核结构
 

  RTAI修改了linux/arch/i386中与体系结构相关的代码而形成了RTHAL层,RTHAL的作用是使RTAI能够在实时任务需要运行的任何时刻中断Linux。引入RTAI后,Linux的功能没有改变,但是作为优先级最低的任务运行,并且只有在没有实时任务的时候它才能执行。这样做的好处在于将直接修改linux核心的代码减到最小,这使得将RTAI移植到linux内核的工作量减至最低。

  RTAI实现的主要模块有RTAI模块、SCHED模块、FIFO模块、SHM模块、LXRT模块,它们能动态装入和卸载。用户自己的实时任务是在RTAI装入后再载人。可以通过编辑/etc/rc.sysinit文件,在系统启动时将RTAI模块和用户实时模块加载到Linux内核中,当实时模块加人到内核后,实时模块中创建的线程和函数就可以访问系统的底层资源。

2 运动控制器系统设计

  运动控制器由硬件系统和软件系统两大部分组成。按照模块化设计思路,将运动控制器的体系结构划分为用户层、内核层和设备层(图2所示)。其中内核层和设备层两部分组成了运动控制器的开放式平台。这种独立的层次结构使得运动控制器易于实现数控系统上的开放式应用。

 
图2运动控制器平台体系示意图

  用户层(虚框内)就是开放式运动控制器的用户程序空间,运动控制器的用户软件是根据应用对象进行特殊化设计的,可以灵活更换。开放式运动控制器的设计思路是:无需更改底层软/硬件模块,根据被控对象的特征设计不同的模块化用户软件就能够满足不同的运动控制任务,体现出运动控制器开放式的特性。“用户软件模块化”是开放式运动控制器最大的特征,而“用户软件模块化”恰好也是Linux提供的一种机制:Linux的内核和用户程序是完全分离的,用户程序通过调用设备操作接口就能够实现对硬件设备的操作。

  内核层的设计按照两条相互独立的线路展开:移植Linux操作系统和开发设备驱动程序。从图2可以看到,运动控制器的内核层设计最为复杂.这部分的设计是与Linux内核机制紧密相关的。运动控制器大量的硬件设备是由Linux设备驱动程序提供用户软件设备操作接口的.图2中内核层的“运动控制接口”和“现场通信接口”是开放式运动控制器最主要的设备接口。设备驱动程序由于处于Linux内核的最底层,因此相对于上层用户软件又称之为底层软件。

 
图3 MPC5200微处理器功能框图

  设备层是运动控制器的硬件层,在这部分设计过程中需要完成运动控制器的硬件设计,电路设计。嵌入式运动控制器的硬件设计与传统的基于PC机的运动控制器设计有很大不同之处。考虑到面向特殊领域的应用特性,嵌入式系统不能使用桌面系统那样丰富的硬件资源,因此标准的Pc机硬件无法直接应用到嵌入式运动控制器中去,这些决定了开放式运动控制器的硬件设计具有其特殊性。

  2.1 硬件结构设计

  运动控制器微处理器采用的是摩托罗拉公司于2003年下半年推出的新型的具有广泛发展前景的PowerPC MPC5200.其内部采用了双处理器结构,有一个专门负责通信的协处理器,体现了数据通信的专业构架。并通过双端口内存(这是种极快的数据交换方式)与主处理器通信,从而使主处理器负担大幅度下降。其芯片内部含有丰富的实用型外设。

  基于PowerPC内核的MPC5200”“是一颗低功耗、处理速度达760MIPS的嵌入式处理器。它支持以太网、USB、PCI、ATA、12S、12C、SPI、串行接口、J1850和控制区域网(CAN)。同时,它还支持DDR存储器,并集成了一个双精度的浮点单元(FPU),如图3所示。

  MPC5200运动控制器是一款非常适合于工业控制领域应用的运动控制器,开放化的特点使其能够应用于多种机械设备上,而通过CAN总线互连组建的现场总线运动控制系统是一种全新的分布式控制系统。因此Mpc5200运动控制器完全可以满足现代数控系统高速化、智能化、网络化、集成化、开放化的需求。
 

  2.2 软件结构设计

  在实时Linux下,为了保证数控系统的实时任务能够即时响应。所有和实时相关的任务都必须放在内核层下,每个任务用一个独立的内核进程来执行,实时进程是通过调用RTAI的rt—task—init()函数来实现的。而非实时任务则放在用户层下,它们在任何时候都不会打断实时任务的运行,只有在实时任务结束后才会执行。

  嵌入式数控的基本功能由各种功能模块共同来实现的。在以linux为操作系统的开放式平台上集成RTAI的实时内核。通过模块化的设计思想,可以将整个控制系统按照实时性的要求分为用户层模块,内核层实时模块两个大的模块,同时在两个大的模块下又根据不同的子功能分为代码解释模块,人机交互及刀具仿真图形模块,文件管理模块,位置控制模块,插补运算模块,状态监测模块等,如图4所示。

 
图4系统软件结构图

  内核层和用户层之间进程的通讯主要是依靠RTAI提供的实时nFo,通过调用函数rlf_create()来创建管道实现数据传输。FIFO的通信是单向的,因此用户层和内核层的信息交互必须至少创建两条管道才能实现。

3 实时控制的软件实现

  根据对开放式运动控制器的运行机制分析,将各实时任务模块分别设置相应的定时器工作方式。优先级及通信队列等。

  实时功能模块实现方式如下:位置控制任务moor()决定电机控制精度。计算下一周期的实际坐标增量,输出到伺服单元驱动步进电机工作。因此将其设计成周期性RTAI线程.运行周期为4ms,1级优先权。

  功能控制任务control()是利用fifo从用户层向内核层传递控制命令,并实现对I/O口的控制。此任务采用实时中断策略,在接受到控制命令,内核挂起位置控制任务。

  状态检测任务monitor()要对状态进行实时监控。因此设置此任务运行周期为lOms.优先级为3级。运动控制器软件的所有实时任务和函数包含在实时模块main—program.o中。通过编{t}/etc/rc.sysinit文件,在系统启动时加载到Linux内核中。当实时模块加入到内核中。实时模块中创建的线程和函数就可以访问系统的底层资源。

  实时任务模块的加载和卸载在Linux中由initmodule()和cleanup—module()两个函数实现的,同时可以通过这两个函数进行资源的分配和回收,以及线程和处理函数的创建。

 
 

4 结束语

  本文在深入研究Linux实时操作系统的基础上。将Linux操作系统移植到数控机床上具有实用价值的嵌人式微处理器MPC5200上,证明了数控嵌人式系统完全可以实现一定程度的开放性,且移植Linux也是开发嵌人式数控运动控制器操作平台一种比较好的方案。具有明显的先进性和实用性。

  通过一系列的实验分析和应用研究,现已成功将MPC5200运动控制器应用于自主开发的一种基于CAN总线的嵌入式线束机控制系统,该系列机床已经通过项目成果鉴定,目前正在进行产业化推广工作。在此也希望本文能为开发和推广我国具有自主知识产权的嵌人式Linux运动控制系统提供一定的借鉴和帮助。

关键字:RTAI  运动控制器  开放式 引用地址:RTAI在开放式数控系统运动控制器中的应用

上一篇:激光焊接加工机床的四轴步进电机控制系统设计
下一篇:物联网无线传感平台 M2.COM中国正式发布

推荐阅读最新更新时间:2024-05-03 00:39

运动控制器的原理及控制形式
运动控制器被广泛应用于许多领域,尤其是在交流伺服和多轴控制系统中。它可以充分利用计算资源,帮助用户规划轨迹,执行预定的动作,并进行高精度的伺服控制。 运动控制技术的发展是制造自动化发展的旋律,也是推动新工业革命的关键技术。运动控制通常是指在复杂条件下将预定义的控制系统和设计指令转换为预期的机械运动,以实现精确的位置、速度、加速度、扭矩或力控制。本文收集和收集了关于什么样的业务主管以及可以使用什么样的纳税申报单的信息。 运动控制器是一种特殊的控制器,用于控制电机的运行模式:例如,电机通过冲击开关控制交流接触器,将电机拉到指定位置,然后下降或使用时间继电器控制电机的前后旋转,或先停一会儿,再停一会儿。运动控制在机器人和数控机床
[嵌入式]
基于MPC555的开放式汽车电子控制平台
    本设计在基于MPC555微控制器硬件平台基础上,构建了一个开放的符合OSEKIVDX标准的汽车电子控制平台。     开放式汽车电控单元设计的关键问题     根据IEEE的定义,开放式控制系统必须使相应的执行程序能够运行于来源不同的平台,与其他的系统应用进行无缝的连接和相互操纵,并为用户提供一个具有一致风格的交互接口。这一定义明确的提出了开放式控制系统的特点和设计的关键,即可互操作、可复用、可扩展以及可互换。     另外,由于车辆使用环境变化较大,控制系统要求有较强的适应性,能够根据环境的变化进行系统动态配置,在线切换算法组件和改变组件间的互连等。     在硬件方面,由于硬件结构相对固定,系统升级基本采
[嵌入式]
英特尔全新开放式FPGA开发堆栈,实现更高代码可重用率
英特尔发布最新的英特尔®开放式FPGA开发堆栈(英特尔®OFS)。通过可拓展的硬件,以及可访问的git源代码库的软件框架,英特尔®开放式FPGA开发堆栈(英特尔®OFS)让软硬件及应用开发人员能更轻松地创建定制加速平台与解决方案。此外,英特尔®OFS提供标准接口和API,实现更高的代码可重用率,加速了开发与快速部署。 英特尔公司副总裁、可编程解决方案事业部总经理Dave Moore表示:“FPGA一如既往地为开发人员创建定制化硬件提供支持, 为从边缘到云端的工作负载提供卓越的性能、功耗效率及总体拥有成本。今天,我们激动地宣布推出英特尔®开放式FPGA开发堆栈。经过早期客户的成功案例验证了英特尔®开放式FPGA开发堆栈能够
[嵌入式]
英特尔全新<font color='red'>开放式</font>FPGA开发堆栈,实现更高代码可重用率
基于总线和网络技术的开放式可监控数控系统
引言   目前开放化是数控系统的研究热点。开放式的技术基础就是系统的模块化,然而这种模块化的设计在实现数控系统增量式功能拓展的同时,往往因追求密集的软硬件设计而造成数控系统体积庞大,接口繁杂,功能重叠等负面效应。集中式模块化设计中模块间的模拟量及并行连线的方式,也使得数控系统的整体结构变得复杂,造成在信息交互密集的情况下,系统的实时性得不到有效的保证。另外,随着工业现场环境和控制对象本身的日益庞杂,数控系统已从简单的运动轨迹控制器转变成贯穿数字化制造全过程的系统级平台。数控设备在实现高速、高精、高效的加工自动化的过程中,对加工过程实时可控的要求越来越高,因此状态监测也成为数控研究的一个重要方向。   与此同时,以PROFI
[嵌入式]
航盛电子:基于开放式架构的车联网平台
2011中国汽车电子国际论坛暨汽车半导体应用峰会于7月20-21日在成都新东方千禧大酒店隆重开幕。 此次峰会上,云集国内车载信息服务应用联盟及在汽车电子研发领域处于领先地位的中国汽车技术研究中心、中国汽车工程学会、清华大学、同济大学等行业权威机构;欧美、日本的众多业界权威也赴蓉出席此次盛会。同时,上汽、长安汽车、富士通、英飞凌、飞思卡尔等整车与芯片厂商,国内外知名车载系统提供商也受邀携其最新技术方案出席大会,共商汽车电子及半导体应用的发展前景。 主持人:有请来自深圳航盛电子股份有限公司技术中心副主任何照丹先生。有请! 何照丹:很高兴今天在这里和大家一起分享关于汽车电子行业的一些新的东西,说起来航盛大家都比较了
[汽车电子]
软件无线电的开放式软件通信体系结构
摘要:介绍了软件无线电系统的开放式软件通信体系结构,提出在可重新配置的硬件平台上建主一种分布式处理环境,运行不同供应商提供的软件组件以支持各种服务,从而达到系统软件的可移植性、重用性和伸缩性。 关键词:软件无线电 软件通信结构 CORBA IDL 域描述体 伴随蜂窝无线个人通信系统服务的快速发展,产生了很多无线通信标准,如GSM、IS95、IS54/136、PDC等。这些空中接口对不同的应用和服务都有各自约定的波段、调制解调机制、编解码方式、复合接人技术和协议。可以预见,在不久的将来,无线电通信系统必将把各种无线接入网集成到一个通用系统结构中,通过一个硬件平台实现多种标准和服务。二十世纪90年代初开始,无线电的服务正从长期依
[应用]
基于伺服电机和运动控制器的目标仿真实时性设计
众所周知,激光制导武器是以敏感到的特定激光信号为制导信息。在激光制导武器的半实物仿真系统中,目标仿真和制导仿真具有同等重要的地位。这是因为激光目标模拟的准确性影响到系统的整体仿真精度和可靠性,甚至可以说目标仿真系统的研制水平决定仿真大系统水平 。因此,目标仿真是提高半实物仿真系统整体精度的关键,“如何逼真地模拟激光目标”就成为仿真中重要的问题 。   目标仿真系统研究的是能够实时精确的模拟战场环境中导引头入瞳处接收到的各种目标反射编码激光的光学特性。具体来说就是在计算机和电机控制器的控制下实时控制激光能量和光斑大小的变化,并以此来模拟激光航弹导引头入瞳处的激光目标特性、能量变化特性和光斑大小变化特性。这种精确的模拟要求对目标的位
[模拟电子]
基于伺服电机和<font color='red'>运动控制器</font>的目标仿真实时性设计
ARM+DSP的嵌入式四轴运动控制器设计
运动控制系统已被广泛应用于工业控制领域。近年来,工业控制对运动控制系统的要求越来越高。传统的基于PC及低端微控制器日渐暴露出高成本、高消耗、低可靠等问题,已经不能满足现代制造的要求 。随着嵌入式技术的日益成熟,嵌人式运动控制器已经初露锋芒。基于ARM技术的微处理器具有体积小、低成本、低功耗的特点,决定其在运动控制领域具有良好的发展前景。 PCL6045BL是一种新型专用DSP运动控制芯片,它具有强大的数据处理能力和较高的运行速度,可以实现高精度的多轴伺服控制。为解决精密制造对低成本、可移植性强的通用型多轴数控系统的迫切需求,文中给出一种基于ARM 微处理器S3C2440与DSP专业运动控制芯片PCL6045BL构成的嵌入式四轴运
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved