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的設備上。
(5)開發成本和開發環境
工業控制設備的生產批量小,開發環境所占比重大,所以易用、廉價的開發環境對控制設備生產商十分關鍵。Windows CE的開發成本低,生成和調試工具方便易用。Windows CE Platform Builder 3.0提供了迅速創建Windows CE嵌入式系統需要的全部軟件工具。Platform Builder主要包括Windows CE Add-on Pack(插件包)、各種調試工具及Embedded Visual Tools(由面向嵌入式系統開發而進行優化的Embedded Visual Basic和Embedded Visual C++組成)。
5 結論
到目前為止,工業控制系統中的自動化設備仍然受專用硬件或工業化PC平臺的限制。專用硬件通常十分耐用,并能抗惡劣環境,但是只能用于單一的、特定的用途。雖然工業化PC比專用硬件更具有靈活性,但是由于振動、灰塵、潮濕、高溫以及其它環境問題的影響,工業化PC平臺經常會出現故障和數據丟失。Windows CE操作系統是一個適合下一代互連工業自動化設備的理想小體積嵌入平臺。由于采用MSMQ(Microsoft Message Queuing)這樣的先進應用服務,使Windows CE實現與生產現場IT設施的全面集成成為可能。它還具有很強的實時性能,支持確定性的響應時間控制。Windows CE能從閃存啟動,從而避免了暴露在灰塵、高溫和震動環境下,使它可以適應惡劣的生產環境。基于Windows CE的嵌入式控制系統提供統一的、可伸縮的解決方案,將專用硬件的耐用性與PC的靈活性結合在一起。因此Windows CE在工業控制領域有著很好的應用前景。
評論
查看更多