本篇我想討論一下Windows Embedded嵌入式系統(tǒng)的軟肋——“實(shí)時(shí)性”。就在Windows Embedded這個(gè)系列博文的前兩篇刊登之后反響很大,很多控友都來(lái)跟我討論Windows Embedded在工控行業(yè)是否真具備優(yōu)良的嵌入式開(kāi)發(fā)平臺(tái)特性,但是對(duì)此指出最多的就是質(zhì)疑Windows Embedded的實(shí)時(shí)性。
關(guān)于嵌入式系統(tǒng)的實(shí)時(shí)性,不是大家邊緣模糊認(rèn)為地那種越快越好。實(shí)時(shí)性最主要是在規(guī)定的時(shí)間內(nèi)完成規(guī)定的內(nèi)容,也就是說(shuō)只要是任務(wù)時(shí)間規(guī)定的情況下越慢越好,也就是越穩(wěn)定CPU的閑置時(shí)間越多。從嵌入式系統(tǒng)實(shí)時(shí)性來(lái)說(shuō),分為硬實(shí)時(shí)和準(zhǔn)實(shí)時(shí)。硬實(shí)時(shí)是指從內(nèi)核針對(duì)實(shí)時(shí)系統(tǒng)設(shè)計(jì)發(fā)展而來(lái),從驅(qū)動(dòng)到接口再到內(nèi)存訪問(wèn)都是為內(nèi)核系統(tǒng)而設(shè)計(jì);準(zhǔn)實(shí)時(shí)是指內(nèi)核不是實(shí)時(shí)系統(tǒng)而是針對(duì)實(shí)時(shí)系統(tǒng)需求而獨(dú)立剪裁和封裝設(shè)計(jì)而成。硬實(shí)時(shí)系統(tǒng)的代表就是風(fēng)河vXworks這種系統(tǒng),主要是針對(duì)航天、軍工等需要極其苛刻的實(shí)時(shí)性系統(tǒng)來(lái)滿足系統(tǒng)需求。例如飛機(jī)上的黑匣子用于記錄飛機(jī)故障一瞬間的飛機(jī)故障數(shù)據(jù)。準(zhǔn)實(shí)時(shí)系統(tǒng)的代表就是微軟Windows Embedded,主要是用于工業(yè)自動(dòng)化中的過(guò)程控制方面。其實(shí)硬實(shí)時(shí)和準(zhǔn)實(shí)時(shí)主要區(qū)別在于任務(wù)調(diào)度的測(cè)略,硬實(shí)時(shí)主要是采用單一比率調(diào)度算法(RMS)和最早期限優(yōu)先算法(EDF)結(jié)合方式,而準(zhǔn)實(shí)時(shí)是采用搶占式和時(shí)間片混合方式。
控友就是一直在問(wèn)我微軟的Windows Embedded到底性能如何?是不是真可以滿足用戶的實(shí)時(shí)性要求?那我就在這里給大家介紹一下微軟的實(shí)時(shí)性(數(shù)據(jù)參考南京大學(xué)一個(gè)測(cè)試表)。
首先介紹實(shí)時(shí)性的幾個(gè)關(guān)鍵性指標(biāo):
1、系統(tǒng)調(diào)用平均運(yùn)行時(shí)間
即系統(tǒng)調(diào)用效率,是指內(nèi)核執(zhí)行常用的系統(tǒng)調(diào)用所需的平均時(shí)間。
2、任務(wù)切換時(shí)間
任務(wù)切換時(shí)間是指事件引發(fā)切換后,從當(dāng)前任務(wù)停止運(yùn)行、保存運(yùn)行狀態(tài)(CPU寄存器內(nèi)容),到裝入下一個(gè)將要運(yùn)行的任務(wù)狀態(tài)、開(kāi)始運(yùn)行的時(shí)間間隔,如圖1所示。


3、任務(wù)搶占時(shí)間
任務(wù)搶占時(shí)間是高優(yōu)先級(jí)的任務(wù)從正在運(yùn)行的低優(yōu)先級(jí)任務(wù)中獲得系統(tǒng)控制權(quán)所消耗的時(shí)間,如圖2所示。


4、信號(hào)量混洗時(shí)間
信號(hào)量混洗時(shí)間指從一個(gè)任務(wù)釋放信號(hào)量到另一個(gè)等待該信號(hào)量的任務(wù)被激活的時(shí)間延遲,如圖3所示。


5、中斷響應(yīng)時(shí)間
中斷響應(yīng)時(shí)間是指從中斷發(fā)生到開(kāi)始執(zhí)行用戶的中斷服務(wù)程序代碼來(lái)處理該中斷的時(shí)間。
測(cè)試平臺(tái):
下面列出的是平臺(tái)中主要的硬件型號(hào)與種類。
◇ CPU:XScale (400 Hz)。
◇ 時(shí)鐘:HT1381。
◇ ROM:1 MB AMD。
◇ SDRAM:64 MB。
◇ Flash:32 MB。
測(cè)試結(jié)果:
|
系統(tǒng)調(diào)用時(shí)間 ms
|
任務(wù)切換時(shí)間 ms
|
任務(wù)搶占時(shí)間 ms
|
信號(hào)量混洗時(shí)間 ms
|
中斷響應(yīng)時(shí)間 ms
|
|
|
Window CE
|
4.54
|
52.70
|
64.48
|
60.29
|
2.80
|
通過(guò)上面測(cè)試結(jié)果可以得知,Windows Embedded的實(shí)時(shí)性參數(shù),如果用戶采用高性能的硬件體系實(shí)時(shí)性能會(huì)大幅提高,也就是說(shuō)只要你所設(shè)計(jì)的系統(tǒng)可以接受這樣的參數(shù)就不用再擔(dān)心了,我個(gè)人為這樣的嵌入式平臺(tái)非常適合開(kāi)發(fā)過(guò)程控制產(chǎn)品,例如:溫度控制器,巡檢儀,HMI,PAC,DCS,智能閥門(mén)等。
我想我講到這里控友門(mén)該明白嵌入式系統(tǒng)的實(shí)時(shí)性是從何而來(lái)又該如何有效地設(shè)計(jì)和應(yīng)用了吧!物盡其用,因地制宜其實(shí)最適用嵌入式平臺(tái)的選用,如果你要開(kāi)發(fā)頻譜儀最好選用vXworks這樣的系統(tǒng),如果你要開(kāi)發(fā)常規(guī)的工業(yè)控制產(chǎn)品Windows Embedded平臺(tái)應(yīng)該是你最好的選擇!









