admin 管理员组

文章数量: 1184232


2024年1月14日发(作者:json格式的集合)

2012年4月 机床与液压 MACHINE T00L&HYDRAULICS Apr.2012 第40卷第7期 Vo1.40 No.7 DOI:10.3969/j.issn.1001—3881.2012.07.032 基于ARM和RT—Linux的嵌入式机床数控系统设计 冷春艳 ,徐鸣鹤 ,田丰 (1.电子科技大学光电信息学院,四川成都610054;2.湖北省水利水电勘测设计院,湖北武汉430064; 3.沈阳理工大学机械工程学院,辽宁沈阳110168) 摘要:分析常见机床数控系统的不足后提出一种基于ARM+DSP双核和RT—Linux操作系统的嵌入式机床数控系统设计 方案,详细介绍该系统硬件结构和软件设计,为现有的机床数控系统的升级和改造提供了很好的借鉴。 关键词:ARM;DSP;数控系统;RT—Linux操作系统 中图分类号:TP391 文献标识码:A 文章编号:1001—3881(2012)7—104—4 Design of Embedded CNC Lathe Control System Based on ARM and RT-Linux LENG Chunyan ,XU Minghe ,TIAN Feng (1.School of Optoelectronic Information,University of Electronic Science and Technology of China,Chengdu Sichuan 610054,China; 2.Hubei Institute of Survey&Design for Water Resources&Water Power Engineering,Wuhan Hubei 430064,China; 3.School of Mechanical Engineering,Shenyang Ligong University,Shenyang Liaoning 1 10168,China) Abstract:Through analyzing the insuficifency of existing common NC systems,a design of a embedded NC system based on ARM+DSP dual—core and RT—Linux operating system was introduced.The hardware structure and software design were illustrated.It provides reference for improving the existing NC systems. Keywords:ARM;DSP;CNC system;RT—Linux operating system 数控技术是一项始于20世纪40年代前后,综合 应用了微电子、计算机、自动控制、电气传动、测量 技术、制造技术等多学科的最新研究成果的新技术。 数控技术先进与否,能在很大程度上决定一个国家的 工业化水平。 主要特点是嵌入、专用。鉴于嵌入式系统的专用性和 软硬件可剪裁,能使各种资源得到最合理的配置和应 用。作者以ARM9芯片¥3C2440A为整个控制系统的 核心,操作系统采用免费开源的实时操作系统RT— Linux,DSP芯片TMS320F240在¥3C2440A的控制下 作为运动控制卡的核心,两芯片间采用SPI接口进行 连接,以LCD液晶显示屏作为人机界面。该数控系 目前国内常用的数控系统多为基于单片机和基于 PC这两种。对于以8/16位的单片机作为控制核心的 数控系统,由于单片机系统的内部资源有限,一般需 要扩展外部资源,且较多地采用汇编语言进行编程, 给程序的移植带来了困难,并且因为无法支持操作系 统,所以程序的实时性无法得到保证。基于PC的数 控系统虽然利用了通用Pc丰富的软硬件资源,能够 很快开发出独具特色的软件系统,但是依然存在资源 浪费比较严重、稳定性差的不足,采用通用的Win— dows操作系统,由于微软的技术封锁,造成了用户 无法对底层硬件及操作系统进行最优配置、实时性难 以保证以及二次开发困难等问题。 统无论在速度、精度还是成本、易操作等方面,都很 适合于一般的数控机床。 1 数控系统硬件平台构架 系统设计首先要考虑的是硬件选择,从硬件速 度、硬件功能、内存管理、I/0口、可扩展性、可维 护性等方面进行考虑。ARM控制能力强,内部资源 丰富,可以用来运行交互界面和各种应用程序;DSP 则是具有很强的数据处理能力,能将ARM对外部输 入信息进行处理后产生的数据作出相应的处理来控制 机床的运行,同时将机床反馈的信息再返回给ARM 来处理。这样,ARM和DSP就构成了一个双CPU的 随着ARM及DSP等嵌入式微处理器的快速发 展,目前数控技术遇到的问题便可以得到很好的解 决。嵌入式是以应用为中心、以计算机技术为基础、 软硬件可剪裁、适用于应用系统,对功能、可靠性、 成本、体积、功耗严格要求的专用计算机系统。它的 收稿日期:2011—03—31 主从式结构,其中ARM为内核的主控板称为上位机, DSP为内核的从CPU称为下位机,上位机与下位机 之间通过SPI接口进行连接。系统的硬件设计框图如 作者简介:冷春艳(1987一),硕士,研究方向为嵌入式系统的开发与应用。E—mail:lengcy0202@sina.COln。 

第7期 冷春艳等:基于ARM和RT—Linux的嵌入式机床数控系统设计 ・105・ I LCD ̄ l讯接口片¥ 3C 2440A TMS 320F24 0E羹PM7160S 卜._ ..l  卜._  烹I ..I主f+ 。广 。 工上-_] l卜_叫NAND Flashl ISDRAM l J伺服『——]广编码及馈l fI l 图1系统整体硬件框图 1.1 基于ARM的主控板 如图1所示,主控板包括ARM微处理器、同步 动态内存SDRAM和Flash闪存芯片、LCD显示屏及 其接口以及USB接口、串口和以太网接口等。 ARM微处理器采用SUMSUNG的s3 C2440A微处 理器芯片。¥3C2440A是一款基于ARM920T内核的 16/32位RISC处理器,它的工作电压极低,可分别 在1.2和1.3 V的电压下正常工作,而此时的主频却 分别可以达到300和400 MHz。该内核采用内存管理 单元(MMU)、高级微控制器总线结构和哈佛缓存结 构,有独立的16 kB的指令缓存和16 kB数据缓存, 性能高、功耗小、体积小、支持LCD液晶屏。 ¥3C2440A仅有4 kB的内部RAM,一般操作系 统的启动和引导程序都是在外部NAND Flash上进行 的,而操作系统和主程序在运行时一般会被引导到 SDRAM上进行。从NAND Flash启动CPU时,CPU 会通过内部的硬件将NAND Flash开始的4 kB数据复 制到称为“Steppingstone”的4 kB的内部RAM中 (起始地址为0),然后系统自动执行这些载入的引导 代码。一般情况下,这4 kB的引导代码需要将 NAND Flash中程序内容拷贝到SDRAM中,在引导码 执行完毕后跳转到SDRAM执行。因此¥3C2440A周 围需要扩展出同步动态内存SDRAM和Flash闪存芯 片来存放各种程序与数据。 SPI接口用于ARM和DSP之间的命令传输,串 口可以用来调试系统程序,以太网接口可以将该控制 模块与外部网络连接起来,构成一个控制网络,这样 就可以实现一人多机的管理模式。USB接口的设计, 就可以使用u盘进行数控文件的存储传输和系统的 升级,减少了以后系统改造时的困难。LCD液晶屏 接口用于连接TFI'型的LCD,显示用户界面。 1.2基于DSP的下位机 在高速、高精度的数控机床中,由于要做大量的 复杂运算,因此传统的单片机已经不能满足系统的要 求了,而DSP数字信号处理器时钟频率高,处理速 度快,所以是单片机的理想替代品。CPLD器件的逻 辑单元大,单元功能强大,单元内互联关系简单,电 路延时小,所以适合控制器这类逻辑型系统。作者就 采用DSP芯片和复杂可编程逻辑器件(CPLD)构成 多轴运动控制卡。 TI公司DSP数字信号处理器TMS320F240内部的 模数转换模块包括两个独立的采样、保持电路和两个 10位双积分型的转换器,16路模拟输入通道,可同 时转换2路信号。DSP还增加了串、并口的数量和速 度,其处理一条指令的时间提高到几十纳秒,数据吞 吐能力达到80 MI/s以上,非常适用于大数据量的高 速数据采集系统和实时控制系统,并能对A/D转换 的结果进行FFT分析、小波分析等。因此, TMS320F240对精密数控系统来说是一种极佳的选 择。 CPLD器件选用Altera公司的MAX7000S系列的 EPM7160S。它以第二代多阵列矩阵结构为基础,是 一种高性能CMOS EEPROM:逻辑密度为3 200个可 用编程门电路,160个宏单元,104个I/O管脚,另 外还有系统可编程功能、JTAG便捷测试电路等。 插补是数控系统的核心,数控系统正是通过插补 计算,才能加工出各种复杂轮廓的零件,并且各种复 杂轮廓的精度也是由插补任务保证的。在该设计中, TMS320F240通过一定的插补算法将当前的反馈位置 信号与插补计算的理论位置相比较,通过环行分配, 确定 、 轴的进给脉冲;进给脉冲通过光电隔离、 信号放大驱动 、。轴步进电机完成相应的加工运动; 软件同时完成升降速控制、刀架转位控制以及螺纹加 工程序。CPLD则主要实现地址译码、开关量输入输 出、编码器反馈信号和手轮脉冲输入处理以及与DSP 的并行通讯的逻辑处理等功能。 1.3 SPI接口 SPI(Serial Peripheral Interface)是一种高速的、 全双工、同步串行外设接口,它可以使MCU与各种 外围设备以串行方式进行通信以交换信息。SPI总线 系统可直接与各个厂家生产的多种标准外围器件直接 接口,该接口一般使用4条线:串行时钟线(SPIS- CK)、主机输A./从机输出数据线(SPIMISO)、主机 输出/从机输入数据线(SPIMOSI)和从机传输时能 (SPISTE)。在点对点的通信中,SPI接口不需要进行 寻址操作,显得简单高效。因此作者选择SPI接口作 为上位机与下位机之间的接口,ARM处理器与DSP 芯片依然遵循ARM为主、DSP为从的主从工作方式, 它们之间的硬件连接图如图2所示。¥3C2440A有两 个SPI接口SP1 0和SPI 1,分别由GPE11-13、GPG2 

・106・ 机床与液压 第40卷 和GPG5—7、GPG3这两组管脚引出,这里选择它的 SP1 0接口,SPIMISO 0、SPIMOS1 0、SPICLK 0、nSS 一0管脚分别与DSP芯片对应的SPI接口管脚SPISOMI、 SPISIMO、SPICLK、SPISTE相连。 S3C2440A Master,SIave=0 SPIMISO 0 SPIMoS1 0 甲早早甲 TM¥320F240 Master/Slave=l SPIS0MI SPISIMo 非 妄时 障审审嘲申审 SPICLK 0 SPICLK nSS 0 SPISTE 图2 ARM与DSP之间的硬件连接图 2 RT.Linux实时操作系统 操作系统是整个数控系统软件编写与运行的基 础,选择一个好的操作系统对一个数控系统尤为重 要。Linux作为嵌入式操作系统的后起之秀,以其源 代码开放、免费、可定制、稳定性强、对网络支持好 等优点,逐渐成为最受开发者欢迎的操作系统,但在 实时性方面还存在着不足。针对实时性要求较严格的 数控系统,作者选择了Linux操作系统的实时化版本 RT—Linux。RT—Linux是一个硬实时操作系统,它将 Linux作为最低优先级的执行线程运行。Linux线程被 做成完全可抢先的,使实时线程和中断处理子程序永 远不会被非实时操作延迟。RT.Linux中的实时线程可 以通过共享内存或一个类似于文件的接口(FIFO管 道)与Linux中的进程通信,这样实时应用程序就能 够利用Linux所有强大的、非实时的服务。这些服务 包括:网络功能、图形功能、窗口系统、数据分析程 序包、Linux设备驱动程序以及标准的POSIxAPI。由 于RT-Linux采用的是双内核结构(Linux内核及实时 内核),所以从RT—Linux应用来看,存在两个域,一 个是实时域,一个是非实时域。 要在ARM处理器上移植RT.Linux操作系统,首 先要在Pc机上对标准的Linux内核源代码打实时补 丁RT—Linux,然后重新编译,就能得到实时的Linux 内核rtzImage了。另外,由于嵌入式系统对软件的体 积有着严格的要求,因此还要对这个实时的操作系统 进行内核、库、文件系统、启动脚本等方面的适当裁 减,使它适合数控系统的需要。 3系统软件结构 数控系统要在软件层实现的基本功能有:数控程 序的译码、插补运算、速度预处理、刀具补偿、位置 控制、操作界面显示等。这些功能可以划分为3个模 块:界面层、实时任务层、非实时任务层。具体结构 见.图3 — 实时管道与共享内存 J 实 层时  1 熏 …  ll 图3系统软件结构图 3.1 界面层 主界面负责显示数控机床当前的运行状态,同时 响应用户的操作指令实现对系统的控制。主界面通过 QT—Embedded派生的一个窗口类,当捕获到操作指令 时系统会根据判断切换到相应的子窗口,如图3所 示,有文件管理窗口、工作方式设置窗口、参数设定 窗口等。这些子界面也是通过QT.Embedded派生的 窗口类,通过QT-Embedded的控件来接受用户输入 的设定值,如对主轴速率、进给倍率等的控制、对刀 具补偿以及系统参数的修改等,完成对系统的控制。 3.2非实时层 非实时层的任务是与运动控制间接相关或无关的 功能,如图3所示的数控程序文件解释模块、刀具补 偿、速度预处理以及各种参数的设置。数控程序的译 码是实现加工速度控制和轨迹插补的前提和基础,它 通过对NC代码的解释以获取刀工位置和运动趋势的 信息,从而生成刀具运动轨迹数据,这样机床加工所 需的基本功能才能实现。经过译码后的数据段主要分 为三部分,分别是F指令(供速度控制任务使用), G指令(供插补任务使用)和T、s、M指令(供逻 辑控制使用)。速度预处理主要完成刀具补偿和前加 减速处理,经过译码后的数据段坐标参数必须放到刀 补缓冲区进行刀补处理后才能存入到插补缓冲区供插 补任务处理。这些任务就算偶尔延迟,也不会造成很 大的影响,所以可以归类为非实时任务。 3.3 实时层 实时层的任务模块与运动控制功能密切相关,它 包含具有强实时性的任务模块。比如插补任务、与下 位机的通讯、位置控制指令、手动模块以及途中未标 

第7期 冷春艳等:基于ARM和RT.Linux的嵌入式机床数控系统设计 ・107・ 明的CPLD执行模块等。插补任务是根据进给速度的 (4)向下位机发送控制指令,执行上位机的控 制指令。 要求,在刀具运行轨迹的起点与终点之间计算出若干 个中间点的坐标值。这些坐标值的精度会影响到整个 4结束语 基于ARM和RT-Linux的嵌入式机床数控系统具 数控系统的控制精度,因此作者采用两次插补来提高 系统精度。ARM负责的粗插补将G代码转换为比较 详细的轨迹点信息,DSP负责的精插补则将这些信息 完全转换为能直接输向伺服驱动器的脉冲信号。位置 控制需要比较插补计算得到的值与传感器检测到的实 有良好的稳定性、可靠性和可维护性。所设计的软硬 件经实际运行,具有良好的性能,能较好地完成数控 系统所要求的各项工作。所以,ARM9的强大功能加 上实时的RT.Linux所搭建的系统是完全可以满足有 际值,确定位置偏差,然后根据控制算法把计算值发 送到脉冲发送器,通过脉冲信号发送给伺服驱动器, 以便各轴的移动量能在系统的控制下完成。这些任务 能否及时完成直接影pilau系统的安全,所以需要绝对 保证它的实时性,因此把它归类为实时任务。对于实 较高精度和速度要求的数控系统的,为现有的数控系 统的升级和改造提供了很好的借鉴,具有广泛的发展 前景。 参考文献: 【1】刘学鹏,赵冬梅.基于DSP开放数控系统的嵌入式运动 控制器设计及实现[J].机床与液压,2010,38(18): 17—20. 时任务,要放在实时域,由RT.Linux下面的实时模 块来完成。 实时模块是通过RT—Linux的实时时钟中断来保 【2】姜酷.基于RT—Linux的嵌入式实时系统设计[D].杭 州:浙江大学,2003. 障的。RT—Linux周期性地唤醒处理程序。该程序的处 理流程如下: 【3】杨军.基于ARM的嵌入式机床数控系统的研究与开发 [D].南京:南京航空航天大学,2008. (1)和下位机通过SPI接口通讯,获得伺服驱动 器的状态反馈; 【4】韦东山.嵌入式Linux应用开发完全手册[M].北京:人 民邮电出版社,2008. (2)通过界面层获取用户的操作指令; (3)根据当时的机器动作指令、机器状态和机 器状态反馈计算下一步的动作和机器状态; 【5】王孙安,张进华,吴明军.基于ARM的开放式数控系统 的研究[J].现代制造工程,2007(9):54—58. (上接第103页) 3仿真分析与试验验证比较 根据系统仿真模型, 在没有加入伺服放大板与 12 l l 1 1 ~ 一L 一 一 一 0 1 2 3 4 5 6 7 8 9 l0 t/s 3.8 4 4.2 4.4 4.6 4.8 5 5.5 比例放大板的死区、颤皇l8V 震,阀控马达摩擦,负载 : 干扰等非线性因素,同时 其他3个输入量被调为恒 值(不采用控制器对比例 阀进行主动控制)时,通 。 。 。。。 。 。 。。。 。 。。 t/s (a)实测结果 (b)局部放大图 图8恒压油源实测结果及局部放大效果 图7恒压油源压 通过仿真与实际试验验证,转台油源达到了设计 要求。 力仿真结果 过图7的油源压力仿真结 果(转台单框在1。/s速度下开环运行)可以看出: 油源系统能够将压力稳定在15.2 MPa,误差1.5%的 范围内。 参考文献: 【1】王旭永.三轴转台外框电液位置伺服系统低速运动的研 究[D].哈尔滨:哈尔滨工业大学机,1993. 【2】李洪仁.液压控制系统[M].北京:国防工业出版社, 1990:111—113. 实际系统比例减压阀出口压力在16 s内升至 15.2 MPa,仿真系统为13 S,实际系统减压阀入口压 力从16.0 MPa到25.0 MPa时间为1 879 s,压力超过 【3】TOMIZUKA M,HU J,CHIU T,Synchronization of Two Mo. tion Control Axes under Adaptive Feedforward Control『J]. 25.0 MPa溢流阀完全打开,在1 s内跌至16.0 MPa。 Trans of the ASME,2002,114(3):2—7. 图8是与仿真曲线相对应的实际测量的压力波动曲线 及局部放大效果(以测量开始时间定为0时刻)。 【4】王占林,李培滋.飞机液压传动与伺服控制(下册)[M]. 北京:国防工业出版社,1980:102—105. 


本文标签: 系统 控制 数控系统