歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

簡析嵌入式系統的實時性問題

  隨著後PC時代以及網絡、通信技術時代的到來,大量的計算機專業人員進入了嵌入式應用領域;然而,有大量的嵌入式系統應用是以單片機的形式,應用在傳統的電子技術領域中。因此,以計算機領域人員為主體的,遠離對象系統的嵌入式系統的計算機工程應用模式,和以電子技術領域人員為主體,與對象系統緊耦合的電子技術應用模式產生了概念上的碰撞。許多電子技術應用模式熟視無睹、習以為常的概念,在計算機工程應用領域中作為一個新概念提出時,常常使電子技術應用領域中的人員感到莫明其妙。以前的“嵌入式系統”概念是其一,而今“嵌入式系統的實時性”又是一例。    1 什麼是電子系統的實時性    任何一個電子系統都可看成是一個激勵-響應系統。每個特定的電子系統都有一個從激勵輸入到響應輸出的時間,即激勵-響應周期T,它表現為系統的響應能力。如果系統的響應能力T能滿足嵌入對象所規定的響應時間ta要求,即T≤ta,這個系統便是實時的電子系統。    那末,什麼是嵌入對象所要求的響應時間ta呢?通常,不論哪一種電子系統,實現對象體系的控制管理要求,這些控制管理通常都會有一定的時間限制。例如,一個振動監測系統,對振動波形的檢測周期必須滿足采樣定理要求;飲料生產線上的計量、馐控制系統,必須在一個工位的移動周期裡完成秤量、封口的控制輸出;對於超市中使用的電子秤,在秤量時,希望能立即顯示出重量和計價金額;我們日常使用的計算機,在敲擊鍵盤時,也要求在顯示屏上快速地出現鍵盤輸入結果。因此,幾乎所有的電子系統都有一個客觀的響應時間ta要求。這就電子系統普遍存在的實時性問題,即要求T≤ta。    2 三類電子應用系統的實時性    ta是電子系統具體應用時,客觀應用環境提出的具體響應時間要求;不同類型電子系統的激勵-響應時間T的不同,形成不同的實時性問題。我們可以按不同的激勵-響應時間T的特點,將電子系統分為經典電子系統、通用計算機系統與嵌入式系統,來討論不同類型的電子應用系統不同的實時性特點。    ①經典電子系統:不含計算機的純電子電路系統,例如,測量放大器、電子計數器、溫度指示器(由ADC、譯碼器、LED顯示器構成)等,電路的動態特性決定了系統響應能力T的大小。經典電子系統是一個激勵-響應系統,從激勵到響應的時間完全取決於電子在電路中的運動過程,因而,它具有極短的、相對固定不變的,從激勵到響應的時間周期T。在大多數經典電子應用系統中,由電路的動態特性決定了T值的大小。一般情況下,應用系統的T遠小於嵌入對象系統的響應(ta)要求,因此,在經典電子應用領域中,應用工程師的頭腦中沒有“實時性”名詞的概念,而對一些極快速響應要求的應用系統,如振動測量系統,它的實時性要求常常反映為電路系統的“頻率響應”要求。    ②通用計算機系統:是一個人機交互的激勵-運行-響應系統。它的激勵-響應時間T表現為電路系統的激勵-響應時間tc與軟件運行時間ts,而電路系統的激勵-響應時間與軟件運行時間相比為高階小量,因而軟件運行時間形成了T的主要成份,T=tc+ts≈ts。由於通用計算機系統只使用在人機交互環境中,對象(人)提出的響應時間ta要求,只是一個期望值(盡量快),而這種欲望一方面表現為永無止盡,另一方面又表現出現實的可容忍性。因此,通用計算機系統是一個非實時的電子系統,而快速性成為通用計算機系統發展的永恆主題。    ③嵌入式系統:由於計算機的嵌入,嵌入式系統也是一個激勵-運行-響應的電子系統。但是,它與嵌入對象體系交互時,要滿足事件交互過程的響應要求。一方面,由於計算機的嵌入,嵌入式應用系統有十分可觀的激勵-響應時間ts,導致系統實時能力的降低;另一方面,由於嵌入對象體系的多樣性、復雜性,不同的對象體系會提出不同的響應時間ta要求。因此,在嵌入式應用系統的具體設計中,必須考慮系統中每一個任務運行時,能否滿足ts≤ta的要求,這就是嵌入式系統的實時性問題。    綜上所述,經典電子系統應用中,沒有顯出實時性的概念,是因為電子系統的激勵-響應時間T極短,絕大多數電子系統都能滿足T≤ts要求;通用計算機系統應用中,沒有實時性概念,是因為ta只有期望要求;而嵌入式系統應用中,必須考慮實時性問題,是因為軟件運行的時間耗費ts,會使系統的激勵-響應時間T巨額增加,而不能滿足嵌入對象系統提出的響應時間ta要求,現了嵌入式系統的實時性問題。    3 嵌入式系統的實時性分析    3.1 嵌入式系統實時性的出發點    嵌入式系統由於是嵌入到對象體系中的一個電子系統,與對象系統密切相關。而形形色色的對象系統會有不同的響應時間ta要求,如動態信號的采集系統、生產線的控制單元等,有嚴格的響應時間要求;超市的秤重、計量、收銀機只要求有盡快的響應時間;在同樣的動態信號采集系統中系統的響應時間與信號的動態特性有關。這些不同的嵌入式應用系統的不同響應要求,表現了嵌入對象響應要求(ta)的多樣性。    嵌入式應用系統的激勵-運行-響應特性,形成了以軟件運行時間ts為主要內容的系統響應能力T。而軟件運行時間ts與指令速度、編程技巧、程序優化等有關,是一個在應用系統設計中可以改變的參數,它表現了嵌入式應用系統實時能力的可變更性。    因此,ta的多樣性要求與響應時間ts的可調整性,是嵌入式系統的實時性分析的基本出發點。根據嵌入對象ta的不同要求,調整、變更ts大小,以實現ts的最佳化,是嵌入式系統實時性設計的一項重要內容。    3.2 嵌入式系統的實時性分析    (1)實時性與快速性    嵌入式系統的實時性不是一個快速性概念,而是一個等式概念,即能否滿足ts≤ta的要求。因而,快速系統不一定能滿足系統的實時性要求,而某些情況下滿足實時性要求時,系統的運行速度並不高。例如,滿足溫度采集實時性要求的嵌入式系統,運行速度並不高;而許多高速運行的系統,未必能滿足沖擊振動的信號采集的實時性要求。快速性只反映了系統的實時能力而已。    (2)系統的最佳實時    快速性是系統實時能力的表現。當系統不能滿足實時性要求時,必須提高系統的運行速度,然而,運行速度的提高必然帶來系統的一些負面效應,如導致系統功耗加大、電磁兼容性下降。因此,在設計一個具體的嵌入式系統時,在保證能滿足實時性要求的條件下,應使系統的運行速度降到最低,以滿足系統在功耗、可靠性、電磁兼容性方面獲得最佳的綜合品質。    (3)系統的實時性分配    在一個嵌入式應用系統中,有許多過程環節。例如,一個典型的智能儀表就有信號采集、數據處理、結果顯示、鍵盤輸入等過程。這些過程往往是在不同的時間與空間上進行,而且不同過程的實時性要求是不同的。鍵盤輸入、結果顯示是與人交互的,要滿足人機交互的實時性要求;信號采集與對象系統領帶的動態性密切相在,必須滿足由動態信號采集的實時性要求;而數據處理則會形成從動態信號采集到結果顯示的時間延遲,影響到結果顯示的實時性要求。因此一個優秀的實時系統設計,必須研究系統中的每一個過程環節,滿足每一個過程環節和整個系統的最佳實時要求。    3.3 實時系統的動態誤差    當我們研究嵌入式應用系統的實時性時,與對象系統相關的過程,必然是一個動態過程,否則便不存在實時性問題。對於任何動態過程,由於時間的滯後,都不可能完成重現原過程,這之間的差異便是動態過程的動態誤差。例如,對於一個動態信號的數據進行采集時,在時間點t上啟動采集命令,由於要執行一系列控制指令,產生Δtm滯後;另外,A/D轉換器有一個轉換過程,產生Δtc滯後。由於這些時間滯後,致使在時間點t上采集的數據,實際上是時間點t+Δtm+Δtc上的信號數據,兩者之差便是系統中數據采集的動態誤差。在A/D轉換中,常常會加入一個采樣/保持電路,就是為了在Δtc窗口上,使動態信號值保持在Δtc的初始時間點上不變,便利信號值的變化只滯後t+Δtm,以減少動態誤差。    由於系統在動態過程中控制的滯後,形成了某個任務環節上的動態誤差,這個動態誤差在對象系統的具體動態過程確定後,與動態過程的變化速率有關。在對象系統一個具體的動態過程確定之後,應根據對象動態過程的變化率和允許的動態誤差值,估算出系統的允許滯後時間,這一時間就是應用系統中實現該動態過程實時性要求的響應時間ta。例如,在某一個動態電壓信號數據采集中,信號的最大變化速率為0.1V/ms,只考慮采集控制滯後的誤差因素時,如該信號電壓給定的誤差應為1mV,就可以最粗略地估算出滿足實練數據采集任務的響應時間ta要求,ta=1mV/(100mV/1ms)=0.01ms。如果系統的數據采集時間耗費ts能滿足ts≤ta這一要求,系統就能實現數據的實時采集。    4 嵌入式應用系統的實時性設計    4.1 系統的實時性問題分析    由於嵌入式系統是嵌入到對象體系中的專用計算機應用系統,實現對象體系的智能化控制,因此,都存在著對象體系對控制過程的時間要求,與嵌入式系統能否滿足這一要求的實時性問題。在很多情況下,應用系統設計中沒有涉及實時性設計,這是因為目前計算機已有可觀的運行速度,在大多數應用系統中,都能滿足T≈ts≤ta,因此,在一般應用系統設計中,實時性設計並不突出。    通常,由於嵌入式系統實現的是對象系統的全面智能化控制,系統中會有許多相關的任務與過程。例如,一個數據采集系統不只是要實現對對象系統環境參數的采集,還要對采得的信號數據進行處理,對處理結果進行存儲、顯示,或實現對外部環境的控制輸出,在這些進程中,還可能有人工的外界干預等。因此,一個實時的嵌入式應用系統,應該在所有的過程中都能滿足T≈ts≤ta要求。由於系統中每個過程所要求的響應時間ta不同,例如,對對象系統環境參數采集時,時間響應要求決定於被采集參數的動態特性;控制輸出時則取決了被控對象的控制品質要求;信號數據處理、存儲,雖然表現為快速響應的期望要求,但占用了從激勵輸入到響應輸出的中間環節。對這些環節的響應時間要求,必須納入相關的任務中考慮。    因此,系統的實時性設計首先體現在應用系統總體設計中,要在總體設計中列出有實時性要求的任務,以及這些任務所要求的響應時間ta(如果所有任務的響應時間要求都是期望要求,則該應用系統不是一個實時的應用系統),然後考慮應用系統在實現這些任務時,必須耗費的時間ts。如果應用系統中所有的任務過程都能滿足ts≤ta,則該應用系統是一個本質性實時系統。由於在考慮每個任務所必須耗費的時間ts時,與使用的程序設計語言(是匯編還是高級語言)、程序應用環境(是否使用操作系統)、硬件環境(時鐘系統、指令系統、CPU時序等)有關,因此本質性實時系統的實時性與所系統使用的軟硬件平台有關。    如果系統中有一些任務無法滿足ts≤ta要求,則必須進行系統的實時性設計。    4.2 嵌入式系統的實時性設計    根據系統的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條件下,越慢越好。    隨著嵌入式系統運行速度,以及操作系統實時能力的提高,本質實時性的應用系統會越來越多。

 

 




Copyright © Linux教程網 All Rights Reserved