昵称:烦夫子
类别:界面/平面设计师
年龄:38
现所在地:北京
主页浏览总数:24260
总积分:89
文章数:88
作品数:70
基于ARM和Windows CE的数控切绘机
摘 要:本文介绍了一种基于ARM9微处理器和Windows CE操作系统的高精度数控切绘机的设计。该数控切绘机技术含量高,集计算机数字控制技术、ARM技术、嵌入式操作系统等技术于一体。
第一是部分引言。首先,介绍了数控技术的的现状和发展趋势,然后介绍了本切绘机的特色和创新之处。
第二部分是基于ARM9和Windows CE的嵌入式系统。首先,介绍了基于ARM9和Windows CE的嵌入式系统的组成和特点,然后,介绍了ARM微处理器的应用和特点、Windows CE.NET的发展及其特点、阐明了Windows CE的系统结构,最后,介绍Windows CE.NET的开发工具和操作系统的定制过程。
第三部分是数控切绘机的开发。首先,介绍了数控切绘机的硬件结构,对数控切绘机的任务进行了分析,在此基础上提出了基于ARM9和Windows CE的数控切绘机的软件体系结构。然后介绍了Windows CE的设备驱动程序的特点,重点介绍了I/O访问、Windows CE的中断、译码、插补、电机控制和切绘图形显示、RS-232通讯在数控切绘机的应用。
关键词: 数控切绘机;ARM9;中断;Windows CE.NET;RS-232;插补
数控切绘机的控制软件融合了当今计算机软件技术中的许多先进技术,其中最突出的是多任务并行处理和多重实时中断[16]。
1、任务并行处理
数控切绘机是一个专用的实时多任务控制系统,因此它的系统程序包括管理和控制两重任务。系统的管理包括通信、显示、文件的输入输出以及人机界面管理(参数设置、程序编辑、文件管理等)。这类程序实时性要求不高;系统的控制包括译码、运动控制、速度处理、插补、位置控制、开关量控制等,这类程序的实时性很强。
数控切绘机的基本功能是由图3.2的功能子模块实现的。在多数情况下,数控切绘机要完成数控加工,必须同时进行几个任务的处理,即所谓的并行处理。图2.2是数控切绘机的任务分解图,图3.3是数控切绘机多任务并行处理关系图,其中双箭头表示两者间有并行处理关系。
2、多重实时中断
数控切绘机软件的另一个重要特征是实时中断处理,数控切绘机的多任务性和实时性决定了系统中断成为整个系统必不可少的重要组成部分。数控切绘机的中断管理主要由OS完成,而系统的中断结构决定于系统软件的结构,中断的类型如下:
① 外部中断。外部监控中断(如:紧急停等)和操作面板键盘输入中断。外部监控中断的实时性要求很高,通常把这种中断放在较高的优先级上,而键盘和操作面板输入中断则放在较低的中断优先级上,在有些系统中,甚至用查询的方法来处理键盘和操作面板输入中断;
② 硬件故障中断。它是各种硬件故障检测装置发生的中断,如存储器出错、定时器出错等;
③ 程序性中断。它是程序出现的各种异常情况的报警中断。
Windows CE.NET既是实时操作系统,又是多任务的操作系统。鉴于此,可将数控切绘机的强实时性任务通过触发中断运行,加快执行速度,而将实时性要求不太高,占用CPU时间长的任务放在操作系统的普通线程中运行。通过这种线程与中断结合的模式,达到数控切绘机多任务并行处理的目的[13]。
采用多线程技术来开发数控切绘机软件,除了方便实现控制系统中的许多任务外,还能简化软件的程序结构。基于Windows CE.NET的数控切绘机的运行过程如下:首先建立主控线程,然后调用WinMain函数后显示主界面(内含功能菜单如编辑、自动加工、参数设置、通讯联网),它是系统中的用户界面线程,拥有自己的消息队列,负责接收用户的界面消息。当用户选择其中任何一项菜单时,系统将发送消息至主控线程消息队列中。此外,当自动加工线程启动后,系统还将调度执行其它一些线程如编译指令线程、执行线程和加工显示线程等等。数控切绘机的软件结构如图3.4所示。
Windows CE.NET允许中断嵌套以减少中断延迟。Windows CE.NET处理中断的方式是:把每个硬件的设备中断请求(IRQ)和一个中断服务例程(ISR)联系起来,当一个中断发生并未被屏蔽时,内核调用该中断注册的ISR。ISR的基本职责是引导内核调度和启动合适的IST并在IST里执行相应的任务。