|
3.3 實時系統(tǒng)的動態(tài)誤差.
當(dāng)我們研究嵌入式應(yīng)用系統(tǒng)的實時性時,與對象系統(tǒng)相關(guān)的過程,必然是一個動態(tài)過程,否則便不存在實時性問題。對于任何動態(tài)過程,由于時間的滯后,都不可能完成重現(xiàn)原過程,這之間的差異便是動態(tài)過程的動態(tài)誤差。例如,對于一個動態(tài)信號的數(shù)據(jù)進(jìn)行采集時,在時間點t上啟動采集命令,由于要執(zhí)行一系列控制指令,產(chǎn)生Δtm滯后;另外,A/D轉(zhuǎn)換器有一個轉(zhuǎn)換過程,產(chǎn)生Δtc滯后。由于這些時間滯后,致使在時間點t上采集的數(shù)據(jù),實際上是時間點t+Δtm+Δtc上的信號數(shù)據(jù),兩者之差便是系統(tǒng)中數(shù)據(jù)采集的動態(tài)誤差。在A/D轉(zhuǎn)換中,常常會加入一個采樣/保持電路,就是為了在Δtc窗口上,使動態(tài)信號值保持在Δtc的初始時間點上不變,便利信號值的變化只滯后t+Δtm,以減少動態(tài)誤差.
由于系統(tǒng)在動態(tài)過程中控制的滯后,形成了某個任務(wù)環(huán)節(jié)上的動態(tài)誤差,這個動態(tài)誤差在對象系統(tǒng)的具體動態(tài)過程確定后,與動態(tài)過程的變化速率有關(guān)。在對象系統(tǒng)一個具體的動態(tài)過程確定之后,應(yīng)根據(jù)對象動態(tài)過程的變化率和允許的動態(tài)誤差值,估算出系統(tǒng)的允許滯后時間,這一時間就是應(yīng)用系統(tǒng)中實現(xiàn)該動態(tài)過程實時性要求的響應(yīng)時間ta。例如,在某一個動態(tài)電壓信號數(shù)據(jù)采集中,信號的最大變化速率為0.1V/ms,只考慮采集控制滯后的誤差因素時,如該信號電壓給定的誤差應(yīng)為1mV,就可以最粗略地估算出滿足實練數(shù)據(jù)采集任務(wù)的響應(yīng)時間ta要求,ta=1mV/(100mV/1ms)=0.01ms。如果系統(tǒng)的數(shù)據(jù)采集時間耗費(fèi)ts能滿足ts≤ta這一要求,系統(tǒng)就能實現(xiàn)數(shù)據(jù)的實時采集.
4 嵌入式應(yīng)用系統(tǒng)的實時性設(shè)計.
4.1 系統(tǒng)的實時性問題分析.
由于嵌入式系統(tǒng)是嵌入到對象體系中的專用計算機(jī)應(yīng)用系統(tǒng),實現(xiàn)對象體系的智能化控制,因此,都存在著對象體系對控制過程的時間要求,與嵌入式系統(tǒng)能否滿足這一要求的實時性問題。在很多情況下,應(yīng)用系統(tǒng)設(shè)計中沒有涉及實時性設(shè)計,這是因為目前計算機(jī)已有可觀的運(yùn)行速度,在大多數(shù)應(yīng)用系統(tǒng)中,都能滿足T≈ts≤ta,因此,在一般應(yīng)用系統(tǒng)設(shè)計中,實時性設(shè)計并不突出.
通常,由于嵌入式系統(tǒng)實現(xiàn)的是對象系統(tǒng)的全面智能化控制,系統(tǒng)中會有許多相關(guān)的任務(wù)與過程。例如,一個數(shù)據(jù)采集系統(tǒng)不只是要實現(xiàn)對對象系統(tǒng)環(huán)境參數(shù)的采集,還要對采得的信號數(shù)據(jù)進(jìn)行處理,對處理結(jié)果進(jìn)行存儲、顯示,或?qū)崿F(xiàn)對外部環(huán)境的控制輸出,在這些進(jìn)程中,還可能有人工的外界干預(yù)等。因此,一個實時的嵌入式應(yīng)用系統(tǒng),應(yīng)該在所有的過程中都能滿足T≈ts≤ta要求。由于系統(tǒng)中每個過程所要求的響應(yīng)時間ta不同,例如,對對象系統(tǒng)環(huán)境參數(shù)采集時,時間響應(yīng)要求決定于被采集參數(shù)的動態(tài)特性;控制輸出時則取決了被控對象的控制品質(zhì)要求;信號數(shù)據(jù)處理、存儲,雖然表現(xiàn)為快速響應(yīng)的期望要求,但占用了從激勵輸入到響應(yīng)輸出的中間環(huán)節(jié)。對這些環(huán)節(jié)的響應(yīng)時間要求,必須納入相關(guān)的任務(wù)中考慮.
因此,系統(tǒng)的實時性設(shè)計首先體現(xiàn)在應(yīng)用系統(tǒng)總體設(shè)計中,要在總體設(shè)計中列出有實時性要求的任務(wù),以及這些任務(wù)所要求的響應(yīng)時間ta(如果所有任務(wù)的響應(yīng)時間要求都是期望要求,則該應(yīng)用系統(tǒng)不是一個實時的應(yīng)用系統(tǒng)),然后考慮應(yīng)用系統(tǒng)在實現(xiàn)這些任務(wù)時,必須耗費(fèi)的時間ts。如果應(yīng)用系統(tǒng)中所有的任務(wù)過程都能滿足ts≤ta,則該應(yīng)用系統(tǒng)是一個本質(zhì)性實時系統(tǒng)。由于在考慮每個任務(wù)所必須耗費(fèi)的時間ts時,與使用的程序設(shè)計語言(是匯編還是高級語言)、程序應(yīng)用環(huán)境(是否使用操作系統(tǒng))、硬件環(huán)境(時鐘系統(tǒng)、指令系統(tǒng)、CPU時序等)有關(guān),因此本質(zhì)性實時系統(tǒng)的實時性與所系統(tǒng)使用的軟硬件平臺有關(guān).
如果系統(tǒng)中有一些任務(wù)無法滿足ts≤ta要求,則必須進(jìn)行系統(tǒng)的實時性設(shè)計.
4.2 嵌入式系統(tǒng)的實時性設(shè)計.
根據(jù)系統(tǒng)的T≈ts≤ta要求,在一個具體的有實時性要求的應(yīng)用系統(tǒng)中,當(dāng)系統(tǒng)的任務(wù)確定以后,就可以估算出每個任務(wù)的時間響應(yīng)要求ta,在不考慮電路系統(tǒng)的中動態(tài)過程時,嵌入式系統(tǒng)的實時性設(shè)計的中心任務(wù)是通過軟、硬件設(shè)計加快任務(wù)的運(yùn)行過程,以達(dá)到ts≤ta要求。然而,加快系統(tǒng)的運(yùn)行速度全帶來其它問題,應(yīng)在實時性設(shè)計中一并考慮.
嵌入式系統(tǒng)的應(yīng)用領(lǐng)域十分廣泛,并不是所有的應(yīng)用系統(tǒng)都要求是實時系統(tǒng),只有當(dāng)系統(tǒng)中對任務(wù)有嚴(yán)格時間限定時,才有系統(tǒng)的實時性問題。例如,對打印機(jī)這樣一個嵌入式應(yīng)用系統(tǒng),人們并沒有嚴(yán)格的時間限定,只有一個“盡可能快的”期望要求,因此,這樣 的系統(tǒng)不是實時系統(tǒng).
嵌入式系統(tǒng)的實時性設(shè)計通常會有以下幾種情況.
①本質(zhì)性實時系統(tǒng)。在這一類應(yīng)用系統(tǒng)中,系統(tǒng)總體及任務(wù)的時限要求ta都不高,常規(guī)的軟硬件技術(shù)都能滿足ts≤ta要求。因此,這種應(yīng)用系統(tǒng)往往不必要考慮系統(tǒng)的實時性設(shè)計。例如,一個溫度測量系統(tǒng),由于溫度的大慣量特性,滿足一定動態(tài)誤差條件下的溫度采集、數(shù)據(jù)處理、實時顯示與打印的響應(yīng)時間要求ta值很大,不必采取任何特殊的實時設(shè)計方法,就能滿足ts≤ta要求,因此,它是一個本質(zhì)性實時系統(tǒng).
②通過實時性設(shè)計實現(xiàn)的實時系統(tǒng)。這種嵌入式系統(tǒng)在常規(guī)設(shè)計下,無法滿足實時性要求,但通過實時性設(shè)計,可以滿足實時性要求的系統(tǒng)。例如,一個倉儲監(jiān)測系統(tǒng),要巡回監(jiān)測100點的入侵事件。從應(yīng)用要求的可靠性出發(fā),要求系統(tǒng)對于任何一點入侵事件的響應(yīng)速度(ta)不得大于1s;而系統(tǒng)對單個入侵事件的采集、處理、輸出控制的實際激勵-響應(yīng)時間為0.2s。但在常規(guī)的巡回監(jiān)測方式下,對某一點監(jiān)測的時間間隔為ts=0.2×100=20s。ts遠(yuǎn)大于ta,是一個非實時系統(tǒng)。但 這個系統(tǒng)的實時性是可以改變的,如果將每個監(jiān)測點入侵事件的輸入激勵的查詢方式變?yōu)橹袛噍斎敕绞?使某一監(jiān)測點的激勵-響應(yīng)的操作處理時間(ts)降到0.25s以內(nèi),滿足ts≤ta要求,系統(tǒng)能實時地處理任何一個監(jiān)測點上入侵事件,而成為一個實時監(jiān)測系統(tǒng).
③通過實時性設(shè)計實現(xiàn)的系統(tǒng)的任務(wù)實時。在系統(tǒng)有實時要求的情況下,系統(tǒng)能滿足實時性要求時,系統(tǒng)設(shè)計是成功的;但系統(tǒng)不能滿足實時性要求時,我們常常會放棄它。例如,衛(wèi)星發(fā)射時,控制大廳墻面上,顯示衛(wèi)星軌跡的衛(wèi)星運(yùn)行監(jiān)測系統(tǒng),實時地采集衛(wèi)星運(yùn)行參數(shù),經(jīng)處理后,在大屏幕上實時地顯示出來,這是一個實時系統(tǒng)。但是,無法實現(xiàn)衛(wèi)星發(fā)射過程中意外事件的實時顯示。只能當(dāng)衛(wèi)星發(fā)射出現(xiàn)意外事故(如運(yùn)載火箭爆炸)時,出現(xiàn)衛(wèi)星軌跡的中斷。但是,作為彌補(bǔ),我們可以實現(xiàn)一個意外事故的數(shù)據(jù)采集系統(tǒng),高速、實時地采集與存儲火箭運(yùn)行狀態(tài)參數(shù),并在火箭失事瞬間,將數(shù)據(jù)發(fā)回控制中心,實現(xiàn)意外事故監(jiān)測系統(tǒng)中,事故數(shù)據(jù)采集任務(wù)的實時性。對于一個沖擊振動的譜分析系統(tǒng),要求有振動波形的采集、時域信號的頻譜分析、頻譜的圖形顯示等。由于沖擊振動的信號過程時間極短,譜分析處理耗時過多,不可能實現(xiàn)整個系統(tǒng)的實時性(振動頻譜的實時顯示)要求,這時可以考慮將整個系統(tǒng)的操作過程分成一些獨立的部分。例如,將沖擊振動譜分析系統(tǒng)的全部操作分成沖擊振動信號的波形采集、數(shù)據(jù)存儲與波形信號的譜分析及其后續(xù)操作的兩個獨立的部分,實現(xiàn)振動信號采集、存儲關(guān)鍵任務(wù)的實時性要求.
4.3 關(guān)于嵌入式操作系統(tǒng).
在系統(tǒng)的實時性設(shè)計中,核心的問題是降低軟件運(yùn)行時間。除了普遍的提高CPU指令運(yùn)行速度、采用高速I/O口、計數(shù)器的捕獲/比較、多機(jī)并行操作等軟、硬件措施外,就是程序設(shè)計技巧。而在系統(tǒng)程序中使用操作系統(tǒng)支持時,由于操作系統(tǒng)介入操作管理帶來的額外開銷,以及對任務(wù)的靈活調(diào)度管理,成為系統(tǒng)實時性設(shè)計的重要問題.
嵌入式操作系統(tǒng)使用在嵌入式應(yīng)用系統(tǒng)中。與通用操作系統(tǒng)相比,嵌入式操作系統(tǒng)有許多特點,如可靠性、可裁剪性、“實時性”等。前兩者是嵌入式應(yīng)用環(huán)境所要求的。,而“實時性”則是為了滿足系統(tǒng)實時性要求的內(nèi)容。在一些文章中提到某些嵌入式操作系統(tǒng)時,常常冠以“實時操作系統(tǒng)”,但它只是表現(xiàn)為該操作系統(tǒng)具有較好的實時能力。在沒有置身在一個具體嵌入式應(yīng)用系統(tǒng)中時,不存在實時性結(jié)論。不同的嵌入式操作系統(tǒng)比較時,可以有實時能力上的不同。任何一個嵌入式操作系統(tǒng)都應(yīng)有滿足系統(tǒng)實時性設(shè)計的內(nèi)容(表現(xiàn)為任務(wù)的快速調(diào)度、快速運(yùn)行等),實時能力強(qiáng)的嵌入式操作系統(tǒng)能更容易地實現(xiàn)應(yīng)用系統(tǒng)的實時性.
結(jié)語.
嵌入式系統(tǒng)的實時性設(shè)計要根據(jù)具體的系統(tǒng),具體分析、具體設(shè)計,并不是所有的嵌入式系統(tǒng)都有實時性要求。嵌入式系統(tǒng)的實時性與快速性有關(guān),在滿足ts≤ta時并不是越快越好?紤]到系統(tǒng)的功耗及可靠性,應(yīng)在滿足ts≤ta條件下,越慢越好.
隨著嵌入式系統(tǒng)運(yùn)行速度,以及操作系統(tǒng)實時能力的提高,本質(zhì)實時性的應(yīng)用系統(tǒng)會越來越多.
|