嵌入式實(shí)時(shí)系統(tǒng)開(kāi)發(fā)的正確選擇
(作者未知) 2009/5/2
(接上頁(yè))設(shè)計(jì)要求
在作執(zhí)行任何類型的處理器評(píng)估時(shí),首先要詳細(xì)理解用戶的功能和非功能性要求。功能性要求通常比較容易獲得,而非功能性要求較難定量測(cè)量。但對(duì)于實(shí)時(shí)系統(tǒng)來(lái)說(shuō),定義響應(yīng)時(shí)間這樣的要求是非常重要的。實(shí)時(shí)要求可以有以下幾種:
1. 激勵(lì)-激勵(lì)(S-S):到系統(tǒng)去的兩個(gè)激勵(lì)之間的實(shí)時(shí)關(guān)系;
2. 激勵(lì)-響應(yīng)(S-R):一個(gè)激勵(lì)與來(lái)自系統(tǒng)的一個(gè)后序響應(yīng)之間的實(shí)時(shí)關(guān)系;
3. 響應(yīng)-激勵(lì)(R-S):一個(gè)響應(yīng)與到系統(tǒng)去的一個(gè)后序激勵(lì)之間的實(shí)時(shí)關(guān)系;
4. 響應(yīng)-響應(yīng)(R-R):來(lái)自系統(tǒng)的兩個(gè)響應(yīng)之間的實(shí)時(shí)關(guān)系。
S-R和R-R關(guān)系定義了對(duì)指定系統(tǒng)的時(shí)序要求。這種情況下所實(shí)現(xiàn)的功能必須足夠快(或足夠慢)才能滿足時(shí)序要求。S-S和R-S約束暗示系統(tǒng)必須能夠從環(huán)境(可能是一個(gè)用戶或另外一個(gè)系統(tǒng))中檢測(cè)出特定時(shí)序約束的破壞。這些約束與功能的快慢沒(méi)有關(guān)系,相反它們能夠檢測(cè)出某些遭到破壞的時(shí)序約束并采取必要的措施。因此要從最初系統(tǒng)要求設(shè)計(jì)時(shí)就很好地理解這一點(diǎn),因?yàn)镾-R和R-R約束可以引導(dǎo)設(shè)計(jì)工程師進(jìn)行代碼優(yōu)化,而S-S和R-S約束需要用額外的軟件來(lái)檢測(cè)和響應(yīng)時(shí)序沖突。
處理器選擇
嵌入式實(shí)時(shí)系統(tǒng)比較適合用于系統(tǒng)優(yōu)化。由于這些系統(tǒng)主要用來(lái)解決范圍相對(duì)較窄的問(wèn)題,因此硬件和軟件能夠得到最佳優(yōu)化,并很好地應(yīng)用于單一設(shè)備。這樣做的目的是要在軟硬件最佳折衷狀態(tài)下開(kāi)展系統(tǒng)設(shè)計(jì)。影響這一階段設(shè)計(jì)的主要因素是處理器的選擇、軟硬件的分割和總體系統(tǒng)集成。
在為嵌入式實(shí)時(shí)系統(tǒng)選擇處理器時(shí)需要考慮以下幾個(gè)方面:
1. 性能:處理器必須有足夠的性能執(zhí)行任務(wù)和支持產(chǎn)品生命周期。
2. 實(shí)現(xiàn):根據(jù)具體應(yīng)用情況,處理器可能需要被高度集成。在DSP應(yīng)用中可以有好幾種選擇,專用集成電路(ASIC)就是其中的一種。這些器件可以被用作DSP協(xié)處理器,但對(duì)于許多通用信號(hào)處理來(lái)說(shuō)顯得不夠靈活。另外可以選擇精簡(jiǎn)指令集計(jì)算機(jī)(RISC)處理器。這些處理器的時(shí)鐘速度特別快,但可擴(kuò)展性不是很強(qiáng),而且會(huì)發(fā)生其它實(shí)時(shí)(可預(yù)測(cè)性)問(wèn)題,F(xiàn)場(chǎng)可編程陣列(FPGA)是一種快速器件,能夠快速高效地完成某些DSP功能,但與DSP相比開(kāi)發(fā)難度比較大,因?yàn)樵贒SP中一個(gè)簡(jiǎn)單的程序就能完成相同的功能。如果是主信號(hào)處理應(yīng)用,則最好采用性能強(qiáng)大功耗也較大的通用處理器。如果需要快速升級(jí)信號(hào)處理應(yīng)用,采用DSP等可編程器件比定制的硬件方案要更好些。
3. 工具支持:支持軟件創(chuàng)建、調(diào)試、系統(tǒng)集成、代碼調(diào)整和優(yōu)化工具對(duì)整體項(xiàng)目成功與否非常關(guān)鍵。
4. 操作系統(tǒng)支持:嵌入式系統(tǒng)應(yīng)用需要使用有幫助的抽象來(lái)減少其復(fù)雜性。針對(duì)處理器系列產(chǎn)品作過(guò)優(yōu)化的商用操作系統(tǒng)(OS)能夠縮短設(shè)備開(kāi)發(fā)周期和上市時(shí)間。
5. 過(guò)去的經(jīng)驗(yàn):擁有處理器或處理器系列產(chǎn)品的開(kāi)發(fā)經(jīng)驗(yàn)可以減少可觀的學(xué)習(xí)新處理器、工具和技術(shù)的時(shí)間。
6. 仿真支持:循環(huán)精確仿真對(duì)某些類型的應(yīng)用來(lái)說(shuō)非常重要,特別是數(shù)字信號(hào)處理應(yīng)用中許多功能正確性驗(yàn)證都是采用仿真技術(shù)完成的。嵌入式系統(tǒng)的軟硬件協(xié)同設(shè)計(jì)模型也促使處理器仿真器成為開(kāi)發(fā)流程中一個(gè)非常有用的工具。
7. 應(yīng)用支持:應(yīng)用支持有多種方式,從通過(guò)熱線或網(wǎng)站取得的應(yīng)用專家支持,到預(yù)打包的軟件和應(yīng)用框架,甚至完好的測(cè)試平臺(tái)。一些DSP處理器能夠提供外圍器件的驅(qū)動(dòng)器、板級(jí)支持包和其它“啟動(dòng)幫助組件”。有了這些軟件組件后,應(yīng)用開(kāi)發(fā)師就無(wú)需再編寫(xiě)器件驅(qū)動(dòng)器等“無(wú)附加值”的軟件,相反,他們可以把精力放在具有附加值的功能開(kāi)發(fā)上,使他們的產(chǎn)品能獨(dú)樹(shù)一幟。
8. 成本:嵌入式應(yīng)用對(duì)成本特別敏感,而產(chǎn)品成本的稍許差別都可能導(dǎo)致市場(chǎng)的失敗。
9. 功耗:市場(chǎng)上有許多依靠電池工作的便攜嵌入式實(shí)時(shí)系統(tǒng),此時(shí)電池壽命將成為系統(tǒng)的重要參數(shù)。這種情況下應(yīng)該考慮使用針對(duì)便攜式應(yīng)用優(yōu)化的低功耗器件。
10. 傳統(tǒng)代碼:如果選中的處理器需要設(shè)計(jì)人員編寫(xiě)與現(xiàn)存代碼的接口,將會(huì)導(dǎo)致整個(gè)設(shè)計(jì)流程的嚴(yán)重滯后。因此需要選擇一款代碼兼容的器件來(lái)避免或減少這一步驟造成的影響。
11. 算法復(fù)雜性:某些處理器能夠非常高效地處理某類算法,因此最好選擇能夠與應(yīng)用最佳匹配的處理器。例如,具有許多控制代碼的有限狀態(tài)機(jī)應(yīng)用應(yīng)該映射為類似ARM處理器的RISC器件。編碼、解碼和回波抵消等信號(hào)處理應(yīng)用應(yīng)該映射為數(shù)字信號(hào)處理器,或具有信號(hào)處理加速器的某種器件。
12. 上市時(shí)間:項(xiàng)目的完成時(shí)間會(huì)加快處理器的選擇過(guò)程,這一過(guò)程與先前講述的幾個(gè)關(guān)鍵事項(xiàng)密切相關(guān),如OS的可用性、其它軟件組件以及便攜性問(wèn)題。 (未完,下一頁(yè))
|