基于嵌入式平台的数控系统设计研究
2011-11-25毕龙
毕 龙
(上海新侨职业技术学院,上海 200237)
0 引言
基于嵌入式平台的全软件数控系统设计方案是一种新的数控系统设计方案,与传统的数控系统体系结构有很大的区别。本章详细介绍基于嵌入式实时操作系统的全软件数控系统结构体系,指出该方案是一种可靠性高、经济性好、易于开发与维护的数控系统设计方案[1,2]。然后结合机床对象以及基于嵌入式平台的全软件数控系统设计方案的一般思路,讨论数控系统的软硬总体框架设计。
1 件数控系统设计方案概念
基于嵌入式实时操作系统的全软件数控系统是一种全新的数控系统实现方案,它建立在嵌入式计算机系统软硬件最新发展成果的基础上。全软件数控中的“全软件”指的是将数控系统中原来必须由专用芯片完成的插补、PLC功能转变为具有高优先级的软件任务,同时,将译码、通信、报警等功能模块任务化,依靠嵌入式实时操作系统支持,根据数控系统内部信息流、物质流与能量流的要求,设计出基于嵌入式实时操作系统的满足特定设计要求的全软件数控系统[3]。
如同基于PC平台与通用操作系统的全软件数控一样,基于嵌入式平台的全软件数控系统必须建立在嵌入式硬件与嵌入式实时操作系统软件平台上。基于嵌入式平台的全软件数控系统分为四层。第一层为硬件层,第二层为板级支持包层(Board Sµpport Package),第三层为API功能层,第四层为应用程序层。
硬件层主要是以嵌入式微处理器为核心的嵌入式硬件平台。全软件数控系统的重要特点就是硬件模块软件化,如插补、PLC等。因而,要求嵌入式微处理器必须具有丰富的片内外设功能,如用于发送控制脉冲的定时器、可用作开关量输入/输出的GPIO、显示模块、ΜART通讯模块等;板级支持包(BSP)层主要包括启动代码Bootloader、硬件驱动和RTOS移植。该层主要用于初始化硬件系统、设计硬件驱动和RTOS移植。其中BootLoader在硬件通电后自动执行,用于初始化CPΜ、开发板上其他硬件;硬件驱动用于抽象嵌入式微处理器的片内外设,为文件系统、网络、GΜI提供硬件操作封装;RTOS移植则将RTOS移植到特定的嵌入式微处理器上,从而为RTOS内核服务的正常运行提供保障。
API功能层主要是提供应用程序层API函数。其中RTOS、文件系统、网络、GΜI均以API的形式提供给应用程序层。RTOS包括了所有的内核服务功能,IHOS为多任务系统的同步、通讯、调度等功能提供完善的内核服务支持;文件系统则负责提供数控系统的文件管理功能;网络功能则方便数控系统与上位机进行网络通讯;GΜI提供给应用程序设计人机界面的基本绘图工具。
应用程序层处于基于嵌入式平台的全软件数控系统体系结构的顶层,用于实现特定应用系统功能。由于数控系统是一个非常复杂的控制系统,为了方便系统开发以及增加系统软件可靠性、可维护性,将数控系统划分为主要的几个任务,利用RTOS完善的任务管理功能实现数控系统功能。
基于嵌入式实时操作系统的全软件数控系统是一种特殊结构的数控系统实现形式,其主要的特点如下:1) 全软件:即数控系统主要功能模块全部用软件实现,如插补、PLC等;2) 单CPΜ结构:即无需使用价格昂贵的专用芯片如插补芯片、PLC等,只需利用嵌入式微控制器的高速计算能力和丰富的片内外设,即可为软数控提供必要的硬件支持;3) 嵌入式实时操作系统的支持:相比利用通用桌面操作系统及其实时性补丁,嵌入式实时操作系统的高可靠性、完善的任务通信机制等为数控系统任务调度提供了有力的、安全的、实时的软件开发平台。
µC/OS-II也是一个微型的嵌入式实时多任务操作系统,可以将µC/OS-II的核心程序直接添加到嵌入式集成开发环境中,作为整个工程的一部分;由于本数控系统不需要复杂的联网与文件系统功能,从节约嵌入式实时操作系统的使用成本以及获取开发支持文档考虑,选择µC/OS-II是再合适不过的[4]。综上所述,使用计算速度快、片内外设丰富的ARM微处理器硬件平台,以及内核服务完善、可移植性好的µC/OS-II嵌入式实时多任务操作系统的软件平台,可以很好地解决基于嵌入式实时操作系统的全软件数控系统设计方案的软硬平台选择问题。
2 基于嵌入式平台数控系统硬件总体框架设计
2.1 基于ARM7TDMI内核的S3C44BOX微处理器简介
本数控系统选择了三星公司的ARM7系列处理器—S3C44Box作为嵌入式系统的硬件电路的CPΜ。Samsµng S3C44BOX微处理器是三星公司专为手持设备和一般工业应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66Mhz,为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:8KB cache、存储器控制器、LCD控制器、4个DEg,通道、2个ΜART通道、1个多主IIC总线控制器、1个IIS总线控制器、5个PWM定时器和一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8个12位ADC通道。
2.2 基于S3C44BOX的开发板选择
选择了嵌入式ARM开发板。该开发板选择嵌入式微处理器S3C44BOX主芯片,具有丰富的外设,选择广州微嵌科技的嵌入式ARM开发板,是因为开发板具有如下优点:1)大容量的存储系统。首先,用来存放数控系统应用程序的NorFlash多达2M,可以轻松地存放复杂的全软件数控系统编译后的二进制文件;其次,基于NandFlash可以设计文件系统,用来存放和管理数控系统加工文件;最后,由于有大容量RAM的支持,可以将存放在Flash的数控系统应用程序转移到RAM中,以提高执行速度;2)LCD接口和256色8英寸LCD显示器。可以利用LCD显示器,显示一些实时数据、加工轨迹、系统信息等等;3)丰富的通讯接口。开发板上不仪提供了常用的RS232串口,还集成了网络接口、MSB接口、IIC接口,这不仅大大方便了数控系统开发,还为将来系统升级打下基础。其中,串口可以用来作为与上位机控制软件的通讯接口,下载上位机中的加工文件、控制命令、系统参数等等。通过IIC接口,可以方便地将一些数控系统参数保存到EEPROM中。将来,为了加快文件传输速度以及联网的需求,可以利用IOM的网络接口与上位机通讯,通过ΜSB可以方便存取加工文件等等;4)多达5路的PWM脉冲输出端口。根据计算出来的插补位置点,可以利用PWM脉冲输出功能输出X、Y、Z轴的进给脉冲;5)丰富的GPIO口。有了大量GPIO口的保证,可以方便地解决机床电气与数控系统之间的接口问题;但开发板也有其不足的地方,一般情况下开发板只提供一些基本的外设电路,如与机床电气系统的接口部分以及通用输入设备——键盘则需要根据具体的应用而具体设计。为了解决这两个问题,除了选择基本开发板之外,还设计了数控系统机床电气接口板和可以利用PS/2键盘的基于PC的数控操作程序。
3 基于嵌入式平台全软件数控系统软件总体框架设计
3.1 全软件数控系统任务模块划分
依据铣床功能分析,基于µC/OS-II的全软件数控系统软件结构主要有以下结构组成。由于数控系统基本上是由人机接口、译码、软PLC、刀
3.2 全软件数控系统任务定义
任务是功能模块的抽象化形式,嵌入式实时操作系统的管理对象。全软件数控系统具有的功能模块有:串口通讯、译码、预插补、插补、软PLC、调式。因此,分别定义了串口通讯任务:Mart_Task、译码任务:DeCode_Task、预插补任务:PreInterpolate_Task、插补任务:Interpolate_Task、软PLC任务:SoftPLC_Task、调式模块任务:Debµg_Task。根据各个任务的实时性不同,任务优先级也不同,且每个任务的优先级是唯一的,实时性越强的任务优先级也越高。此外,为了集中管理所有任务,设计了主任务:Main Task PRIO。该任务总是不断地等待其他任务发来事件标志,从而依据任务状态机作出相应反应。
3.3 基于µC/OS-II的全软件数控系统软件结构
全软件数控系统的软件部分包括了全软件数控系统的第二、三、四层。板级支持包层是基于嵌入式平台的全软件数控系统实现的基础和前提;嵌入式实时操作系统µC/OS-II在全软件数控系统的软件结构中处于核心地位。它不仅直接管理数控系统的各软件任务的建立、运行、挂起、中断、睡眠等状态的切换,而且还提供了如消息、邮箱、时间标志组、队列等机制,大大方便了任务之间通讯、同步等功能的实现:应用程序层包括:串口通讯任务、译码任务、预插补任务、插补任务、软PLC任务、主任务。
4 结束语
只有充分利用各种先进的、现成的技术,不局限于国外数控机床厂商的技术途径,才能为我国的数控系统的发展打开一番新天地。本文提出的基于嵌入式平台的全软件数控系统体系结构是一种新型数控系统体系结构,它建立在RISC结构的嵌入式ARM处理器硬件平台和µC/OS-II嵌入式实时操作系统软件软件平台上,对于今后数控机床发展具有一定作用。
[1] 王悦善, 陈曾汉. 嵌入式PC的数控系统的设计与实现[J].机械设计与制造, 2010, (4).
[2] 刘清建, 王太勇, 王涛, 等. 嵌入式数控系统的结构可靠性分析[J]. 天津大学学报, 2010, 43(2).
[3] 邵明, 李光炀, 杨惠灵. 基于FPGA的嵌入式数控系统功能模块设计[J]. 机床与液压, 2010, 38(16).
[4] 王田苗, 陈友东, 孙恺, 等. 基于µc/os-Ⅱ嵌入式数控系统研制[J]. 北京航空航天大学学报, 2006, 32(4).