嵌入式系統實時性的問題
如果系統中有一些任務無法滿足ts≤ta要求,則必須進行系統的實時性設計。
根據系統的T≈ts≤ta要求,在一個具體的有實時性要求的應用系統中,當系統的任務確定以后,就可以估算出每個任務的時間響應要求ta,在不考慮電路系統中的動態過程時,嵌入式系統的實時性設計的中心任務是通過軟、硬件設計來加快任務的運行過程,以達到ts≤ta要求。然而,加快系統的運行速度會帶來其它問題,應在實時性設計中一并考慮。
嵌入式系統的應用領域十分廣泛,并不是所有的應用系統都要求是實時系統,只有當系統中對任務有嚴格時間限定時,才有系統的實時性問題。例如,對打印機這樣一個嵌入式應用系統,人們并沒有嚴格的時間限定,只有一個“盡可能快的”期望要求,因此,這樣的系統不是實時系統。
嵌入式系統的實時性設計通常會有以下幾種情況。
① 本質性實時系統。在這一類應用系統中,系統總體及任務的時限要求ta都不高,常規的軟硬件技術都能滿足ts≤ta要求。因此,這種應用系統往往不必要考慮系統的實時性設計。例如,一個溫度測量系統,由于溫度的大慣量特性,滿足一定動態誤差條件下的溫度采集、數據處理、實時顯示與打印的響應時間要求ta值很大,不必采取任何特殊的實時設計方法,就能滿足ts≤ta要求,因此,它是一個本質性實時系統,
② 通過實時性設計實現的實時系統。這種嵌入式系統在常規設計下,無法滿足實時性要求,但通過實時性設計,可以滿足實時性要求的系統。例如,一個倉儲監測系統,要巡回監測100點的入侵事件。從應用要求的可靠性出發,要求系統對于任何一點入侵事件的響應速度(ta)不得大于1s;而系統對單個入侵事件的采集、處理、輸出控制的實際激勵-響應時間為0.2s。但在常規的巡回監測方式下,對某一點監測的時間間隔為ts=0.2×100=20s。ts遠大于 ta,是一個非實時系統。但這個系統的實時性是可以改變的,如果將每個監測點入侵事件的輸入激勵的查詢方式變為中斷輸入方式,使某一監測點的激勵-響應的操作處理時間(ts)降到0.25s以內,滿足ts≤ta要求,系統能實時地處理任何一個監測點上入侵事件,而成為一個實時監測系統。
③ 通過實時性設計實現的系統的任務實時。在系統有實時性要求的情況下,系統能滿足實時性要求時,系統設計是成功的;但系統不能滿足實時性要求時,我們常常會放棄它。例如,衛星發射時,控制大廳墻面上,顯示衛星軌跡的衛星運行監測系統,實時地采集衛星運行參數,經處理后,在大屏幕上實時地顯示出來,這是一個實時系統。但是,無法實現衛星發射過程中意外事件的實時顯示。只能當衛星發射出現意外事故(如運載火箭爆炸)時,出現衛星軌跡的中斷。但是,作為彌補,我們可以實現一個意外事故的數據采集系統,高速、實時地采集與存儲火箭運行狀態參數,并在火箭失事瞬間,將數據發回控制中心,實現意外事故監測系統中,事故數據采集任務的實時性。對于一個沖擊振動的譜分析系統,要求有振動波形的采集、時域信號的頻譜分析、頻譜的圖形顯示等。由于沖擊振動的信號過程時間極短,譜分析處理耗時過多,不可能實現整個系統的實時性(振動頻譜的實時顯示)要求,這時可以考慮將整個系統的操作過程分成一些獨立的部分。例如,將沖擊振動譜分析系統的全部操作分成沖擊振動信號的波形采集、數據存儲與波形信號的譜分析及其后續操作的兩個獨立部分,實現振動信號采集、存儲關鍵任務的實時性要求。
4.3 關于嵌入式操作系統
在系統的實時性設計中,核心的問題是降低軟件運行時間。除了普遍的提高CPU指令運行速度、采用高速 I/O口、計數器的捕獲/比較、多機并行操作等軟、硬件措施外,就是程序設計技巧。而在系統程序中使用操作系統支持時,由于操作系統介入操作管理帶來的額外開銷,以及對任務的靈活調度管理,成為系統實時性設計的重要問題。
嵌入式操作系統使用在嵌入式應用系統中。與通用操作系統相比,嵌入式操作系統有許多特點,如可靠性、可裁剪性、“實時性”等。前兩者是嵌入式應用環境所要求的,而“實時性”則是為了滿足系統實時性要求的內容。在一些文章中提到某些嵌入式操作系統時,常常冠以“實時操作系統”,但它只是表現為該操作系統具有較好的實時能力。在沒有置身在一個具體嵌入式應用系統中時,不存在實時性結論。不同的嵌入式操作系統比較時,可以有實時能力上的不同。任何一個嵌入式操作系統都應有滿足系統實時性設計的內容(表現為任務的快速調度、快速運行等),實時能力強的嵌入式操作系統能更容易地實現應用系統的實時性。
結 語
嵌入式系統的實時性設計要根據具體的系統,具體分析、具體設計,并不是所有的嵌入式系統都有實時性要求。嵌入式系統的實時性與快速性有關,在滿足ts≤ta時并不是越快越好。考慮到系統的功耗及可靠性,應在滿足ts≤ta條件下,越慢越好。
評論