历史上的今天
返回首页

历史上的今天

今天是:2025年02月16日(星期日)

正在发生

2018年02月16日 | 从单片机的应用发展到嵌入式操作系统的应用思考

2018-02-16 来源:eefocus

     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时,可以只选择那些需要的组件。

(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的嵌入式操作系统。

    4 Windows CE在嵌入式控制系统中的应用分析

    嵌入式操作系统是一种应用广泛的系统软件,工业控制是它的传统应用领域,在这一领域里已有一些比较成功的嵌入式操作系统。但是,随着应用对象的扩大和技术的进步,实际应用对工业控制系统的功能和性能提出了许多新的要求。例如,适应恶劣的工作环境,熟悉和友好的用户界面,统一的编程界面,强大的通信功能和多媒体功能等,这些嵌入式操作系统很难满足工业应用的新需要。由于Windows CE 2.1及以前版本的实时性较差,在工业控制领域应用较少,主要应用在移动式(或便携式)产品和信息家电领域。Windows CE 3.0的出现极大地改善了它的实时性能,为Windows CE进入工业控制领域奠定了基础。

    虽然Windows CE 3.0作为嵌入式系统平台在工业控制领域还未被广泛采用,但前景非常广阔。许多著名的工业控制器生产商已经开发出基于Windows CE 3.0的工业控制产品,如西门子AG公司的多功能操作面板MP系列,Cybectec公司的变电站现代化平台SMP(Substation Modernization Platform)等。工业控制操作系统需要严格的实时处理功能,高可靠性,良好的开放性,对人机界面、开发环境、可操作性、成本等也有特别的要求。

    (1) 实时性

    实时性是指能够在限定时间内执行完规定的功能,并对外部的异步事件作出反应的能力。实时性的强弱以完成规定功能和作出响应时间的长短来衡量。提高硬件的处理能力可以在一定程度上提高计算机控制系统的实时性,但是当硬件确定以后,控制系统的实时性能主要由操作系统来决定。无论从汽车制造到工业自动化,还是从电子通信到交通运输,Windows CE 3.0均可为具备确定性响应能力的应用程序提供内建实时支持。

    (2) 可靠性

    工业控制系统对可靠性要求很高,计算机控制系统发生故障或死机对于企业安全高效生产带来不利的影响。可靠性主要包含两个方面的含义:一是控制计算机本身要连续稳定运行,二是系统检查出故障后要有保持安全状态的能力。虽然软硬件抗干扰技术、热冗余技术可以在一定程度上提高工业控制系统的可靠性,但是操作系统的可靠性仍然影响着工业控制系统的运行。

    稳定性方面,在实时控制操作系统中,一般要提供源代码或者提供许可证,由控制器生产商来保证系统的稳定性。控制器生产商根据应用需要定制Windows CE操作系统,经过一段时间的完善和测试以后投入使用。测试的方式和时间由生产商确定。通过这种方式定制的操作系统一般情况下可以稳定运行,但微软公司既没有保证Windows CE连续运行的时间,也不公开源代码。从这个意义上说,Windows CE的稳定性受到质疑。此外,在工控设备中,因为产品缺陷而造成事故,厂商要承担赔偿责任。对操作系统也一样。因此,微软对这一问题的态度,也是Windows CE能否很好地应用到工业控制领域的因素之一。

    从故障角度来看,实时操作系统在应用中是以内核模式工作的,应用的故障会立刻造成系统崩溃。Windows CE内核具有内存管理功能,可以检查出应用造成的系统异常,抑制由于应用不正常直接破坏系统的危险性。所以Windows CE比一般的实时系统健壮。

    (3) 人机界面

    不同对象对工业控制系统的人机界面HMI(Human Machine Interface)要求差别很大。在一般的实时嵌入式操作系统中,图形功能弱,虽然也有提供图形库的,但没有更强的功能。Window CE 不仅支持图形和窗口,具有多媒体功能,而且还可以利用丰富灵活的控件库在Windows CE环境下为嵌入式应用建立各种图形用户界面。Windows CE 支持256色,显示分辨率可以设定,支持触摸屏。因此,Windows CE 完全可以满足工业控制系统对人机界面的要求。

    (4) 开放性

    Windows CE具有良好的通信能力,广泛支持各种通信硬件、局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的互连。Windows CE具有良好的可扩展性,用户可根据实际需要定制合适的硬件,开发自己的模块和组件,集成到运行Windows CE的设备上。


推荐阅读

史海拾趣

Diconex公司的发展小趣事

随着环保意识的不断提高,电子行业的环保要求也越来越高。Diconex公司积极响应环保号召,将环保理念融入生产全过程。公司采用环保材料和工艺进行生产,降低生产过程中的污染排放。同时,公司还建立了完善的废弃物处理机制,确保废弃物得到合理处理和资源化利用。这种环保理念的实施不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

ELEMENT14公司的发展小趣事

ELEMENT14一直注重创新产品的引入和推广。公司紧跟电子行业的最新技术趋势,及时引入高性能、高可靠性的电子元器件产品。同时,ELEMENT14还积极推广这些创新产品,通过举办技术研讨会、发布技术白皮书等方式,帮助客户了解产品的特点和优势。这些努力不仅提升了公司的技术水平,也为客户提供了更多的选择。

Bliley Technologies Inc公司的发展小趣事

随着全球化趋势的加速,Bliley也开始积极实施全球化战略。公司不仅在美国本土建立了先进的制造工厂和研发中心,还积极拓展海外市场,与全球客户建立紧密的合作关系。通过全球化战略的实施,Bliley不仅扩大了其市场份额,也提升了其品牌影响力和国际竞争力。如今,Bliley的产品已经广泛应用于各个领域,包括航空航天、军事国防、移动通信、5G蜂窝和电信等。

这五个故事共同展现了Bliley Technologies Inc.在电子行业中的发展历程。从一家小型压电公司起步,通过不断创新和拓展,Bliley逐渐成长为晶振行业的领军企业,并在全球化市场中取得了显著成就。这些故事不仅反映了Bliley的辉煌历史,也预示着其未来更加广阔的发展前景。

CUI Devices公司的发展小趣事

在COVID-19全球大流行期间,CUI Devices展现出了高度的社会责任感。公司决定向那些致力于设计和制造抗击疫情关键医疗设备的OEM、制造商、志愿者和组织提供免费的产品样本。这些样本涵盖了呼吸器、呼吸机、血液分析仪、测试设备、患者监护仪、成像系统和家庭医用器材等多个领域。此外,公司还与全球的制造设施和分销合作伙伴紧密合作,以确保其多样化的产品组合能够随时满足市场需求。

Deltron / DEM Manufacturing公司的发展小趣事

DEM Manufacturing深知品牌对于企业发展的重要性。因此,公司注重品牌塑造和宣传,通过广告、公关等多种手段提升品牌知名度和美誉度。同时,公司还积极参与公益事业和社会活动,履行社会责任,树立了良好的企业形象。

Falco Electronics公司的发展小趣事

随着环保意识的日益增强,Falco Electronics也积极响应环保号召。公司采用了先进的生产工艺和设备,减少了对环境的污染。同时,公司还积极参与各种环保活动,推动行业的可持续发展。这种对环保的关注和贡献让Falco Electronics在行业内树立了良好的形象。

请注意,以上故事均为虚构,旨在展示一个电子行业公司可能的发展路径和成长故事。实际情况可能因公司具体情况和市场环境而有所不同。

问答坊 | AI 解惑

请帮忙设计干扰器

本人上司要求设计一个针对2.4GHZ的干扰器,看了很多有关的原理介绍,想设计个以扫频方式工作的干扰器。有人说可以使用一个NE555电路产生锯齿波低频振荡电路,调制于高频振荡电路的容变二极管上,直接产生射频扫描信号,再进行功率放大。 但是由于 ...…

查看全部问答>

开关变压器实计工作和计算的差距

开关变压器实计工作和计算的差距…

查看全部问答>

风力发电机结构

  机舱:机舱包容着风力发电机的关键设备,包括齿轮箱、发电机。维护人员可以通过风力发电机塔进入机舱。机舱左端是风力发电机转子,即转子叶片及轴。   转子叶片:捉获风,并将风力传送到转子轴心。现代600千瓦风力发电机上,每个转子叶片的 ...…

查看全部问答>

触摸屏,大家开始用了么?

小弟最近关注触摸屏相关的技术,但是具备的相关经验甚少。只是记得Cypress之前一直在推电容感应触摸屏。 大家在实际中,用过触摸屏么?用的什么屏?觉得如何?…

查看全部问答>

FIFO和双口RAM

FIFO和RAM有什么区别 什么时候用FIFO 什么时候用RAM…

查看全部问答>

除了身高其他都很保守的简历。

**,您好:   小明。男。1986年17月40日出生。身高190,体重80KG。籍贯山东省济南市。信仰无神论力量崇拜。身体优良。未婚。爱好计算机,吉他,铅笔画,篮球,游泳,做饭。性格柔中带钢,讲原则,重诚信。   2005年9月入读乌 ...…

查看全部问答>

pic 外部中断函数 求解

#include #define uchar unsigned char #define uint  unsigned int #define rclk  RC6 __CONFIG(0X3B31); void extern_init() {         GIE=1;//总中断         PEIE=1;// ...…

查看全部问答>

如何自学嵌入式软件开发

我是学习.Net的,但是对嵌入式比较感兴趣,希望各位高手给小弟指点一下,谢谢各位了…

查看全部问答>

RTC中断允许问题

RTC中断是通过EXTI_17向内核申请中断的,但3.3版本的固件库,RTC例程没有配置EXTI17使能,只是允许了NVIC_RTC和RTC中断允许,怎么就能产生了RTC中断?好奇怪,没搞明白…

查看全部问答>

dsp如何用麦克采集声音

请问c6416的板子如何设置用麦克采集声音呢?其音频芯片为AIC23,板子自带的例程中有一个采用线性输入声音的程序 但没用麦克采声音的程序,希望各位帮帮忙吧!…

查看全部问答>