嵌入式系統(tǒng)的實時性問題
關(guān)鍵詞:嵌入式系統(tǒng) 實時性 快速性 操作系統(tǒng)
隨著后PC時代以及網(wǎng)絡(luò)、通信技術(shù)時代的到來,大量的計算機專業(yè)人員進入了嵌入式應(yīng)用領(lǐng)域;然而,有大量的嵌入式系統(tǒng)應(yīng)用是以單片機的形式,應(yīng)用在傳統(tǒng)的電子技術(shù)領(lǐng)域中。因此,以計算機領(lǐng)域人員為主體的,遠離對象系統(tǒng)的嵌入式系統(tǒng)的計算機工程應(yīng)用模式,和以電子技術(shù)領(lǐng)域人員為主體,與對象系統(tǒng)緊耦合的電子技術(shù)應(yīng)用模式產(chǎn)生了概念上的碰撞。許多電子技術(shù)應(yīng)用模式熟視無睹、習以為常的概念,在計算機工程應(yīng)用領(lǐng)域中作為一個新概念提出時,常常使電子技術(shù)應(yīng)用領(lǐng)域中的人員感到莫明其妙。以前的“嵌入式系統(tǒng)”概念是其一,而今“嵌入式系統(tǒng)的實時性”又是一例。
1 什么是電子系統(tǒng)的實時性
任何一個電子系統(tǒng)都可看成是一個激勵-響應(yīng)系統(tǒng)。每個特定的電子系統(tǒng)都有一個從激勵輸入到響應(yīng)輸出的時間,即激勵-響應(yīng)周期T,它表現(xiàn)為系統(tǒng)的響應(yīng)能力。如果系統(tǒng)的響應(yīng)能力T能滿足嵌入對象所規(guī)定的響應(yīng)時間ta要求,即T≤ta,這個系統(tǒng)便是實時的電子系統(tǒng)。
那末,什么是嵌入對象所要求的響應(yīng)時間ta呢?通常,不論哪一種電子系統(tǒng),實現(xiàn)對象體系的控制管理要求,這些控制管理通常都會有一定的時間限制。例如,一個振動監(jiān)測系統(tǒng),對振動波形的檢測周期必須滿足采樣定理要求;飲料生產(chǎn)線上的計量、饈控制系統(tǒng),必須在一個工位的移動周期里完成秤量、封口的控制輸出;對于超市中使用的電子秤,在秤量時,希望能立即顯示出重量和計價金額;我們?nèi)粘J褂玫挠嬎銠C,在敲擊鍵盤時,也要求在顯示屏上快速地出現(xiàn)鍵盤輸入結(jié)果。因此,幾乎所有的電子系統(tǒng)都有一個客觀的響應(yīng)時間ta要求。這就電子系統(tǒng)普遍存在的實時性問題,即要求T≤ta。
2 三類電子應(yīng)用系統(tǒng)的實時性
ta是電子系統(tǒng)具體應(yīng)用時,客觀應(yīng)用環(huán)境提出的具體響應(yīng)時間要求;不同類型電子系統(tǒng)的激勵-響應(yīng)時間T的不同,形成不同的實時性問題。我們可以按不同的激勵-響應(yīng)時間T的特點,將電子系統(tǒng)分為經(jīng)典電子系統(tǒng)、通用計算機系統(tǒng)與嵌入式系統(tǒng),來討論不同類型的電子應(yīng)用系統(tǒng)不同的實時性特點。
①經(jīng)典電子系統(tǒng):不含計算機的純電子電路系統(tǒng),例如,測量放大器、電子計數(shù)器、溫度指示器(由ADC、譯碼器、LED顯示器構(gòu)成)等,電路的動態(tài)特性決定了系統(tǒng)響應(yīng)能力T的大小。經(jīng)典電子系統(tǒng)是一個激勵-響應(yīng)系統(tǒng),從激勵到響應(yīng)的時間完全取決于電子在電路中的運動過程,因而,它具有極短的、相對固定不變的,從激勵到響應(yīng)的時間周期T。在大多數(shù)經(jīng)典電子應(yīng)用系統(tǒng)中,由電路的動態(tài)特性決定了T值的大小。一般情況下,應(yīng)用系統(tǒng)的T遠小于嵌入對象系統(tǒng)的響應(yīng)(ta)要求,因此,在經(jīng)典電子應(yīng)用領(lǐng)域中,應(yīng)用工程師的頭腦中沒有“實時性”名詞的概念,而對一些極快速響應(yīng)要求的應(yīng)用系統(tǒng),如振動測量系統(tǒng),它的實時性要求常常反映為電路系統(tǒng)的“頻率響應(yīng)”要求。
②通用計算機系統(tǒng):是一個人機交互的激勵-運行-響應(yīng)系統(tǒng)。它的激勵-響應(yīng)時間T表現(xiàn)為電路系統(tǒng)的激勵-響應(yīng)時間tc與軟件運行時間ts,而電路系統(tǒng)的激勵-響應(yīng)時間與軟件運行時間相比為高階小量,因而軟件運行時間形成了T的主要成份,T=tc+ts≈ts。由于通用計算機系統(tǒng)只使用在人機交互環(huán)境中,對象(人)提出的響應(yīng)時間ta要求,只是一個期望值(盡量快),而這種欲望一方面表現(xiàn)為永無止盡,另一方面又表現(xiàn)出現(xiàn)實的可容忍性。因此,通用計算機系統(tǒng)是一個非實時的電子系統(tǒng),而快速性成為通用計算機系統(tǒng)發(fā)展的永恒主題。
③嵌入式系統(tǒng):由于計算機的嵌入,嵌入式系統(tǒng)也是一個激勵-運行-響應(yīng)的電子系統(tǒng)。但是,它與嵌入對象體系交互時,要滿足事件交互過程的響應(yīng)要求。一方面,由于計算機的嵌入,嵌入式應(yīng)用系統(tǒng)有十分可觀的激勵-響應(yīng)時間ts,導致系統(tǒng)實時能力的降低;另一方面,由于嵌入對象體系的多樣性、復雜性,不同的對象體系會提出不同的響應(yīng)時間ta要求。因此,在嵌入式應(yīng)用系統(tǒng)的具體設(shè)計中,必須考慮系統(tǒng)中每一個任務(wù)運行時,能否滿足ts≤ta的要求,這就是嵌入式系統(tǒng)的實時性問題。
綜上所述,經(jīng)典電子系統(tǒng)應(yīng)用中,沒有顯出實時性的概念,是因為電子系統(tǒng)的激勵-響應(yīng)時間T極短,絕大多數(shù)電子系統(tǒng)都能滿足T≤ts要求;通用計算機系統(tǒng)應(yīng)用中,沒有實時性概念,是因為ta只有期望要求;而嵌入式系統(tǒng)應(yīng)用中,必須考慮實時性問題,是因為軟件運行的時間耗費ts,會使系統(tǒng)的激勵-響應(yīng)時間T巨額增加,而不能滿足嵌入對象系統(tǒng)提出的響應(yīng)時間ta要求,現(xiàn)了嵌入式系統(tǒng)的實時性問題。
3 嵌入式系統(tǒng)的實時性分析
3.1 嵌入式系統(tǒng)實時性的出發(fā)點
嵌入式系統(tǒng)由于是嵌入到對象體系中的一個電子系統(tǒng),與對象系統(tǒng)密切相關(guān)。而形形色色的對象系統(tǒng)會有不同的響應(yīng)時間ta要求,如動態(tài)信號的采集系統(tǒng)、生產(chǎn)線的控制單元等,有嚴格的響應(yīng)時間要求;超市的秤重、計量、收銀機只要求有盡快的響應(yīng)時間;在同樣的動態(tài)信號采集系統(tǒng)中系統(tǒng)的響應(yīng)時間與信號的動態(tài)特性有關(guān)。這些不同的嵌入式應(yīng)用系統(tǒng)的不同響應(yīng)要求,表現(xiàn)了嵌入對象響應(yīng)要求(ta)的多樣性。
嵌入式應(yīng)用系統(tǒng)的激勵-運行-響應(yīng)特性,形成了以軟件運行時間ts為主要內(nèi)容的系統(tǒng)響應(yīng)能力T。而軟件運行時間ts與指令速度、編程技巧、程序優(yōu)化等有關(guān),是一個在應(yīng)用系統(tǒng)設(shè)計中可以改變的參數(shù),它表現(xiàn)了嵌入式應(yīng)用系統(tǒng)實時能力的可變更性。
因此,ta的多樣性要求與響應(yīng)時間ts的可調(diào)整性,是嵌入式系統(tǒng)的實時性分析的基本出發(fā)點。根據(jù)嵌入對象ta的不同要求,調(diào)整、變更ts大小,以實現(xiàn)ts的最佳化,是嵌入式系統(tǒng)實時性設(shè)計的一項重要內(nèi)容。
3.2 嵌入式系統(tǒng)的實時性分析
(1)實時性與快速性
嵌入式系統(tǒng)的實時性不是一個快速性概念,而是一個等式概念,即能否滿足ts≤ta的要求。因而,快速系統(tǒng)不一定能滿足系統(tǒng)的實時性要求,而某些情況下滿足實時性要求時,系統(tǒng)的運行速度并不高。例如,滿足溫度采集實時性要求的嵌入式系統(tǒng),運行速度并不高;而許多高速運行的系統(tǒng),未必能滿足沖擊振動的信號采集的實時性要求??焖傩灾环从沉讼到y(tǒng)的實時能力而已。
(2)系統(tǒng)的最佳實時
快速性是系統(tǒng)實時能力的表現(xiàn)。當系統(tǒng)不能滿足實時性要求時,必須提高系統(tǒng)的運行速度,然而,運行速度的提高必然帶來系統(tǒng)的一些負面效應(yīng),如導致系統(tǒng)功耗加大、電磁兼容性下降。因此,在設(shè)計一個具體的嵌入式系統(tǒng)時,在保證能滿足實時性要求的條件下,應(yīng)使系統(tǒng)的運行速度降到最低,以滿足系統(tǒng)在功耗、可靠性、電磁兼容性方面獲得最佳的綜合品質(zhì)。
(3)系統(tǒng)的實時性分配
在一個嵌入式應(yīng)用系統(tǒng)中,有許多過程環(huán)節(jié)。例如,一個典型的智能儀表就有信號采集、數(shù)據(jù)處理、結(jié)果顯示、鍵盤輸入等過程。這些過程往往是在不同的時間與空間上進行,而且不同過程的實時性要求是不同的。鍵盤輸入、結(jié)果顯示是與人交互的,要滿足人機交互的實時性要求;信號采集與對象系統(tǒng)領(lǐng)帶的動態(tài)性密切相在,必須滿足由動態(tài)信號采集的實時性要求;而數(shù)據(jù)處理則會形成從動態(tài)信號采集到結(jié)果顯示的時間延遲,影響到結(jié)果顯示的實時性要求。因此一個優(yōu)秀的實時系統(tǒng)設(shè)計,必須研究系統(tǒng)中的每一個過程環(huán)節(jié),滿足每一個過程環(huán)節(jié)和整個系統(tǒng)的最佳實時要求。
3.3 實時系統(tǒng)的動態(tài)誤差
當我們研究嵌入式應(yīng)用系統(tǒng)的實時性時,與對象系統(tǒng)相關(guān)的過程,必然是一個動態(tài)過程,否則便不存在實時性問題。對于任何動態(tài)過程,由于時間的滯后,都不可能完成重現(xiàn)原過程,這之間的差異便是動態(tài)過程的動態(tài)誤差。例如,對于一個動態(tài)信號的數(shù)據(jù)進行采集時,在時間點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ù)采集時間耗費ts能滿足ts≤ta這一要求,系統(tǒng)就能實現(xiàn)數(shù)據(jù)的實時采集。
4 嵌入式應(yīng)用系統(tǒng)的實時性設(shè)計
4.1 系統(tǒng)的實時性問題分析
由于嵌入式系統(tǒng)是嵌入到對象體系中的專用計算機應(yīng)用系統(tǒng),實現(xiàn)對象體系的智能化控制,因此,都存在著對象體系對控制過程的時間要求,與嵌入式系統(tǒng)能否滿足這一要求的實時性問題。在很多情況下,應(yīng)用系統(tǒng)設(shè)計中沒有涉及實時性設(shè)計,這是因為目前計算機已有可觀的運行速度,在大多數(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ù)進行處理,對處理結(jié)果進行存儲、顯示,或?qū)崿F(xiàn)對外部環(huá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ù)時,必須耗費的時間ts。如果應(yīng)用系統(tǒng)中所有的任務(wù)過程都能滿足ts≤ta,則該應(yīng)用系統(tǒng)是一個本質(zhì)性實時系統(tǒng)。由于在考慮每個任務(wù)所必須耗費的時間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要求,則必須進行系統(tǒng)的實時性設(shè)計。
4.2 嵌入式系統(tǒng)的實時性設(shè)計
根據(jù)系統(tǒng)的T≈ts≤ta要求,在一個具體的有實時性要求的應(yīng)用系統(tǒng)中,當系統(tǒng)的任務(wù)確定以后,就可以估算出每個任務(wù)的時間響應(yīng)要求ta,在不考慮電路系統(tǒng)的中動態(tài)過程時,嵌入式系統(tǒng)的實時性設(shè)計的中心任務(wù)是通過軟、硬件設(shè)計加快任務(wù)的運行過程,以達到ts≤ta要求。然而,加快系統(tǒng)的運行速度全帶來其它問題,應(yīng)在實時性設(shè)計中一并考慮。
嵌入式系統(tǒng)的應(yīng)用領(lǐng)域十分廣泛,并不是所有的應(yīng)用系統(tǒng)都要求是實時系統(tǒng),只有當系統(tǒng)中對任務(wù)有嚴格時間限定時,才有系統(tǒng)的實時性問題。例如,對打印機這樣一個嵌入式應(yīng)用系統(tǒng),人們并沒有嚴格的時間限定,只有一個“盡可能快的”期望要求,因此,這樣 的系統(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.2100=20s。ts遠大于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)星運行監(jiān)測系統(tǒng),實時地采集衛(wèi)星運行參數(shù),經(jīng)處理后,在大屏幕上實時地顯示出來,這是一個實時系統(tǒng)。但是,無法實現(xiàn)衛(wèi)星發(fā)射過程中意外事件的實時顯示。只能當衛(wèi)星發(fā)射出現(xiàn)意外事故(如運載火箭爆炸)時,出現(xiàn)衛(wèi)星軌跡的中斷。但是,作為彌補,我們可以實現(xiàn)一個意外事故的數(shù)據(jù)采集系統(tǒng),高速、實時地采集與存儲火箭運行狀態(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è)計中,核心的問題是降低軟件運行時間。除了普遍的提高CPU指令運行速度、采用高速I/O口、計數(shù)器的捕獲/比較、多機并行操作等軟、硬件措施外,就是程序設(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)度、快速運行等),實時能力強的嵌入式操作系統(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)運行速度,以及操作系統(tǒng)實時能力的提高,本質(zhì)實時性的應(yīng)用系統(tǒng)會越來越多。
評論