Windows CE在嵌入式工业中的应用思考(1)

  • Windows CE在嵌入式工业中的应用思考(1)

  • http://developer.51cto.com  2009-05-28 13:39  佚名  chinaitlab  我要评论(0)
    随着应用对象的扩大和微电子技术、软件技术的发展,嵌入式系统逐渐从单片机发展到高性能嵌入式微处理器和嵌入式操作系统。本文详细分析Windows CE 3.0的实时性、通用性、模块化、Win32兼容等性能特点。根据工业控制系统对系统平台的一般要求,如实时性、可靠性、图形界面、开发环境和成本等,分析Windows CE在工业控制领域的优缺点,并指出Windows CE在工业控制中有很好的应用前景。
    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 CE平台的响应时间更短。
    (4)  模块化
    由于存储器资源在移动和嵌入式设备中非常有限,Windows CE设计成一个模块化操作系统,设计者只需选择那些需要的模块以满足指定平台的存储器要求。Windows CE的结构如图1所示,主要包括4个模块:内核(Kernel)、图形窗口事件子系统(GWES)、
    文件系统(Filesys)和通信模块(Communications)。Kernel负责中断处理、进程和线程管理、虚拟内存管理和其它相关任务;GWES(Graphics Windowing and Events Subsystem)相当于桌面Windows的图形设备接口GDI和用户库;Filesys用于永久存储,包括文件系统、注册表和数据库;Communications模块负责与桌面PC、其它CE设备和因特网的互联。每个模块又分成许多小组件。裁减Windows CE时,可以只选择那些需要的组件。
    图1  Windows CE的基本结构
    (5)  Win32兼容性
    Windows CE采用与Windows 95/NT相同的编程模型,它的API是Win32 API的一个子集,大约有600个API函数,可以实现所有的嵌入式应用。CE只支持UNICODE码,CE API删除了Win32 API中包含ANSI字符串参数的函数。CE还支持当前流行的软件技术和运行库,如MFC(Microsoft Foundation Class)、ATL(Active Template Library)、EVC(Embedded Visual C++)、EVB(Embedded Visual Basic)。Win32的兼容性可以容易地把现成的Windows应用程序移植到Windows CE中。目前有许多开发人员精通Windows编程技术,他们只需学习很少的知识就可以开发Windows CE应用程序。
    PC机技术的发展必然出现两极分化:一方面PC机功能将进一步加强,达到以前工作站和小型机水平;另一方面,面向普通消费者和特定用途的智能化电子设备将会大量涌现。后者将会普遍采用类似Windows CE的嵌入式操作系统。

你可能感兴趣的:(windows,嵌入式,思考,应用,工业)