1 嵌入式系統(tǒng)
嵌入式系統(tǒng)(Embedded System)是指有特定功能或用途的計(jì)算機(jī)硬,、軟件的集合體,分為嵌入式軟件系統(tǒng)和嵌入式硬件系統(tǒng),。在智能控制設(shè)備,、便攜式智能儀器等應(yīng)用場(chǎng)合,出于對(duì)產(chǎn)品體積,、成本等諸因素的考慮,,往往要求將智能控制部分安裝于設(shè)備內(nèi)部,且占用的空間盡可能小,,在這種情況下,,處理器沒(méi)有一般意義的硬盤,只有有限容量的內(nèi)存及常用的Flash電子盤,,這樣的系統(tǒng)稱為嵌入式系統(tǒng),。嵌入式系統(tǒng)的操作系統(tǒng)和功能軟件集成于計(jì)算機(jī)硬件系統(tǒng)之中,也就是軟件與硬件的一體化,。嵌入式系統(tǒng)目的性或針對(duì)性很強(qiáng),,具有軟件代碼小、高度自動(dòng)化,、響應(yīng)速度快等特點(diǎn),,這也是與通用計(jì)算機(jī)系統(tǒng)的最主要區(qū)別。嵌入式技術(shù)與實(shí)時(shí)性有著必然的聯(lián)系,。
2 從單片機(jī)的應(yīng)用發(fā)展到嵌入式操作系統(tǒng)
嵌入式系統(tǒng)開始于20世紀(jì)80年代單片機(jī)的使用,。單片機(jī)技術(shù)已經(jīng)滲透到各個(gè)領(lǐng)域,且與人們的日常生活密不可分,,給人們生活和工業(yè)生產(chǎn)帶來(lái)極大方便,。單片機(jī)的功能強(qiáng)大,,從信號(hào)采集,、處理到傳輸都能由單片機(jī)來(lái)完成。但是,,隨著網(wǎng)絡(luò)時(shí)代的來(lái)臨,,許多電子設(shè)備需要聯(lián)網(wǎng)和更智能化、更強(qiáng)的計(jì)算能力,,比如音頻,、視頻的數(shù)據(jù)采集,、處理和傳輸;豐富的圖形界面等,。
單片機(jī)越來(lái)越不能滿足應(yīng)用對(duì)象的需求,,開發(fā)工作也變得越來(lái)越復(fù)雜、龐大,。隨著微電子技術(shù)的進(jìn)步,,芯片的制造成本大大降低,而功能卻大大增強(qiáng),,16位和32位的嵌入式微處理器逐漸成為嵌入式系統(tǒng)設(shè)計(jì)的主流,。但是,只有嵌入式微處理器是不夠的,,OEM(原始設(shè)備制造商)還需要有一個(gè)運(yùn)行于嵌入式微處理器上的操作系統(tǒng),。嵌入式操作系統(tǒng)要有良好的可移植性,能夠用在根據(jù)應(yīng)用要求選擇的微處理器中,;軟件開發(fā)工作變得規(guī)范,,容易測(cè)試,可實(shí)現(xiàn)模塊化編程,,同時(shí)由多個(gè)人共同完成1個(gè)任務(wù),;解決已往開發(fā)產(chǎn)品存在的諸多不安全隱患。很多軟件廠商迎合嵌入式系統(tǒng)發(fā)展的需要,,推出了多種不同特點(diǎn)的嵌入式操作系統(tǒng),。例如Microsoft公司的Windows CE、3COM公司的Palm OS,,Symbian公司的EPOC,、中科院凱思集團(tuán)的HOpen以及Linux等。
3 Windows CE 3.0實(shí)時(shí)操作系統(tǒng)及其性能分析
3.1 Windows CE
Windows CE操作系統(tǒng)是微軟為實(shí)現(xiàn)"信息隨手可得"的設(shè)想而努力開發(fā)的成果,。通過(guò) Windows CE,,微軟提供了標(biāo)準(zhǔn)的開放式平臺(tái),極大地減少了硬件制造商(IHV),、軟件開發(fā)商(SHV)以及最終將采納新一代非 PC 技術(shù)解決方案的客戶多方之間的矛盾,。Windows CE是一個(gè)功能強(qiáng)大的開放的32位實(shí)時(shí)嵌入式操作系統(tǒng),適用于快速構(gòu)建新一代內(nèi)存少,、體積小的智能設(shè)備,。例如工業(yè)控制器、手持式設(shè)備,、智能電話,、機(jī)頂盒和零售點(diǎn)設(shè)備等。目前的掌上電腦(PDA),、全球定位系統(tǒng)(GPS),、地理信息系統(tǒng)(GIS),、車載PC(Auto PC),有很多采用Windows CE操作系統(tǒng),。
3.2 Windows CE 3.0性能特點(diǎn)
Windows CE是一個(gè)搶先式多任務(wù)并具有強(qiáng)大通信能力的嵌入式操作系統(tǒng),。它是一個(gè)全新的、可移植的,、實(shí)時(shí)的,、模塊化的操作系統(tǒng),具有流行的微軟程序開發(fā)界面,,提供許多快速開發(fā)嵌入式系統(tǒng)的工具,。
(1) 新內(nèi)核
Windows CE看上去和Windows 9X/NT很像,但它不是這些操作系統(tǒng)的簡(jiǎn)化版,,也不是從這些系統(tǒng)移植過(guò)來(lái)的,。Windows CE具有全新的內(nèi)核和任務(wù)調(diào)度、內(nèi)存管理策略,。
(2) 可移植性
由于Windows CE操作系統(tǒng)幾乎完全是用C語(yǔ)言編寫的,,所以可移植到眾多的32位微處理器上;支持各種處理器家族,,包括x86,、PowerPC、ARM,、MIPS和SH等系列,。微軟為每個(gè)支持的處理器家族提供完整的系統(tǒng)庫(kù)。Windows CE可以通過(guò)OEM適配層OAL(OEM Adaptation Layer)適配到任何硬件平臺(tái),。OAL是駐留在CE內(nèi)核和硬件之間的代碼層,。原始設(shè)備制造商使用這些代碼把CE適配到自己的硬件上。OAL鏈接CE的內(nèi)核和定制的硬件,。
(3) 實(shí)時(shí)性
Windows CE 2.1及其以前的版本實(shí)時(shí)性能不強(qiáng),,但Windows CE 3.0及以后的版本實(shí)時(shí)性能得到明顯改善。Windows CE 3.0的實(shí)時(shí)性能主要通過(guò)以下技術(shù)實(shí)現(xiàn):支持嵌套中斷,,高優(yōu)先級(jí)的中斷并不需要等待低優(yōu)先級(jí)的中斷服務(wù)例程(ISR)完成,;256個(gè)線程優(yōu)先級(jí),可以靈活調(diào)度嵌入式系統(tǒng)的任務(wù),;通過(guò)固定高優(yōu)先級(jí)中斷服務(wù)線程(IST)的最大調(diào)度延遲改善線程響應(yīng)時(shí)間,;使用API函數(shù)CeSetThreadQuantum 和 CeGetThreadQuantum修改操作系統(tǒng)中線程的線程量;中斷服務(wù)子程序的響應(yīng)時(shí)間非常短,;支持信號(hào)量,。在基于Windows CE的參考平臺(tái)上,,使用Hitachi SH3微處理器,,系統(tǒng)可以在2~5μs內(nèi)啟動(dòng)一個(gè)中斷服務(wù)例程(ISR),,在 90~170μs內(nèi)啟動(dòng)相應(yīng)的中斷服務(wù)線程。如果考慮其它因素,,如CPU類型,、時(shí)鐘頻率、總線速度等的影響,,許多實(shí)際的基于Windows CE平臺(tái)的響應(yīng)時(shí)間更短,。
(4) 模塊化
由于存儲(chǔ)器資源在移動(dòng)和嵌入式設(shè)備中非常有限,Windows CE設(shè)計(jì)成一個(gè)模塊化操作系統(tǒng),,設(shè)計(jì)者只需選擇那些需要的模塊以滿足指定平臺(tái)的存儲(chǔ)器要求,。Windows CE的結(jié)構(gòu)如圖1所示,主要包括4個(gè)模塊:內(nèi)核(Kernel),、圖形窗口事件子系統(tǒng)(GWES),、文件系統(tǒng)(Filesys)和通信模塊(Communications)。Kernel負(fù)責(zé)中斷處理,、進(jìn)程和線程管理,、虛擬內(nèi)存管理和其它相關(guān)任務(wù);GWES(Graphics Windowing and Events Subsystem)相當(dāng)于桌面Windows的圖形設(shè)備接口GDI和用戶庫(kù),;Filesys用于永久存儲(chǔ),,包括文件系統(tǒng)、注冊(cè)表和數(shù)據(jù)庫(kù),;Communications模塊負(fù)責(zé)與桌面PC,、其它CE設(shè)備和因特網(wǎng)的互聯(lián)。每個(gè)模塊又分成許多小組件,。裁減Windows CE時(shí),,可以只選擇那些需要的組件。
(5) Win32兼容性
Windows CE采用與Windows 95/NT相同的編程模型,,它的API是Win32 API的一個(gè)子集,,大約有600個(gè)API函數(shù),可以實(shí)現(xiàn)所有的嵌入式應(yīng)用,。CE只支持UNICODE碼,,CE API刪除了Win32 API中包含ANSI字符串參數(shù)的函數(shù)。CE還支持當(dāng)前流行的軟件技術(shù)和運(yùn)行庫(kù),,如MFC(Microsoft Foundation Class),、ATL(Active Template Library)、EVC(Embedded Visual C ),、EVB(Embedded Visual Basic),。Win32的兼容性可以容易地把現(xiàn)成的Windows應(yīng)用程序移植到Windows CE中。目前有許多開發(fā)人員精通Windows編程技術(shù),,他們只需學(xué)習(xí)很少的知識(shí)就可以開發(fā)Windows CE應(yīng)用程序,。
PC機(jī)技術(shù)的發(fā)展必然出現(xiàn)兩極分化:一方面PC機(jī)功能將進(jìn)一步加強(qiáng),,達(dá)到以前工作站和小型機(jī)水平;另一方面,,面向普通消費(fèi)者和特定用途的智能化電子設(shè)備將會(huì)大量涌現(xiàn),。后者將會(huì)普遍采用類似Windows CE的嵌入式操作系統(tǒng)。
4 Windows CE在嵌入式控制系統(tǒng)中的應(yīng)用分析
嵌入式操作系統(tǒng)是一種應(yīng)用廣泛的系統(tǒng)軟件,,工業(yè)控制是它的傳統(tǒng)應(yīng)用領(lǐng)域,,在這一領(lǐng)域里已有一些比較成功的嵌入式操作系統(tǒng)。但是,,隨著應(yīng)用對(duì)象的擴(kuò)大和技術(shù)的進(jìn)步,,實(shí)際應(yīng)用對(duì)工業(yè)控制系統(tǒng)的功能和性能提出了許多新的要求。例如,,適應(yīng)惡劣的工作環(huán)境,,熟悉和友好的用戶界面,統(tǒng)一的編程界面,,強(qiáng)大的通信功能和多媒體功能等,,這些嵌入式操作系統(tǒng)很難滿足工業(yè)應(yīng)用的新需要。由于Windows CE 2.1及以前版本的實(shí)時(shí)性較差,,在工業(yè)控制領(lǐng)域應(yīng)用較少,,主要應(yīng)用在移動(dòng)式(或便攜式)產(chǎn)品和信息家電領(lǐng)域。Windows CE 3.0的出現(xiàn)極大地改善了它的實(shí)時(shí)性能,,為Windows CE進(jìn)入工業(yè)控制領(lǐng)域奠定了基礎(chǔ),。
雖然Windows CE 3.0作為嵌入式系統(tǒng)平臺(tái)在工業(yè)控制領(lǐng)域還未被廣泛采用,但前景非常廣闊,。許多著名的工業(yè)控制器生產(chǎn)商已經(jīng)開發(fā)出基于Windows CE 3.0的工業(yè)控制產(chǎn)品,,如西門子AG公司的多功能操作面板MP系列,Cybectec公司的變電站現(xiàn)代化平臺(tái)SMP(Substation Modernization Platform)等,。工業(yè)控制操作系統(tǒng)需要嚴(yán)格的實(shí)時(shí)處理功能,,高可靠性,良好的開放性,,對(duì)人機(jī)界面,、開發(fā)環(huán)境、可操作性,、成本等也有特別的要求,。
(1) 實(shí)時(shí)性
實(shí)時(shí)性是指能夠在限定時(shí)間內(nèi)執(zhí)行完規(guī)定的功能,并對(duì)外部的異步事件作出反應(yīng)的能力,。實(shí)時(shí)性的強(qiáng)弱以完成規(guī)定功能和作出響應(yīng)時(shí)間的長(zhǎng)短來(lái)衡量,。提高硬件的處理能力可以在一定程度上提高計(jì)算機(jī)控制系統(tǒng)的實(shí)時(shí)性,但是當(dāng)硬件確定以后,控制系統(tǒng)的實(shí)時(shí)性能主要由操作系統(tǒng)來(lái)決定,。無(wú)論從汽車制造到工業(yè)自動(dòng)化,,還是從電子通信到交通運(yùn)輸,Windows CE 3.0均可為具備確定性響應(yīng)能力的應(yīng)用程序提供內(nèi)建實(shí)時(shí)支持,。
(2) 可靠性
工業(yè)控制系統(tǒng)對(duì)可靠性要求很高,,計(jì)算機(jī)控制系統(tǒng)發(fā)生故障或死機(jī)對(duì)于企業(yè)安全高效生產(chǎn)帶來(lái)不利的影響,??煽啃灾饕瑑蓚€(gè)方面的含義:一是控制計(jì)算機(jī)本身要連續(xù)穩(wěn)定運(yùn)行,二是系統(tǒng)檢查出故障后要有保持安全狀態(tài)的能力,。雖然軟硬件抗干擾技術(shù),、熱冗余技術(shù)可以在一定程度上提高工業(yè)控制系統(tǒng)的可靠性,但是操作系統(tǒng)的可靠性仍然影響著工業(yè)控制系統(tǒng)的運(yùn)行,。
穩(wěn)定性方面,,在實(shí)時(shí)控制操作系統(tǒng)中,一般要提供源代碼或者提供許可證,,由控制器生產(chǎn)商來(lái)保證系統(tǒng)的穩(wěn)定性,。控制器生產(chǎn)商根據(jù)應(yīng)用需要定制Windows CE操作系統(tǒng),,經(jīng)過(guò)一段時(shí)間的完善和測(cè)試以后投入使用,。測(cè)試的方式和時(shí)間由生產(chǎn)商確定。通過(guò)這種方式定制的操作系統(tǒng)一般情況下可以穩(wěn)定運(yùn)行,,但微軟公司既沒(méi)有保證Windows CE連續(xù)運(yùn)行的時(shí)間,,也不公開源代碼。從這個(gè)意義上說(shuō),,Windows CE的穩(wěn)定性受到質(zhì)疑,。此外,在工控設(shè)備中,,因?yàn)楫a(chǎn)品缺陷而造成事故,,廠商要承擔(dān)賠償責(zé)任。對(duì)操作系統(tǒng)也一樣,。因此,,微軟對(duì)這一問(wèn)題的態(tài)度,也是Windows CE能否很好地應(yīng)用到工業(yè)控制領(lǐng)域的因素之一,。
從故障角度來(lái)看,,實(shí)時(shí)操作系統(tǒng)在應(yīng)用中是以內(nèi)核模式工作的,應(yīng)用的故障會(huì)立刻造成系統(tǒng)崩潰,。Windows CE內(nèi)核具有內(nèi)存管理功能,,可以檢查出應(yīng)用造成的系統(tǒng)異常,抑制由于應(yīng)用不正常直接破壞系統(tǒng)的危險(xiǎn)性。所以Windows CE比一般的實(shí)時(shí)系統(tǒng)健壯,。
(3) 人機(jī)界面
不同對(duì)象對(duì)工業(yè)控制系統(tǒng)的人機(jī)界面HMI(Human Machine Interface)要求差別很大,。在一般的實(shí)時(shí)嵌入式操作系統(tǒng)中,圖形功能弱,,雖然也有提供圖形庫(kù)的,,但沒(méi)有更強(qiáng)的功能。Window CE 不僅支持圖形和窗口,,具有多媒體功能,,而且還可以利用豐富靈活的控件庫(kù)在Windows CE環(huán)境下為嵌入式應(yīng)用建立各種圖形用戶界面。Windows CE 支持256色,,顯示分辨率可以設(shè)定,,支持觸摸屏。因此,,Windows CE 完全可以滿足工業(yè)控制系統(tǒng)對(duì)人機(jī)界面的要求,。
(4) 開放性
Windows CE具有良好的通信能力,廣泛支持各種通信硬件,、局域網(wǎng)連接以及撥號(hào)連接,,并提供與PC、內(nèi)部網(wǎng)以及Internet的連接,,包括用于應(yīng)用級(jí)數(shù)據(jù)傳輸?shù)脑O(shè)備至設(shè)備間的互連,。Windows CE具有良好的可擴(kuò)展性,用戶可根據(jù)實(shí)際需要定制合適的硬件,,開發(fā)自己的模塊和組件,,集成到運(yùn)行Windows CE的設(shè)備上。