基于Windows+CE+50的嵌入式数控系统实时性研究_图文

发布于:2021-05-14 23:59:25

?6?

工业仪表与自动化装置

2007年第6期

基于Windows

CE 5?0的

嵌入式数控系统实时性研究
陈晓明,王治森,董伯麟,张飞
(合肥工业大学CIMS研究所,安徽合肥230009) 摘要:研究了基于Windows
CE

5.0的嵌入式数控系统的实时性,分析了windows

CE

5.O的中

断响应机制,着重阐述了中断延时中IsR延时和IST延时的测试方法。对于出现延时的原因进行了 深入的分析,同时对开发高性能嵌入式开放性数控系统进行了详细探讨。 关键词:嵌入式数控系统;Windows CE.NET;中断响应;实时性 中图分类号:’rP316.7
Research
on

文献标识码:A

文章编号:1000—0682(2007)06—0006—05

the real-time

pmperty

of

an

embedded CNC system

b嬲ed

on

Windows

CE 5.0

CHEN

Xiao_ming,WANG Zhi-8en,DONG Bo—lin,ZHANG Fei

(伽S瓜t血娩矿脚i Pb枷曲础矾妇H砂,A以越蚴i 230009,吼i∞)
Abstract:This paper deals with reaserch 10ng with
an on

the real.time property of

an

embedded CNC system
an

a. on

analysis of t11e inteITllpt I℃soponse mechanism of Windows CE 5.0 and

investigation

the interTlJpt architecture in Windows CE.The paper also discusses how to handle the interrupt and devel— op


timer—driVer for the embedded CNC control system.The testing method of the ISR and IST delay
as

as

well

its

causes

are

illustrated in the paper.

Key words:embedded CNC system;Windows CE.NET;intemlpt response;real-time property



引言
先进制造技术的发展很大程度上依赖于数控系

就可以实现实时控制。 较好的解决方案是采用高性能的嵌入式操作系 统作为新一代数控系统的*台。其中,Microsoft的
Windows CE 5.0(即2004年推出的windows CE.

统的支撑,而高速、高精度、高实时性的数控系统代 表了数控系统的发展方向。其中,数控系统的实时 响应能力是所有数控系统开发商所追求的主要目标 之一。 当前,国内外的中高档数控系统,绝大多数都采 用以下两种体系结构之一,即NC+PC或PC+运 动控制器。数控系统的主流厂家,如Fanuc、Siemens 等基本上都是采用第一种模式;而第二种模式则是 当前大多数研发开放数控系统的单位采用的模式, 以美国和我国较为普遍。 *年来,一种windows+RTOs实时操作系统的 “双核”数控系统受到了高度关注。它又常常被称 为全软件数控系统,因为它不需要另加运动控制卡
收稿日期:200r7一07一lO 基金项目:国家自然科学基金资助项目(50375043) 作者简介:陈晓明(1983一).男,湖北大冶人。硕士研究生,主要 研究方向为数控技术。

NET)是一个较理想的选择。可以采用最新的.NET 的技术和开发*台,如Visual
Studio.NET

2005等,

因此对开发高性能的嵌人式数控系统提供了强大的 支持。 过去有一些文献对此进行了定性研究【4’5]。该 文研究了windows
cE

5.0嵌入式数控系统的实时
CE

性,将在定量的层面上,研究windows 果。


5.0的实

时性机制和测试及编程方法,并给出定量的实验结

实时性与Windows

CE.NET

Micmsoft公司推出的Windows CE是专门为智 能设备、移动产品、嵌入式应用等非桌面应用而设计 的操作系统。它是采用模块化的开放结构,运行于

保护模式的多线程32位操作系统。它的内存保护
功能可以满足数控系统的高可靠性要求。windows

万   方数据

2007年第6期

工业仪表与自动化装置

?7?

CE是嵌入式实时操作系统,它的独特体系结构和运 行机制使其能够快速响应外部中断要求,及时调度 相关的应用程序进行处理。因此它能很好的满足数 控系统的实时性要求。Microsoft公司*年来新推出 的windows
CE

因此,从外部事件触发到系统响应执行,系统的 延时主要有两个阶段: (1)硬件中断产生到映射ISR并处理,称这个 时间段为ISR延时,如图2中的t。; (2)ISR返回SYSINTR值到IST开始执行,称这 个时间段为IST延时,如图2中的f:。


5.0(即Windows CE.NET的升级

版),是构建于Micmsoft统一的战略*台.NET之上

的具有很好实时性的32位抢先式多任务操作系统,
实时性得到了很大的增强。 值得特别指出的是,cE5.0采用Microsoft统一 的.NET编程模式,它嵌入了Microsoft.NET编程 架构Framework的精简版CompactFramework,可以 利用Visual
Studio

54 I I I





I I


:,
I -1 I I

I I

2005集成开发*台,从而极大的

提高了嵌入式系统的开发速度和水*。



l 叫

Windows
windows

CE

5.O的实时性检测
图2



cE作为一个实时操作系统,其实时性
IsT、ISR延时不意图 CE

主要由整个操作系统的中断体系决定。Micmsoft公 司的中断处理模式就是把硬件中断分成中断服务例

研究Window

5.0的实时性主要是测量出这两

程ISR(Inte删pt Senrice Routine)和中断服务线程 IsT(Inte删pt Service rI’Ilread)两个阶段。ISR仅仅向
Windows操作系统的内核注册中断而不处理;用户 通过IST来处理中断需要完成的任务。用户在任务

个延时。下面就测试方法及实验过程进行详细讨论。 2.1创建基于Windows
CE

5.0的测试*台

为了进行windows CE嵌入式数控系统实时性

的量化研究,首先要搭建专用操作系统*台,即根据
数控的要求定制和配置必要的操作系统功能模块 (它有别于应用系统的功能模块)。windows
CE 5.0

级创建一个事件把IsT和IsR挂起钩来。具体的过
程是,当外部事件触发中断,原始设备适配层 (OAL)就自动调用相应的ISR向内核注册一个中断 标志。内核按用户指定的优先级将其排队,并按一

是一个可剪裁的模块化嵌入式系统,可以生成各种

定的调度算法启动相应的IsT。其过程如图1所示。

固匿憷鲎卜篙
蕾一
图l windows
Windows CE中断处理过程

专用的操作系统。windows cE体系中,*台的搭建 工具是Pla怕劢Builder(简称PB)。该文使用Win—
dows

cE的最新版本windows

CE 5.0,因此,在PB

5.O下创建、裁剪和编译基于windows CE.5.0的数 控系统*台。*台的搭建过程以及测试延时基本过 程如图3所示。

占~呻

cE采用中断加查询策略,即所有硬件

中断都与同一个ISR挂钩,进入IsR之后再采用查 询找出相应的中断源。IsR的查询结果通过中断标 识符(即SYSINTR一木值)返回给操作系统内核。当
ISR返回SYSINTR—RESCHED时,则中断来自系统 自身的调度定时器;当ISR返回值为SYSINTR—RTC

时,则中断来自系统实时钟。当返回值为sYsINTR _X值形式时(每一个硬件中断对应一个x值),该
值返回给内核并适时启动对应的lsT;当返回值为 SYSINTR—NOP,则该中断没有被系统赋予中断标识 符,不需要进一步处理。
图3*台搭建及测试过程流程图

万   方数据

?8?

工业仪表与自动化装置

2007年第6期

2.2测试ISR延时和IST延时 在测试ISR和IST延时之前,先以定时器卡所 产生的中断为例介绍一下windows cE中断机制。 定时器卡触发硬件中断后,中断处理过程由两部分 完成,即定时器中断服务例程(TimeLISR)和定时器 中断服务线程(Timer_IsT)。其中,中断服务线程是 运行在用户态的,也可以包含在驱动程序中;而中断 服务例程运行在windows CE的OAL(OEM
Adopt

()T%、PLATFORM\COMMON\src\x86\COMMON\intr

\下。其主要功能是:当所有中断被映射到这里,fw- pc.c文件中的PeRPISR函数处理这些被映射的中断 并向windows CE操作系统返回逻辑中断的标识符, 同时分辨当前的中断是处理计算器0中断还是RTC (Real
Time

cIock)中断。如果当前中断不是这两种

中断,这里会完成快速验证调用相应的链化的ISR, 并且返回SYSINTR一值。如果系统找不到SYSINrrR一

Layer)中。因此,要测量ISR及IST延时必须先实 现TimeLISR和Timer_IST。 要实现TjmeLISR,可nndows CE的内核模块中提

值映射的hq(Inte删pt ReQuest即中断请求),则用
sYsINTR_NOP作为返回值。任何已注册的IsR事件 都按照返回的SYSINTR一值进行设置。整个PeRPISR 函数处理中断的逻辑结构如图4所示。

供了唧c.c文件,该文件位于目录:%一wINcERO.
从PICGetOurrentIne删pc(PIC)
获取当前碗件中断号




该中断是INTR一

迥絮竺竺兰爹-
+是
史新Os的curMsec保持时间 榆奇确认注册片重新启动
地址(RebootHⅫdler)

一《差要岁
)一

★是

ISR检奇井确认闹钟末到期 (SYSINTR—RTC-ALARM)

<邈羔岁


土星

映射当前硬件中断 (OEMlhnsIateIRQ)

=二]=
———r—
I否
启川除’’前中断以 外的所有中断

调用叶I断链



‘中断被注册到、

j医f咖SYSJNTR—NOP

茎丕
室竺

k适适多
完成中断结束【作.通知 PIC中断已完成(EoI)

盼NKcallIntrchain到 DU值设置为该返|口1值l

从0EMTr柚slateIRQ

图4中断处理流程图

为了测量ISR延时,采用修改fwpc.c文件中的 PeRPISR函数。修改的目的就是PeRPISR函数中如 果当前中断是用户要求响应的中断,提示外部记住 该瞬间时刻。实验中采用第7号中断,即IRQ7(In-

l创建硬件中断事件l

£!!坐呈!!坐.I
皇 创建拄起的定时器中断 TiⅡELJST的具体执行过程

服务线程C佗atelkead

=二二[二=

te咖pt

Request

7)。同时向定时器卡的D00输出口

输高电*,并进行较短的延时便于观察记录。 运行在用户态的Timer-IST是完成用户态的任 务,其运行机制大体分为两个步骤:首先,必须使用 关联事件初始化中断;其次,Timer_IST必须等待中 断事件以响应内核的中断。其Timer-IST的处理过 程及调用的API函数如图5所示。 为了测量出IST延时,在任务级中断处理的等

=二]i
ceSefrh删蹦。一ty
Createlrhread

l设置线栉的优先级I

I创建硬什中断事件l

二二][ 二二]二
任务级完成中断处 理相应的任务 完成中断

等待中断事件

ⅣaitForSingleobjec

=二工二=

Tnte咖DtDOne

l注册中断事件l

恢复f}l断服务线程并开始执行

用户态任务ResumTbread
图5

IsT处理的流程图

待中断事件后面加上相应的代码,当等待到中断事

万   方数据

2007年第6期

工业仪表与自动化装置

?9?

件的时候,提示向TMc一10卡的输出口DOl输出 高电*,同时进行较短的延时,延时时间不应超过定 时器卡输出周期。硬件中断通过TMC—10卡触发,

波形为基准,分两次显示D()o、D01输出波形。

选用TMc—10上的第9通道输出8254的信 号,TMc—10的晶振频率为8 MHz,那么当输出的定
时脉冲产生中断时,调用中断服务例程ISR和中断 服务线程IST进行相应的输出,示波器两次记录结 果及其局部放大如图6所示。

同时,设置中断线程的优先级为5,仅次于系统调度
和系统实时钟,这样测量的延时时间不会受到其他 外部事件的干扰。同时,新型数控系统的许多任务 都是强实时任务,需要较高的优先。 2.3实验结果及延时原因分析 为了便于观察记录延时,把系统中的L/O口中

从windows CE的中断体系结构不难看出,ISR
延迟是从外部产生中断到OAL层(原始设备适配 层)ISR首次执行中间所经历的时间。因此,导致 ISR延时原因有3个:当CPU处于中断关闭状态时, 该中断不会获得响应,这样,关闭中断的总时间是第 一个出现ISR延时的原因;硬件指令开始执行时会 检查是否处理中断。当要处理中断时,调用相应命

的D00、D01口输出的信号输送到二通道示波器
上。同时,也把触发中断TMC—10板中8254的输 出的方波信号输送到示波器上。这样,以8254输出

令移动指令,则会锁定中断,从而导致第二次延时;
第3个延时原因是内核导向ISR处理程序所花费的 时间。因此,ISR延时主要体现在这3个时间花费 上。
windows
(a)测量IsR延时试验结果 上面方波为系统D00输出的波形;下面方波为8254输出口输出波形

CE的体系结构显示:IsT延迟是从中

断发生到执行IST中的第一行代码之间的时间。因 此,导致IST延迟有4个原因:1)ISR延时。这个时

间量在上面已提到,这段时间也被计算到IsT延时
上;2)ISR执行时间。这个时间量是内核执行ISR 所花费的时间,根据共享中断凋用链的长度的不同, 此时间是可变的。对于延迟较小的情况,没有必要 对永远不会被共享的中断调用NKCallIntChain。实 验中,没有中断链调用,这个时间不包括在内;3)操
(b)测量IsT延时试验结果 上面方波为系统DOl输出的波形;下面方波为8254输出f1输出波形

作系统执行内核函数所花费的时间。操作系统在执

行内核函数时会设置一个软件标志,以便让内核函 数知道它此时不能被中断,这个过程仍然调用IsR,
但是用于重新调度操作系统或凋度IsT的返回值将 被延时,直至内核函数完成为止,这个时间段为IST 延时的第3个因素;4)内核调度IST。

3嵌入式数控系统运行的实时性分析
根据嵌入式数控系统操作状态下任务的实时性 强弱,将一些典型的模块进行分类。其典型的任务

大体上分为两类: (1)强实时性任务,这类任务对外部的响应有 很高的实时要求,要求操作系统能及时响应,具体包 括插补计算、位置控制、数据采用、动态显示、PLc管
(c)lsT、IsR延时实验结果的局部放大图 上图为IsT的延时测试结果,延时时间约为8.60炉; 下图为ISR的延时测试结果.延时时间为1.98岬。

理以及硬件故障等。

(2)弱实时性任务,这类任务对外部响应没有 很强的实时要求,主要包括译码、故障诊断以及人机
交互界面等。

图6测试延时结果



万   方数据

?10?

工业仪表与自动化装置

2007年第6期

在强实时性任务当中,有些是具有周期性的,称 这些任务模块为周期实时任务,如位置控制、插补计

过运行在核心态的ISR和用户态的IST两级机制来 完成。运行在用户态的IST有很大的灵活性,能完 成数控系统需求的绝大多数实时任务。

算、动态显示以及数据采样等;有些是突发的、随时
都有可能需要完成的,称这类任务为随机性实时任 务,如工作台的急停、机械限位以及硬件故障等。具 体分类见图7。


4结束语
嵌入式数控系统既要具备强大的功能,同时又 必须具有很高的实时性。其操作系统的构建和开发 *台的选择具有十分重要的意义。Windows
CE 5.0

作为一个典型的嵌人式实时多任务抢占式操作系 统,具有高实时性、模块化的开放结构、保护模式的 多线程机制,特别是基于Microsoft.NET
Compact

Framework*台无关的编程模式等诸多优点,因而 是开发高性能嵌入式开放数控系统的较理想方案。
参考文献: [1] 王治森,高荣,董伯麟,等.新型数控系统研究[J]. 合肥工业大学学报(自然科学版),2005,28(9):97l一
975.

[2]王治森,董伯麟,高荣,等.车间数字化制造模式和 web服务移动控制数控系统研究[J].数字制造科学, 2006,(3):l一30. [3] 图7嵌入式数控系统功能模块实时性分类及调度机制 Windows CE.NET操作系统提供给用户的有内 胡朝斌,王治森,董伯麟,等.基于windows cE的数控 系统的中断机制[J].中国机械工程,2005,16(9):
762.

核态和用户态两种模式,其中IsR内核态是运行在 OAL(原始设备适配层)处。前面为了测试IsR延 时,曾修改了内核态的fwpc.c文件,向其添加了产 生脉冲信号的代码,以便示波器记录。由此给出一 个启示:对于实时性要求特别高的中断请求(这种 中断一般都不会太多,而且完成时间都很短),也可 以采用类似方法来处理,在这里添加代码来完成这 类实时性极强的任务。针对一些周期性实时任务, 如插补计算、伺服控制等,这样做可以更好地满足嵌 入式数控系统实时性要求。对于一般的实时性任

[4]



伟,戴胜华.windows cE实时性能检测和分析

[J].北京交通大学学报,2005,29(5):316. [5] 陈向群,王雷,马洪兵,等.windows cE.NET系统分 析及实验教程[M].北京:机械工业出版社,2003. [6] 周毓林,宁杨,陆贵强,等.windows cE.NET内核定 制及应用开发[M].北京:电子工业出版社,2册5. [7] 张冬泉,谭南林,汪雪梅,等.windows cE实用开发技 术[M].北京:电子工业出版社,2006. [1]
Micmsoft

windows cE.NET Help fmm Microsof【Pla怕咖

Builder Version

5.o[z].May

2004.

[8]

汪兵,李存斌,陈鹏,等.EVc高级编程及其应用 开发[M].北京:中国水利水电出版社。2005.

务,如PcL控制、系统通信等中断请求,仍然可以通

会议消息
全国工业过程测量和控制标准化技术委员会第三分技术委员会2007年度会议暨第四届委员会成立大 会,定于2007年12月7日至2007年12月10日在海南省三亚市召开。 全国工业过程测量和控制标准化技术委员会第三分技术委员会(TCl24/sC3)由国家标准化管理委员会

批准组建,在全国范围内负责压力仪表领域内的标准化技术归口工作。该委员会成立于1988年,2007年正
值第三届届满、第四届成立。参加本次年会的代表为本技术委员会的委员单位和通讯委员单位。会议将进 行第三届委员会5年内的工作总结,同时宣布第四届委员会的组成单位名单,并研讨今后5年委员会的工作 计划及2008年度标准制修订计划。


万   方数据

基于Windows CE 5.0的嵌入式数控系统实时性研究
作者: 作者单位: 刊名: 英文刊名: 年,卷(期): 被引用次数: 陈晓明, 王治森, 董伯麟, 张飞, CHEN Xiao-ming, WANG Zhi-sen, DONG Bo-lin, ZHANG Fei 合肥工业大学CIMS研究所,安徽,合肥,230009 工业仪表与自动化装置 INDUSTRIAL INSTRUMENTATION & AUTOMATION 2007,""(6) 0次

参考文献(9条) 1.王治森.高荣.董伯麟 新型数控系统研究[期刊论文]-合肥工业大学学报(自然科学版) 2005(09) 2.王治森.董伯麟.高荣 车间数字化制造模式和Web服务移动控制数控系统研究 2006(03) 3.胡朝斌.王治森.董伯麟 基于Windows CE的数控系统的中断机制[期刊论文]-中国机械工程 2005(09) 4.黎伟.戴胜华 Windows CE实时性能检测和分析[期刊论文]-北京交通大学学报 2005(05) 5.陈向群.王雷.马洪兵 Windows CE.NET系统分析及实验教程 2003 6.周毓林.宁杨.陆贵强 Windows CE.NET内核定制及应用开发 2005 7.张冬泉.谭南林.汪雪梅 Windows CE实用开发技术 2006 8.Microsoft Windows CE NET Help from Microsoft Platform Builder Version 5.0 2004 9.汪兵.李存斌.陈鹏 EVC高级编程及其应用开发 2005

相似文献(4条) 1.学位论文 陈蔡涛 基于XScale处理器的嵌入式数控系统软硬件技术研究 2006
数控系统的产生和发展一直都与计算机技术密切相关。如何进一步提高数控系统的开放性、实时性、可靠性、集成度与人机交互的友好性,降低成 本与功耗,是新一代数控系统必须考虑的问题。而嵌入式系统正以其此类诸多优点,被越来越广泛地应用于数控系统之中,成为新一代数控系统的发展 方向之一。ARM体系结构的处理器,处理速度快、超低功耗、价格低廉、集成度高。Windows CE.NET嵌入式操作系统以其强大的通信能力、优秀的人机交 互功能、大大提高的实时性、完善的配套开发工具、很好的软件集成度以及对诸多处理器的完美支持,在嵌入式领域得到了广泛的应用。正是基于这些 考虑,本文对采用Xscale处理器和Windows CE.NET操作系统的嵌入式数控系统软硬件相关技术做了一些研究。 论文主要内容包括: 1)从数控系统开发要求入手,对数控系统的软硬件体系结构进行了研究。 2)结合数控系统的进一步开发要求,给出了数控系统硬件*台的嵌入式解决方案,包括处理器、处理器周边的一些模块、数控系统与执行部件的接 口(进给控*涌凇⒅髦峥刂*涌诘龋┮约耙缘テ诵牡哪谥檬絇LC等。 3)分析了Windows CE.NET操作系统的多任务调度机制、中断响应机制、实时性能以及系统模型,并详细介绍了基于硬件*台的操作系统*台创建工 作。 4)给出了在实时操作系统Windows CE.NET下的数控系统应用软件总体设计方案,并介绍了其主要模块外部接口定义、内部实现以及任务间的通信方 案。 5)以前面的研究为基础,做了一些实践开发工作,如内置式PLC以及人机交互系统设计等。 最后,对全文工作做了总结,并根据开发过程中碰到的问题,提出了需要进一步改进和完善的工作内容。

2.学位论文 熊月华 基于Windows CE.net的嵌入式数控系统软件设计 2007
本文对基于Windows CE.net的嵌入式数控系统软件设*辛搜芯俊N恼虏隽斯谕馐叵低车难芯孔纯龊头⒄骨魇疲樯芰似涫谐∏熬啊Mü 与目前流行的基于PC方式的数控系统的对比,确定基于嵌入式微处理器的开放式数控系统的优势,同时研究了Windows CE.net操作系统的发展势头,从 而选定开发基于32位高速ARM9控制器和嵌入式WindowsCE.net操作系统的开放式数控系统。该数控系统是具有可靠、高性能、低功耗、开放的特点,具 有多轴多通道控制能力,完备的数控接口和通用接口,可配套使用真彩色液晶显示器,可连接以太网络通信的一种中高档数控系统。

3.学位论文 孙芒 基于ARM-Windows CE的嵌入式数控系统的研究 2007
当今嵌入式技术的发展突飞猛进,嵌入式系统在很多产业中得到广泛应用并逐步改变着这些产业。嵌入式技术的发展同样也影响到了数控技术的发 展。论文综述了当前开放式数控系统国内外发展现状,并分析了几种主流开放式数控系统体系结构的优缺点,进而提出了利用ARM处理器和Windows CE操 作系统开发一个基于ARM-WinCE嵌入式数控系统的原型系统的想法。 论文论述了如何构建ARM-WinCE数控系统基于S3C2410开发板的硬件*Z口-x和基于Windows CE.Net的软件*台;在ARM微处理器上构建了基于 Windows CE的数控操作系统内核,并利用VIVI Boot Loader把定制的映像加载到S3C2410开发板中去。 本文重点针对ARM处理器芯片,利用流接口驱动程序结构实现了蓝牙串口驱动程序的开发,实现了ARM-WinCE数控系统中机床控制器和移动控制器的 蓝牙通信;研究了如何利用S3C2410处理器的PWM定时器和Windows CE的中断机*惺叵低车氖凳笨刂啤

4.学位论文 张楷 基于XScale处理器的嵌入式数控系统*台研究 2005
本文对基于XScale处理器的嵌入式数控系统*台进行了研究。文章从理论和实践相结合的角度出发,探讨了嵌入式数控系统*台硬件与软件的一些 相关技术,主要涉及的内容包括*台硬件的设计、数控系统接口的设计和*台软件的总体结构设计。从数控系统的基本结构和ARM体系结构的处理器入手 ,研究了Intel Xscale PXA 255处理器的原理及其应用。根据计算机数控系统的相关硬件基本结构,设计了一套数控系统*台的硬件,包括处理器、处 理器周边的一些模块、数控系统与执行部件的接口及其以单片机为核心的内置式PLC。在上述分析的基础上,结合数控中心的一些研究人员先前所提出的 在LINUX下的数控系统软件基本结构,提出了在实时操作系统Windows CE.net下的数控系统软件的总体实现方案及其各个任务模块的划分、功能和各个任 务间的通信方案,并给出几个任务模块的软件接口。

本文链接:http://d.g.wanfangdata.com.cn/Periodical_gyybyzdhzz200706002.aspx 授权使用:西安工程大学(xagc),授权号:634b83ee-895e-4c56-9b27-9e0f00962288 下载时间:2010年10月14日


相关推荐

最新更新

猜你喜欢