Global Sources
電子工程專輯
 
電子工程專輯 > EDA/IP
 
 
EDA/IP  

嵌入式即時系統開發的正確選擇

上網時間: 2003年10月11日     打印版  Bookmark and Share  字型大小:  

關鍵字:嵌入式即時系統  作業系統  感測器  啟動器  有限狀態機 

隨著嵌入式即時系統複雜度的提高,設計工程師在定義和分析系統初始要求時必須認真考慮軟硬體的協同關係。通常設計工程師還必須權衡系統的靈活性、速度、成本、計畫和可用工具之間的關係。本文打算描述嵌入式系統和即時系統的關鍵特性,並探討在選擇或開發硬體和軟體組件的基礎上開發高效嵌入式系統的解決方案,同時詳細說明嵌入式系統和即時系統開發所特有的關鍵製程技術。

嵌入式系統通常是一個包含微處理器的特殊電腦系統,是一個較大系統或設備的組成部份,它在很大程度上決定了設備的功能特性。許多具備數位介面的設備如微波設備、錄影機(VCR)和汽車等都會用到嵌入式系統。有些嵌入式系統需要使作為業系統,有些則用單個程式實現整個邏輯,但所有嵌入式系統提供的功能都要比通用運算系統更專業些。嵌入式系統功能包括:1. 監視環境-從輸入感測器讀取數據,然後處理數據並顯示結果。2. 控制環境-產生並向啟動器發送命令。3. 轉換資訊-轉換並處理收集到的數據。

雖然透過感測器和啟動器完成與外部世界的交互是嵌入式系統的重要特點,但這些嵌入式系統還提供適合它們所在設備的特殊功能。嵌入式系統一般用來執行控制程式、有限狀態機和訊號處理演算法。這些系統還必須檢測內部運算環境和周圍電磁系統中產生的故障並對此做出響應。

嵌入式系統特性

嵌入式系統的設計挑戰是使嵌入式系統的獨特性能與設備的特殊約束條件相一致。以下是一些嵌入式系統的重要特性:


1. 特殊應用系統-嵌入式系統不同於通用處理器,它針對特殊應用進行了最佳化。


2. 反應性系統-反應性運算的意思是系統(主要是軟體部份)根據感測器資訊對環境作出響應,並利用啟動器控制環境,同時系統速度能與環境速度同步。


3. 分佈式-嵌入式系統的一般特徵是多個通訊進程在多個透過通訊鏈路鏈接的CPU或ASIC上執行。


4. 異質性-不同的嵌入式系統一般具有不同的結構,以便在處理嚴格設計約束的嵌入式系統時能夠提供更好的設計便利性。


5. 苛刻環境-許多嵌入式系統並不工作在受控的環境中,因此它們必須能夠經受過熱、振動、衝擊、電源波動和其它惡劣的實體環境條件的考驗。


6. 系統安全性和可靠性-由於嵌入式系統複雜度和運算量的不斷成長,需要更多地考慮系統安全因素。


7. 小型化、重量輕-為了達到可攜目的,許多嵌入式系統的重量必須設計得很輕。


8. 成本感應性-不同的嵌入式系統對成本的感應性有很大的不同。

即時系統的特性

即時系統要求在外部環境指定的時間間隔內對來自環境的激勵訊號作出響應(包括實體時間的過渡)。從輸入時間到輸出時間的延遲必須足夠小,以滿足可以接受的時間值。通常即時系統需要對環境作出連續及時的響應。

運算的正確性不僅依賴於結果,而且取決於輸出產生的時間。一個即時系統必須滿足有限響應時間約束條件,否則會產生嚴重的後果。如果後果是性能的劣化而不是故障,那麼這種系統可以看作是一個軟即時系統。如果後果是系統產生故障,那麼這種系統就是一種硬即時系統。

即時系統有反應式和嵌入式兩種類型。反應式即時系統會與環境產生連續的互作用,而嵌入式即時系統主要用於控制大型系統中安裝的特殊硬體。

嵌入式系統開產生命週期

許多系統設計工程師都會經歷硬體╱軟體協同設計過程(圖1),此過程中硬體與軟體將同時進行開發。理解硬體與軟體功能相互之間的關係及界限有助於確保設計要求得到完整正確的理解和實現。

早在設計要求的定義與分析階段,系統開發人員就必須與設計工程師協同分配硬體或╱和軟體方面的要求。這種分配的依據是早期系統模擬、原型設計和行為建模結果、工程師自己的經驗以及上文提及的各種因素權衡結果(圖2)。一旦分配結束,就可以立即著手具體的設計和實現。即時系統開發中軟硬體的平行設計會使用到各種分析技術,包括:1. 硬體與軟體模擬;2. 硬體╱軟體協同模擬;3. 可調度的建模技術,如速率?定分析;4. 原型設計和漸進式開發。圖1:嵌入式設計生命週期。

可以在各種抽象層次使用的模擬技術主要用於展開早期的性能評估。低層模擬可以用來為匯流排寬度和數據流程建模,這對性能評估是非常有用的。高層模擬可以滿足功能的交互,並促成硬體╱軟體權衡研究及有效性設計。利用模擬可以將一個複雜的系統向下抽象成基礎組件和行為。模擬還助於解決功能性問題(數據與算法)、行為(進程排序)或性能問題(資源利用、吞吐量和時序)。

理解設計要求

在作執行任何類型的處理器評估時,首先要詳細理解用戶的功能和非功能性要求。功能性要求通常比較容易獲得,而非功能性要求較難定量測量。但對於即時系統來說,定義響應時間這樣的要求是非常重要的。即時要求可以有以下幾種:1. 激勵-激勵(S-S):到系統去的兩個激勵之間的即時關係;2. 激勵-響應(S-R):一個激勵與來自系統的一個後序響應之間的即時關係;3. 響應-激勵(R-S):一個響應與到系統去的一個後序激勵之間的即時關係;4. 響應-響應(R-R):來自系統的兩個響應之間的即時關係。

S-R和R-R關係定義了對指定系統的時序要求。這種情況下所實現的功能必須足夠快(或足夠慢)才能滿足時序要求。S-S和R-S約束暗示系統必須能夠從環境(可能是一個用戶或另外一個系統)中檢測出特定時序約束的破壞。這些約束與功能的快慢沒有關係,相反它們能夠檢測出某些遭到破壞的時序約束並採取必要的措施。

因此要從最初系統要求設計時就很好地理解這一點,因為S-R和R-R約束可以引導設計工程師進行程式碼最佳化,而S-S和R-S約束需要用額外的軟體來檢測和響應時序衝突。

處理器選擇

嵌入式即時系統比較適合用於系統最佳化。由於這些系統主要用來解決範圍相對較窄的問題,因此硬體和軟體能夠得到最佳最佳化,並很好地應用於單一設備。這樣做的目的是要在軟硬體最佳折衷狀態下展開系統設計。影響這一階段設計主要因素是處理器的選擇、軟硬體的分割和總體系統整合。

在為嵌入式即時系統選擇處理器時需要考慮以下幾個方面:

1. 性能:處理器必須有足夠的性能執行任務和支援產品生命週期。

2. 實現:根據具體應用情況,處理器可能需要被高度整合。在DSP應用中可以有好幾種選擇,專用積體電路(ASIC)就是其中的一種。這些元件可以被作為DSP協同處理器,但對於許多通用訊號處理來說顯得不夠靈活。另外可以選擇精簡指令集電腦(RISC)處理器。這些處理器的時脈速度特別快,但可擴展性不是很強,而且會產生其它即時(可預測性)問題。現場可程式陣列(FPGA)是一種快速元件,能夠快速高效地完成某些DSP功能,但與DSP相較開發難度比較大,因為在DSP中一個簡單的程式就能完成相同的功能。如果是主訊號處理應用,則最好採用性能強大功耗也較大的通用處理器。如果需要快速升級訊號處理應用,採用DSP等可程式元件比定製的硬體方案要更好些。

3. 工具支援:支援軟體製作、除錯、系統整合、程式碼調整和最佳化工具對整體計畫成功與否非常關鍵。

4. 作業系統支援:嵌入式系統應用需要使用有幫助的抽象來減少其複雜性。針對處理器系列產品作過最佳化的商作為業系統(OS)能夠縮短設備開發週期和上市時間。

5. 過去的經驗:擁有處理器或處理器系列產品的開發經驗可以減少可觀的學習新處理器、工具和技術的時間。

6. 模擬支援:循環精確模擬對某些類型的應用來說非常重要,特別是數位訊號處理應用中許多功能正確性驗証都是採用模擬技術完成的。嵌入式系統的軟硬體協同設計模型也促使處理器模擬器成為開發流程中一個非常有用的工具。

7. 應用支援:應用支援有多種方式,從透過熱線或網站取得的應用專家支援,到預打包的軟體和應用框架,甚至完好的測試平台。一些DSP處理器能夠提供周邊元件的驅動器、板級支援包和其它‘啟動幫助組件’。有了這些軟體組件後,應用開發師就無需再編寫元件驅動器等‘無附加值’的軟體,相反,他們可以把精力放在具有附加值的功能開發上,使他們的產品能獨樹一幟。

8. 成本:嵌入式應用對成本特別感應,而產品成本的稍許差別都可能導致市場的失敗。

9. 功耗:市場上有許多依靠電池工作的可攜嵌入式即時系統,此時電池壽命將成為系統的重要參數。這種情況下應該考慮使用針對可攜式應用最佳化的低功耗元件。

10. 傳統程式碼:如果選中的處理器需要設計人員編寫與現存程式碼的介面,將會導致整個設計流程的嚴重滯後。因此需要選擇一款程式碼相容的元件來避免或減少這一步驟造成的影響。

11. 算法複雜性:某些處理器能夠非常高效地處理某類算法,因此最好選擇能夠與應用最佳匹配的處理器。例如,具有許多控制程式碼的有限狀態機應用應該映射為類似ARM處理器的RISC元件。編碼、解碼和回波抵銷等訊號處理應用應該映射為數位訊號處理器,或具有訊號處理加速器的某種元件。

12. 上市時間:計畫的完成時間會加速處理器的選擇過程,這一過程與先前講述的幾個關鍵事項密切相關,如OS的可用性、其它軟體組件以及可攜性問題。

設計還是購買?圖2:概念開發和系統定義。

是自己設計還是購買成品呢?如果有可能不重新設計,價格也比較合理的話,購買要比自己開發更有利。由於嵌入式系統預算的縮減、即時作業系統(RTOS)和TCP/IP堆疊等商用技術的改進、嵌入式系統要求的擴展,採用商業性現成(COTS)技術正變得越來越普遍。採用COTS技術能夠縮短開發週期中編碼、除錯、單元測試和程式碼檢查階段的時間。

然而,作出購買而非設計決定會改變一個組織的基礎開發流程。一個組織希望實現的新業務有:供應商調研和評估、產品評估以及即時的供應商交流與關係設立。產品開發的其它活動不會取消,但會作出一些改變。這些變化包括更關注如何將系統硬體與軟體更好地組合在一起,而不再把重點放在模組自己內部的運作上。另外必須更側重於相容性、可配置性和可整合性等結構上的問題。

必須很好的理解和高效地管理由於決定採用‘購買’而非‘設計製作’方式所導致的結果。首先,自然是對供應商提出產品要求、產品可靠性、計畫和產品文檔等依賴請求。這種情況下產品要求中的靈活性會打些折扣。購買商用產品意味著接受現有的產品要求,但這種要求也許不能完美地匹配自身產品的要求,這就需要設計人員把這種缺點與COTS技術提供的成本與上市時間優勢作一個理智的權衡。

因此重要的是最終用戶與技術人員必須參與COTS供應商的選擇,考慮的重點要放在業務需求上而非技術本身。性價比分析所要考慮的因素應包括易學性、易用性、供應商名聲和長期穩定性、授權方式和培訓。所有與性能有關的聲明必須盡可能採用內部或外部基準或展示來到得有效性認証。為了避免可能出現的偏差,評估標準應該在收到供應商建議前就制定好。選擇供應商的主要工作包括研究和理解技術標準和相當的文件、採用類似建議請求(RFP)的標準模式徵求供應商的建議、對供應商建議進行評估和排序、選擇供應商並簽署合約。

除了評估技術外,還應對供應商本身進行評審。要充分了解供應商開業時間的長短、供應商的背景和名聲、供應商的其它用戶對它的評價和意見、供應商人力資源的投入和對你的計畫或計畫的支援情況,以及供應商對業務和要求的理解程度,甚至對未來計畫的承諾。以前軟體團隊認為軟體開發方案遵循類似於製作架構的特定模式。提供符合一般模式的抽象方法能夠使軟體團隊定製符合他們特殊要求的方案,同時遵循被前人証明是高效和正確的模式。

嵌入式系統供應商已經認識到需要透過提供軟體組件和類似於設計模式的框架來加速軟體開發進程。在DSP領域,供應商向DSP設計工程師提供包括參考框架(RF)在內的上百個以DSP為核心的軟體組件用於產品和系統開發。設計完好的參考框架能夠在設備開發的早期階段讓設計人員快速入門。RF內含方便易用並且適合多種應用的源程式碼。由此可以取消許多早期的低層設計決策,使開發人員能有更多的時間用在真正顯示產品特色的程式碼開發上。設計人員可以選擇能夠最大程度滿足他們系統需要的專業RF,然後整合適配的算法(可以是其它供應商出售的DSP COTS算法,或供應商自己的算法)產生適合各種終端設備的特殊應用,如寬頻、語音、視訊影像、生物測量和無線設備。這些RF提供百分之百的C語言原始碼,並且沒有權利金要求。RF源程式碼可以從www.ti.com/downloadrfnow網站下載。

軟體性能工程

許多嵌入式即時系統必須滿足一系列性能目標。一般來講,性能是一個軟體系統或組件對時間要求滿足程度的一種指示。這?的時間指標可以用響應時間和吞吐量來衡量,該時間值是指響應某種要求所需的時間,而吞吐量用以指示系統在特定時間間隔內能夠處理的請求數量。可擴展性是嵌入式即時系統的另外一個重要指標,可以用它來衡量系統要求提高時系統能夠繼續滿足響應時間或吞吐量要求的能力。

如果在整個開產生命週期內得不到正確的性能管理,那麼即使選擇了正確的處理器和軟體也是徒勞的。性能故障的後果是非常嚴重的,它可能損傷與客戶的關係,造成收入下降,甚至導致整個計畫失敗。因此在整個生命週期內需要隨時關注性能問題。性能管理可以被動或主動完成。被動方式需要採用一個較大的處理器解決性能問題,它只在系統完成構架、設計和實現後處理性能問題,在解決問題前一直處於等待狀態,直到實際需要測量的事件產生。主動方式是指整個生命週期內一直在追蹤和交流性能問題,同時開發用以識別性能劣化的進程,並在性能處理中培養團隊成員。

本文小結

顯然開發嵌入式即時系統是一個相當複雜的過程,本文旨在啟發設計人員在分析初始要求時如何權衡硬體與軟體之間的關係,要時刻在系統靈活性、速度、成本、計畫和可用工具之間作出權衡,並充分考慮各個供應商提供長期可靠支援的可能性。

作者:Robert Oshana


工程經理


德州儀器公司

1、嵌入式系統設計問題(剩餘章節),作者Phillip Koopman,http://www-2.cs.cmu.edu/~koopman/iccd96/index.html

2、在嵌入式系統設計第2頁圖1-1基礎上作的修改,製程、工具和技術介紹,作者:Arnold Berger, CMP2002。

3、電子設計新聞(EDN)雜誌,‘速率?定分析使即時系統按時完成’,1997年9月1日。

4、選擇DSP處理器,Berkeley設計技術,2000,http://www.bdti.com/articles/choose_2000.pdf和嵌入式系統設計,製程、工具和技術介紹,作者:arnold Berger, CMP, 2002.

5、(SEI COTS基礎啟動http://www.sei.cmu.edu/cbs/cbs_description.html)

6、基於COTS的軟體開發;製程和開放問題,V.R.Basili et al www.research.umbc.edu/~cseaman/papers/jss2001.pdf

7、‘設計模式:可再使用的針對對象軟體的基本原理’,作者:E. Gamma, R. Helm, R. Johnson, 和J. Vlissides




投票數:   加入我的最愛
我來評論 - 嵌入式即時系統開發的正確選擇
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首