計算機畢業論文:嵌入式實時系統開發的正確選擇

時間:2022-11-16 06:30:00

導語:計算機畢業論文:嵌入式實時系統開發的正確選擇一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

計算機畢業論文:嵌入式實時系統開發的正確選擇

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

嵌入式系統通常是一個包含微處理器的特殊計算機系統,是一個較大系統或設備的組成部分,它在很大程度上決定了設備的功能特性。許多具備數字接口的設備如微波設備、錄像機(VCR)和汽車等都會用到嵌入式系統。有些嵌入式系統需要使用操作系統,有些則用單個程序實現整個邏輯,但所有嵌入式系統提供的功能都要比通用計算系統更專業些。嵌入式系統功能包括:

1.監視環境-從輸入傳感器讀取數據,然后處理數據并顯示結果。

2.控制環境-產生并向激勵器發送命令。

3.轉換信息-轉換并處理收集到的數據。

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

嵌入式系統特性

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

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

2.反應性系統-反應性計算的意思是系統(主要是軟件部分)根據傳感器信息對環境作出響應,并利用激勵器控制環境,同時系統速度能與環境速度同步。

3.分布式-嵌入式系統的一般特征是多個通信進程在多個通過通信鏈路鏈接的CPU或ASIC上運行。

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

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

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

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

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

實時系統的特性

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

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

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

嵌入式系統開發生命周期

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

早在設計要求的定義與分析階段,系統開發人員就必須與設計工程師協同分配硬件或/和軟件方面的要求。這種分配的依據是早期系統仿真、原型設計和行為建模結果、工程師自己的經驗以及上文提及的各種因素權衡結果(圖2)。一旦分配結束,就可以立即著手具體的設計和實現。實時系統開發中軟硬件的并行設計會使用到各種分析技術,包括:

1.硬件與軟件仿真;

2.硬件/軟件協同仿真;

3.可調度的建模技術,如速率恒定分析;

4.原型設計和漸進式開發。

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

理解設計要求

在作執行任何類型的處理器評估時,首先要詳細理解用戶的功能和非功能性要求。功能性要求通常比較容易獲得,而非功能性要求較難定量測量。但對于實時系統來說,定義響應時間這樣的要求是非常重要的。實時要求可以有以下幾種:

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的可用性、其它軟件組件以及便攜性問題。

設計還是購買?

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

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

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

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

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

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

軟件性能工程

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

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

本文小結

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