新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式實(shí)時系統(tǒng)開發(fā)的正確選擇

嵌入式實(shí)時系統(tǒng)開發(fā)的正確選擇

作者: 時間:2012-03-31 來源:網(wǎng)絡(luò) 收藏

系統(tǒng)開發(fā)生命周期

許多系統(tǒng)設(shè)計(jì)工程師都會經(jīng)歷硬件/軟件協(xié)同設(shè)計(jì)的過程(圖1),此過程中硬件與軟件將同時進(jìn)行開發(fā)。理解硬件與軟件功能相互之間的關(guān)系及界限有助于確保設(shè)計(jì)要求得到完整正確的理解和實(shí)現(xiàn)。

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

1. 硬件與軟件仿真;

2. 硬件/軟件協(xié)同仿真;

3. 可調(diào)度的建模技術(shù),如速率恒定分析;

4. 原型設(shè)計(jì)和漸進(jìn)式開發(fā)。

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

理解設(shè)計(jì)要求

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

1. 激勵-激勵(S-S):到系統(tǒng)去的兩個激勵之間的實(shí)時關(guān)系;

2. 激勵-響應(yīng)(S-R):一個激勵與來自系統(tǒng)的一個后序響應(yīng)之間的實(shí)時關(guān)系;

3. 響應(yīng)-激勵(R-S):一個響應(yīng)與到系統(tǒng)去的一個后序激勵之間的實(shí)時關(guān)系;

4. 響應(yīng)-響應(yīng)(R-R):來自系統(tǒng)的兩個響應(yīng)之間的實(shí)時關(guān)系。

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

因此要從最初系統(tǒng)要求設(shè)計(jì)時就很好地理解這一點(diǎn),因?yàn)镾-R和R-R約束可以引導(dǎo)設(shè)計(jì)工程師進(jìn)行代碼優(yōu)化,而S-S和R-S約束需要用額外的軟件來檢測和響應(yīng)時序沖突。

處理器選擇

比較適合用于系統(tǒng)優(yōu)化。由于這些系統(tǒng)主要用來解決范圍相對較窄的問題,因此硬件和軟件能夠得到最佳優(yōu)化,并很好地應(yīng)用于單一設(shè)備。這樣做的目的是要在軟硬件最佳折衷狀態(tài)下開展系統(tǒng)設(shè)計(jì)。影響這一階段設(shè)計(jì)的主要因素是處理器的選擇、軟硬件的分割和總體系統(tǒng)集成。

在為實(shí)時系統(tǒng)選擇處理器時需要考慮以下幾個方面:

1. 性能:處理器必須有足夠的性能執(zhí)行任務(wù)和支持產(chǎn)品生命周期。

2. 實(shí)現(xiàn):根據(jù)具體應(yīng)用情況,處理器可能需要被高度集成。在DSP應(yīng)用中可以有好幾種選擇,專用集成電路(ASIC)就是其中的一種。這些器件可以被用作 DSP協(xié)處理器,但對于許多通用信號處理來說顯得不夠靈活。另外可以選擇精簡指令集計(jì)算機(jī)(RISC)處理器。這些處理器的時鐘速度特別快,但可擴(kuò)展性不是很強(qiáng),而且會發(fā)生其它實(shí)時(可預(yù)測性)問題。現(xiàn)場可編程陣列(FPGA)是一種快速器件,能夠快速高效地完成某些DSP功能,但與DSP相比開發(fā)難度比較大,因?yàn)樵贒SP中一個簡單的程序就能完成相同的功能。如果是主信號處理應(yīng)用,則最好采用性能強(qiáng)大功耗也較大的通用處理器。如果需要快速升級信號處理應(yīng)用,采用DSP等可編程器件比定制的硬件方案要更好些。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉