WinCE在嵌入式工业控制系统中的应用思考
1 嵌入式系统
嵌入式系统(Embedded System)是指有特定功能或用途的计算机硬、软件的集合体,分为嵌入式软件系统和嵌入式硬件系统。在智能控制设备、便携式智能仪器等应用场合,出于对产品体积、成本等诸因素的考虑,往往要求将智能控制部分安装于设备内部,且占用的空间尽可能小,在这种情况下,处理器没有一般意义的硬盘,只有有限容量的内存及常用的Flash电子盘,这样的系统称为嵌入式系统。嵌入式系统的操作系统和功能软件集成于计算机硬件系统之中,也就是软件与硬件的一体化。嵌入式系统目的性或针对性很强,具有软件代码小、高度自动化、响应速度快等特点,这也是与通用计算机系统的最主要区别。嵌入式技术与实时性有着必然的联系。
2 从单片机的应用发展到嵌入式操作系统
嵌入式系统开始于20世纪80年代单片机的使用。单片机技术已经渗透到各个领域,且与人们的日常生活密不可分,给人们生活和工业生产带来极大方便。单片机的功能强大,从信号采集、处理到传输都能由单片机来完成。但是,随着网络时代的来临,许多电子设备需要联网和更智能化、更强的计算能力,比如音频、视频的数据采集、处理和传输;丰富的图形界面等。
单片机越来越不能满足应用对象的需求,开发工作也变得越来越复杂、庞大。随着微电子技术的进步,芯片的制造成本大大降低,而功能却大大增强,16位和32位的嵌入式微处理器逐渐成为嵌入式系统设计的主流。但是,只有嵌入式微处理器是不够的,OEM(原始设备制造商)还需要有一个运行于嵌入式微处理器上的操作系统。嵌入式操作系统要有良好的可移植性,能够用在根据应用要求选择的微处理器中;软件开发工作变得规范,容易测试,可实现模块化编程,同时由多个人共同完成1个任务;解决已往开发产品存在的诸多不安全隐患。很多软件厂商迎合嵌入式系统发展的需要,推出了多种不同特点的嵌入式操作系统。例如Microsoft公司的Windows CE、3COM公司的Palm OS,Symbian公司的EPOC、中科院凯思集团的HOpen以及Linux等。
3 Windows CE 3.0实时操作系统及其性能分析
3.1 Windows CE
Windows CE操作系统是微软为实现"信息随手可得"的设想而努力开发的成果。通过 Windows CE,微软提供了标准的开放式平台,极大地减少了硬件制造商(IHV)、软件开发商(SHV)以及最终将采纳新一代非 PC 技术解决方案的客户多方之间的矛盾。Windows CE是一个功能强大的开放的32位实时嵌入式操作系统,适用于快速构建新一代内存少、体积小的智能设备。例如工业控制器、手持式设备、智能电话、机顶盒和零售点设备等。目前的掌上电脑(PDA)、全球定位系统(GPS)、地理信息系统(GIS)、车载PC(Auto PC),有很多采用Windows CE操作系统。
3.2 Windows CE 3.0性能特点
Windows CE是一个抢先式多任务并具有强大通信能力的嵌入式操作系统。它是一个全新的、可移植的、实时的、模块化的操作系统,具有流行的微软程序开发界面,提供许多快速开发嵌入式系统的工具。
(1) 新内核
Windows CE看上去和Windows 9X/NT很像,但它不是这些操作系统的简化版,也不是从这些系统移植过来的。Windows CE具有全新的内核和任务调度、内存管理策略。
(2) 可移植性
由于Windows CE操作系统几乎完全是用C语言编写的,所以可移植到众多的32位微处理器上;支持各种处理器家族,包括x86、PowerPC、ARM、MIPS和SH等系列。微软为每个支持的处理器家族提供完整的系统库。Windows CE可以通过OEM适配层OAL(OEM Adaptation Layer)适配到任何硬件平台。OAL是驻留在CE内核和硬件之间的代码层。原始设备制造商使用这些代码把CE适配到自己的硬件上。OAL链接CE的内核和定制的硬件。
(3) 实时性
Windows CE 2.1及其以前的版本实时性能不强,但Windows CE 3.0及以后的版本实时性能得到明显改善。Windows CE 3.0的实时性能主要通过以下技术实现:支持嵌套中断,高优先级的中断并不需要等待低优先级的中断服务例程(ISR)完成;256个线程优先级,可以灵活调度嵌入式系统的任务;通过固定高优先级中断服务线程(IST)的最大调度延迟改善线程响应时间;使用API函数CeSetThreadQuantum 和 CeGetThreadQuantum修改操作系统中线程的线程量;中断服务子程序的响应时间非常短;支持信号量。在基于Windows CE的参考平台上,使用Hitachi SH3微处理器,系统可以在2~5μs内启动一个中断服务例程(ISR),在 90~170μs内启动相应的中断服务线程。如果考虑其它因素,如CPU类型、时钟频率、总线速度等的影响,许多实际的基于Windows
- 如何使WINCE启动时自动运行应用程序(04-11)
- 基于WinCE操作系统的通用USB数控键盘设计(08-05)
- 基于WinCE的ARM视频监控系统(11-14)
- WinCE系统下BootLoader的开发(04-10)
- WinCE下光电编码器的驱动程序设计(04-12)
- WindowsCE.Net下CAN卡的驱动程序设计(04-12)