嵌入式系統(tǒng)實(shí)時(shí)性的問(wèn)題
引 言 1 什么是電子系統(tǒng)的實(shí)時(shí)性 任何一個(gè)電子系統(tǒng)都可看成是一個(gè)激勵(lì)-響應(yīng)系統(tǒng)。每個(gè)特定的電子系統(tǒng)都有一個(gè)從激勵(lì)輸入到響應(yīng)輸出的時(shí)間,即激勵(lì)-響應(yīng)周期T,它表現(xiàn)為系統(tǒng)的響應(yīng)能力。如果系統(tǒng)的響應(yīng)能力T能滿足嵌入對(duì)象所規(guī)定的響應(yīng)時(shí)間ta要求,即T≤ta,這個(gè)系統(tǒng)便是實(shí)時(shí)的電子系統(tǒng)。 那末,什么是嵌入對(duì)象所要求的響應(yīng)時(shí)間ta呢? 通常,不論哪一種電子系統(tǒng),都要嵌入到一個(gè)對(duì)象體系中,成為一個(gè)電子應(yīng)用系統(tǒng),實(shí)現(xiàn)對(duì)象體系的控制管理要求,這些控制管理通常都會(huì)有一定的時(shí)間限制。例如,一個(gè)振動(dòng)監(jiān)測(cè)系統(tǒng),對(duì)振動(dòng)波形的檢測(cè)周期必須滿足采樣定理要求;飲料生產(chǎn)線上的計(jì)量、包裝控制系統(tǒng),必須在一個(gè)工位的移動(dòng)周期里完成秤量、封口的控制輸出;對(duì)于超市中使用的電子秤,在秤量時(shí),希望能立即顯示出重量和計(jì)價(jià)金額;我們?nèi)粘J褂玫挠?jì)算機(jī),在敲擊鍵盤時(shí),也要求在顯示屏上快速地出現(xiàn)鍵盤輸入結(jié)果。因此,幾乎所有的電子系統(tǒng)都有一個(gè)客觀的響應(yīng)時(shí)間ta要求。這就是電子系統(tǒng)普遍存在的實(shí)時(shí)性問(wèn)題,即要求T≤ta。 2 三類電子應(yīng)用系統(tǒng)的實(shí)時(shí)性 ta是電子系統(tǒng)具體應(yīng)用時(shí),客觀應(yīng)用環(huán)境提出的具體響應(yīng)時(shí)間要求;不同類型電子系統(tǒng)的激勵(lì)-響應(yīng)時(shí)間T的不同,形成了不同的實(shí)時(shí)性問(wèn)題。我們可以按不同的激勵(lì)-響應(yīng)時(shí)間T的特點(diǎn),將電子系統(tǒng)分為經(jīng)典電子系統(tǒng)、通用計(jì)算機(jī)系統(tǒng)與嵌入式系統(tǒng),來(lái)討論不同類型的電子應(yīng)用系統(tǒng)不同的實(shí)時(shí)性特點(diǎn)。 ① 經(jīng)典電子系統(tǒng):不含計(jì)算機(jī)的純電子電路系統(tǒng),例如,測(cè)量放大器、電子計(jì)數(shù)器、溫度指示器(由ADC、譯碼器、LED顯示器構(gòu)成)等,電路的動(dòng)態(tài)特性決定了系統(tǒng)響應(yīng)能力T的大小。經(jīng)典電子系統(tǒng)是一個(gè)激勵(lì)-響應(yīng)系統(tǒng),從激勵(lì)到響應(yīng)的時(shí)間完全取決于電子在電路中的運(yùn)動(dòng)過(guò)程,因而,它具有極短的、相對(duì)固定不變的,從激勵(lì)到響應(yīng)的時(shí)間周期T。在大多數(shù)經(jīng)典電子應(yīng)用系統(tǒng)中,由電路的動(dòng)態(tài)特性決定了T值的大小。一般情況下,應(yīng)用系統(tǒng)的T遠(yuǎn)小于嵌入對(duì)象系統(tǒng)的響應(yīng)(ta)要求,因此,在經(jīng)典電子應(yīng)用領(lǐng)域中,應(yīng)用工程師的頭腦中沒(méi)有“實(shí)時(shí)性”名詞的概念,而對(duì)一些極快速響應(yīng)要求的應(yīng)用系統(tǒng),如振動(dòng)測(cè)量系統(tǒng),它的實(shí)時(shí)性要求常常反映為電路系統(tǒng)的“頻率響應(yīng)”要求。 ② 通用計(jì)算機(jī)系統(tǒng):是一個(gè)人機(jī)交互的激勵(lì)-運(yùn)行-響應(yīng)系統(tǒng)。它的激勵(lì)-響應(yīng)時(shí)間T表現(xiàn)為電路系統(tǒng)的激勵(lì)-響應(yīng)時(shí)間tc與軟件運(yùn)行時(shí)間ts,而電路系統(tǒng)的激勵(lì)-響應(yīng)時(shí)間與軟件運(yùn)行時(shí)間相比為高階小量,因而軟件運(yùn)行時(shí)間形成了T的主要成份,T=tc+ts≈ts。由于通用計(jì)算機(jī)系統(tǒng)只使用在人機(jī)交互環(huán)境中,對(duì)象(人)提出的響應(yīng)時(shí)間ta要求,只是一個(gè)期望值(盡量快),而這種欲望一方面表現(xiàn)為永無(wú)止盡,另一方面又表現(xiàn)出現(xiàn)實(shí)的可容忍性。因此,通用計(jì)算機(jī)系統(tǒng)是一個(gè)非實(shí)時(shí)的電子系統(tǒng),而快速性成為通用計(jì)算機(jī)系統(tǒng)發(fā)展的永恒主題。 ③ 嵌入式系統(tǒng):由于計(jì)算機(jī)的嵌入,嵌入式系統(tǒng)也是一個(gè)激勵(lì)-運(yùn)行-響應(yīng)的電子系統(tǒng)。但是,它與嵌入對(duì)象交互,與嵌入對(duì)象的事件過(guò)程相關(guān),在與嵌入對(duì)象體系交互時(shí),要滿足事件交互過(guò)程的響應(yīng)要求。一方面,由于計(jì)算機(jī)的嵌入,嵌入式應(yīng)用系統(tǒng)有十分可觀的激勵(lì)-響應(yīng)時(shí)間ts,導(dǎo)致系統(tǒng)實(shí)時(shí)能力的降低;另一方面,由于嵌入對(duì)象體系的多樣性、復(fù)雜性,不同的對(duì)象體系會(huì)提出不同的響應(yīng)時(shí)間ta要求。因此,在嵌入式應(yīng)用系統(tǒng)的具體設(shè)計(jì)中,必須考慮系統(tǒng)中每一個(gè)任務(wù)運(yùn)行時(shí),能否滿足ts≤ta的要求,這就是嵌入式系統(tǒng)的實(shí)時(shí)性問(wèn)題。 綜上所述,經(jīng)典電子系統(tǒng)應(yīng)用中,沒(méi)有凸顯出實(shí)時(shí)性的概念,是因?yàn)殡娮酉到y(tǒng)的激勵(lì)-響應(yīng)時(shí)間T極短,絕大多數(shù)電子系統(tǒng)都能滿足T≤ta要求;通用計(jì)算機(jī)系統(tǒng)應(yīng)用中,沒(méi)有實(shí)時(shí)性概念,是因?yàn)閠a只有期望要求;而嵌入式系統(tǒng)應(yīng)用中,必須考慮實(shí)時(shí)性問(wèn)題,是因?yàn)檐浖\(yùn)行的時(shí)間耗費(fèi)ts,會(huì)使系統(tǒng)的激勵(lì)-響應(yīng)時(shí)間T巨額增加,而不能滿足嵌入對(duì)象系統(tǒng)提出的響應(yīng)時(shí)間ta要求,凸現(xiàn)了嵌入式系統(tǒng)的實(shí)時(shí)性問(wèn)題。 3 嵌入式系統(tǒng)的實(shí)時(shí)性分析 3.1 嵌入式系統(tǒng)實(shí)時(shí)性的出發(fā)點(diǎn) 嵌入式系統(tǒng)由于是嵌入到對(duì)象體系中的一個(gè)電子系統(tǒng),與對(duì)象系統(tǒng)密切相關(guān)。而形形色色的對(duì)象系統(tǒng)會(huì)有不同的響應(yīng)時(shí)間ta要求,如動(dòng)態(tài)信號(hào)的采集系統(tǒng)、生產(chǎn)線的控制單元等,有嚴(yán)格的響應(yīng)時(shí)間要求;超市的秤重、計(jì)量、收銀機(jī)只要求有盡快的響應(yīng)時(shí)間;在同樣的動(dòng)態(tài)信號(hào)采集系統(tǒng)中系統(tǒng)的響應(yīng)時(shí)間與信號(hào)的動(dòng)態(tài)特性有關(guān)。這些不同的嵌入式應(yīng)用系統(tǒng)的不同響應(yīng)要求,表現(xiàn)了嵌入對(duì)象響應(yīng)要求(ta)的多樣性。
因此,ta的多樣性要求與響應(yīng)時(shí)間ts的可調(diào)整性,是嵌入式系統(tǒng)的實(shí)時(shí)性分析的基本出發(fā)點(diǎn)。根據(jù)嵌入對(duì)象ta的不同要求,調(diào)整、變更ts大小,以實(shí)現(xiàn)ts的******化,是嵌入式系統(tǒng)實(shí)時(shí)性設(shè)計(jì)的一項(xiàng)重要內(nèi)容。 3.2 嵌入式系統(tǒng)的實(shí)時(shí)性分析 (1)實(shí)時(shí)性與快速性 嵌入式系統(tǒng)的實(shí)時(shí)性不是一個(gè)快速性概念,而是一個(gè)等式概念,即能否滿足ts≤ta的要求。因而,快速系統(tǒng)不一定能滿足系統(tǒng)的實(shí)時(shí)性要求,而某些情況下滿足實(shí)時(shí)性要求時(shí),系統(tǒng)的運(yùn)行速度并不高。例如,滿足溫度采集實(shí)時(shí)性要求的嵌入式系統(tǒng),運(yùn)行速度并不高;而許多高速運(yùn)行的系統(tǒng),未必能滿足沖擊振動(dòng)的信號(hào)采集的實(shí)時(shí)性要求??焖傩灾环从沉讼到y(tǒng)的實(shí)時(shí)能力而已。 (2)系統(tǒng)的******實(shí)時(shí) 快速性是系統(tǒng)實(shí)時(shí)能力的表現(xiàn)。當(dāng)系統(tǒng)不能滿足實(shí)時(shí)性要求時(shí),必須提高系統(tǒng)的運(yùn)行速度,然而,運(yùn)行速度的提高必然帶來(lái)系統(tǒng)的一些負(fù)面效應(yīng),如導(dǎo)致系統(tǒng)功耗加大、電磁兼容性下降。因此,在設(shè)計(jì)一個(gè)具體的嵌入式系統(tǒng)時(shí),在保證能滿足實(shí)時(shí)性要求的條件下,應(yīng)使系統(tǒng)的運(yùn)行速度降到最低,以滿足系統(tǒng)在功耗、可靠性、電磁兼容性方面獲得******的綜合品質(zhì)。 (3)系統(tǒng)的實(shí)時(shí)性分配 在一個(gè)嵌入式應(yīng)用系統(tǒng)中,有許多過(guò)程環(huán)節(jié)。例如,一個(gè)典型的智能儀表就有信號(hào)采集、數(shù)據(jù)處理、結(jié)果顯示、鍵盤輸入等過(guò)程。這些過(guò)程往往是在不同的時(shí)間與空間上進(jìn)行,而且不同過(guò)程的實(shí)時(shí)性要求是不同的。鍵盤輸入、結(jié)果顯示是與人交互的,要滿足人機(jī)交互的實(shí)時(shí)性要求;信號(hào)采集與對(duì)象系統(tǒng)信號(hào)的動(dòng)態(tài)性密切相關(guān),必須滿足由動(dòng)態(tài)信號(hào)采集的實(shí)時(shí)性要求;而數(shù)據(jù)處理則會(huì)形成從動(dòng)態(tài)信號(hào)采集到結(jié)果顯示的時(shí)間延遲,影響到結(jié)果顯示的實(shí)時(shí)性要求。因此一個(gè)優(yōu)秀的實(shí)時(shí)系統(tǒng)設(shè)計(jì),必須研究系統(tǒng)中的每一個(gè)過(guò)程環(huán)節(jié),滿足每一個(gè)過(guò)程環(huán)節(jié)和整個(gè)系統(tǒng)的******實(shí)時(shí)要求。 3.3 實(shí)時(shí)系統(tǒng)的動(dòng)態(tài)誤差 當(dāng)我們研究嵌入式應(yīng)用系統(tǒng)的實(shí)時(shí)性時(shí),與對(duì)象系統(tǒng)相關(guān)的過(guò)程,必然是一個(gè)動(dòng)態(tài)過(guò)程,否則便不存在實(shí)時(shí)性問(wèn)題。對(duì)于任何動(dòng)態(tài)過(guò)程,由于時(shí)間的滯后,都不可能完全重現(xiàn)原過(guò)程,這之間的差異便是動(dòng)態(tài)過(guò)程的動(dòng)態(tài)誤差。例如,對(duì)于一個(gè) 動(dòng)態(tài)信號(hào)的數(shù)據(jù)進(jìn)行采集時(shí),在時(shí)間點(diǎn)t上啟動(dòng)采集命令,由于要執(zhí)行一系列控制指令,產(chǎn)生Δtm滯后;另外,A/D轉(zhuǎn)換器有一個(gè)轉(zhuǎn)換過(guò)程,產(chǎn)生Δtc滯后。由于這些時(shí)間滯后,致使在時(shí)間點(diǎn)t上采集的數(shù)據(jù),實(shí)際上是時(shí)間點(diǎn)t+Δtm+Δtc上的信號(hào)數(shù)據(jù).兩者之差便是系統(tǒng)中數(shù)據(jù)采集的動(dòng)態(tài)誤差。在A/D轉(zhuǎn)換中,常常會(huì)加入一個(gè)采樣/保持電路,就是為了在Δtc窗口上,使動(dòng)態(tài)信號(hào)值保持在Δtc的初始時(shí)間點(diǎn)上不變,使得信號(hào)值的變化只滯后t+Δtm,以減少動(dòng)態(tài)誤差。 由于系統(tǒng)在動(dòng)態(tài)過(guò)程中控制的滯后,形成了某個(gè)任務(wù)環(huán)節(jié)上的動(dòng)態(tài)誤差,這個(gè)動(dòng)態(tài)誤差在對(duì)象系統(tǒng)的具體動(dòng)態(tài)過(guò)程確定后,與動(dòng)態(tài)過(guò)程的變化速率有關(guān)。在對(duì)象系統(tǒng)一個(gè)具體的動(dòng)態(tài)過(guò)程確定之后,應(yīng)根據(jù)對(duì)象動(dòng)態(tài)過(guò)程的變化率和允許的動(dòng)態(tài)誤差值,估算出系統(tǒng)的允許滯后時(shí)間,這一時(shí)間就是應(yīng)用系統(tǒng)中實(shí)現(xiàn)該動(dòng)態(tài)過(guò)程實(shí)時(shí)性要求的響應(yīng)時(shí)間ta。例如,在某一個(gè)動(dòng)態(tài)電壓信號(hào)數(shù)據(jù)采集中,信號(hào)的******變化速率為0.1V/ms,只考慮采集控制滯后的誤差因素時(shí),如該信號(hào)電壓給定的誤差應(yīng)為1mV,就可以最粗略地估算出滿足實(shí)練數(shù)據(jù)采集任務(wù)的響應(yīng)時(shí)間ta要求,ta=1mV/(100mV/1ms)=0.01ms。如果系統(tǒng)的數(shù)據(jù)采集時(shí)間耗費(fèi)ts能滿足ts≤ta這一要求,系統(tǒng)就能實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)采集。 4 嵌入式應(yīng)用系統(tǒng)的實(shí)時(shí)性設(shè)計(jì) 4.1 系統(tǒng)的實(shí)時(shí)性問(wèn)題分析 由于嵌入式系統(tǒng)是嵌入到對(duì)象體系中的專用計(jì)算機(jī)應(yīng)用系統(tǒng),實(shí)現(xiàn)對(duì)象體系的智能化控制,因此,都存在著對(duì)象體系對(duì)控制過(guò)程的時(shí)間要求,與嵌入式系統(tǒng)能否滿足這一要求的實(shí)時(shí)性問(wèn)題。在很多情況下,應(yīng)用系統(tǒng)設(shè)計(jì)中沒(méi)有涉及實(shí)時(shí)性設(shè)計(jì),這是因?yàn)槟壳坝?jì)算機(jī)已有可觀的運(yùn)行速度,在大多數(shù)應(yīng)用系統(tǒng)中,都能滿足T≈ts≤ta,因此,在一般應(yīng)用系統(tǒng)設(shè)計(jì)中,實(shí)時(shí)性設(shè)計(jì)并不突出。 通常,由于嵌入式系統(tǒng)實(shí)現(xiàn)的是對(duì)象系統(tǒng)的全面智能化控制,系統(tǒng)中會(huì)有許多相關(guān)的任務(wù)與過(guò)程。例如,一個(gè)數(shù)據(jù)采集系統(tǒng)不只是要實(shí)現(xiàn)對(duì)對(duì)象系統(tǒng)環(huán)境參數(shù)的采集,還要對(duì)采得的信號(hào)數(shù)據(jù)進(jìn)行處理,對(duì)處理結(jié)果進(jìn)行存儲(chǔ)、顯示,或?qū)崿F(xiàn)對(duì)外部環(huán)境的控制輸出,在這些進(jìn)程中,還可能有人工的外界干預(yù)等。因此,一個(gè)實(shí)時(shí)的嵌入式應(yīng)用系統(tǒng),應(yīng)該在所有的過(guò)程中都能滿足T≈ts≤ta要求。由于系統(tǒng)中每個(gè)過(guò)程所要求的響應(yīng)時(shí)間ta不同,例如,對(duì)對(duì)象系統(tǒng)環(huán)境參數(shù)采集時(shí),時(shí)間響應(yīng)要求決定于被采集參數(shù)的動(dòng)態(tài)特性;控制輸出時(shí)則取決了被控對(duì)象的控制品質(zhì)要求;信號(hào)數(shù)據(jù)處理、存儲(chǔ),雖然表現(xiàn)為快速響應(yīng)的期望要求,但占用了從激勵(lì)輸入到響應(yīng)輸出的中間環(huán)節(jié)。對(duì)這些環(huán)節(jié)的響應(yīng)時(shí)間要求,必須納入相關(guān)的任務(wù)中考慮。 因此,系統(tǒng)的實(shí)時(shí)性設(shè)計(jì)首先體現(xiàn)在應(yīng)用系統(tǒng)總體設(shè)計(jì)中,要在總體設(shè)計(jì)中列出有實(shí)時(shí)性要求的任務(wù),以及這些任務(wù)所要求的響應(yīng)時(shí)間ta(如果所有任務(wù)的響應(yīng)時(shí)間要求都是期望要求,則該應(yīng)用系統(tǒng)不是一個(gè)實(shí)時(shí)的應(yīng)用系統(tǒng)),然后考慮應(yīng)用系統(tǒng)在實(shí)現(xiàn)這些任務(wù)時(shí),必須耗費(fèi)的時(shí)間ts。如果應(yīng)用系統(tǒng)中所有的任務(wù)過(guò)程都能滿足ts≤ta,則該應(yīng)用系統(tǒng)是一個(gè)本質(zhì)性實(shí)時(shí)系統(tǒng)。由于在考慮每個(gè)任務(wù)所必須耗費(fèi)的時(shí)間ts時(shí),與使用的程序設(shè)計(jì)語(yǔ)言(是匯編還是高級(jí)語(yǔ)言)、程序應(yīng)用環(huán)境(是否使用操作系統(tǒng))、硬件環(huán)境(時(shí)鐘系統(tǒng)、指令系統(tǒng)、CPU時(shí)序等)有關(guān),因此本質(zhì)性實(shí)時(shí)系統(tǒng)的實(shí)時(shí)性與所系統(tǒng)使用的軟硬件平臺(tái)有關(guān)。 如果系統(tǒng)中有一些任務(wù)無(wú)法滿足ts≤ta要求,則必須進(jìn)行系統(tǒng)的實(shí)時(shí)性設(shè)計(jì)。 4.2 嵌入式系統(tǒng)的實(shí)時(shí)性設(shè)計(jì) 根據(jù)系統(tǒng)的T≈ts≤ta要求,在一個(gè)具體的有實(shí)時(shí)性要求的應(yīng)用系統(tǒng)中,當(dāng)系統(tǒng)的任務(wù)確定以后,就可以估算出每個(gè)任務(wù)的時(shí)間響應(yīng)要求ta,在不考慮電路系統(tǒng)中的動(dòng)態(tài)過(guò)程時(shí),嵌入式系統(tǒng)的實(shí)時(shí)性設(shè)計(jì)的中心任務(wù)是通過(guò)軟、硬件設(shè)計(jì)來(lái)加快任務(wù)的運(yùn)行過(guò)程,以達(dá)到ts≤ta要求。然而,加快系統(tǒng)的運(yùn)行速度會(huì)帶來(lái)其它問(wèn)題,應(yīng)在實(shí)時(shí)性設(shè)計(jì)中一并考慮。 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域十分廣泛,并不是所有的應(yīng)用系統(tǒng)都要求是實(shí)時(shí)系統(tǒng),只有當(dāng)系統(tǒng)中對(duì)任務(wù)有嚴(yán)格時(shí)間限定時(shí),才有系統(tǒng)的實(shí)時(shí)性問(wèn)題。例如,對(duì)打印機(jī)這樣一個(gè)嵌入式應(yīng)用系統(tǒng),人們并沒(méi)有嚴(yán)格的時(shí)間限定,只有一個(gè)“盡可能快的”期望要求,因此,這樣的系統(tǒng)不是實(shí)時(shí)系統(tǒng)。 嵌入式系統(tǒng)的實(shí)時(shí)性設(shè)計(jì)通常會(huì)有以下幾種情況。 ① 本質(zhì)性實(shí)時(shí)系統(tǒng)。在這一類應(yīng)用系統(tǒng)中,系統(tǒng)總體及任務(wù)的時(shí)限要求ta都不高,常規(guī)的軟硬件技術(shù)都能滿足ts≤ta要求。因此,這種應(yīng)用系統(tǒng)往往不必要考慮系統(tǒng)的實(shí)時(shí)性設(shè)計(jì)。例如,一個(gè)溫度測(cè)量系統(tǒng),由于溫度的大慣量特性,滿足一定動(dòng)態(tài)誤差條件下的溫度采集、數(shù)據(jù)處理、實(shí)時(shí)顯示與打印的響應(yīng)時(shí)間要求ta值很大,不必采取任何特殊的實(shí)時(shí)設(shè)計(jì)方法,就能滿足ts≤ta要求,因此,它是一個(gè)本質(zhì)性實(shí)時(shí)系統(tǒng), ② 通過(guò)實(shí)時(shí)性設(shè)計(jì)實(shí)現(xiàn)的實(shí)時(shí)系統(tǒng)。這種嵌入式系統(tǒng)在常規(guī)設(shè)計(jì)下,無(wú)法滿足實(shí)時(shí)性要求,但通過(guò)實(shí)時(shí)性設(shè)計(jì),可以滿足實(shí) |