新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 兩種嵌入式系統(tǒng)設(shè)計(jì)模型研究

兩種嵌入式系統(tǒng)設(shè)計(jì)模型研究

作者: 時(shí)間:2008-04-28 來源:網(wǎng)絡(luò) 收藏
摘 要:隨著應(yīng)用領(lǐng)域的不斷擴(kuò)展及本身的復(fù)雜性的不斷增加,所涉及的問題也越來越多,難度也越來越大。如何在中根據(jù)實(shí)際需要選擇合適的是設(shè)計(jì)者需要考慮的問題。本文介紹了兩種常見的嵌入式系統(tǒng)設(shè)計(jì),并對(duì)這兩種嵌入式系統(tǒng)設(shè)計(jì)進(jìn)行了分析比較。
關(guān)鍵詞:嵌入式系統(tǒng);設(shè)計(jì)模型;硬件優(yōu)先;協(xié)同設(shè)計(jì)

Abstract: With the extension of embedded system application domain and the enhancement of the complexity on embedded system nature; More and more issues occurs in embedded system design which brings more complications. How to choose a proper design model in our practical embedded system design is an important problem which designer needs to consider. In this paper, we describe two type of popular embedded system design model and analyze, compare the distinction of the two type of model.

Keywords: embedded system; design model; hardware precedence; Co-design

1 引 言

當(dāng)今,在嵌入式領(lǐng)域,嵌入式技術(shù)已經(jīng)成為新的技術(shù)熱點(diǎn)。嵌入式系統(tǒng)的最典型的特點(diǎn)是它同人們的日常生活緊密相關(guān),小到MP3、PDA等微型數(shù)字化設(shè)備,大到信息家電、智能電器、車載GPS等形形色色運(yùn)用了嵌入式技術(shù)的電子產(chǎn)品和各種新型嵌入式設(shè)備在數(shù)量上現(xiàn)已遠(yuǎn)遠(yuǎn)超過了通用計(jì)算機(jī)。在嵌入式設(shè)備發(fā)展的30多年的歷史中,嵌入式技術(shù)從來沒有像現(xiàn)在這樣風(fēng)靡過,人類也從來沒有像現(xiàn)在這樣享受嵌入式技術(shù)帶來的便利。

嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。

從整體來看,我們將嵌入式系統(tǒng)分為兩個(gè)部分;第一個(gè)部分是與應(yīng)用相關(guān)的硬件平臺(tái),它負(fù)責(zé)和外部環(huán)境進(jìn)行交互;第二部分是在這個(gè)硬件平臺(tái)上運(yùn)行的功能軟件。在過去的幾年里,微電子技術(shù)的迅速發(fā)展使得硬件部件的花費(fèi)降低了很多,這使得有很多人將一些原來必須使用軟件的部分用硬件實(shí)現(xiàn)了出來,軟件和硬件的區(qū)分也逐漸變得模糊。然而,嵌入式系統(tǒng)的開發(fā)者必須在最短的時(shí)限內(nèi)和最低的花費(fèi)設(shè)計(jì)出高性能的系統(tǒng)。最重要的步驟是根據(jù)具體需求將整個(gè)系統(tǒng)分為硬件部分和軟件部分。在通用PC平臺(tái)上作開發(fā),這種軟硬件的劃分是很輕松的;但是,基于嵌入式平臺(tái),需要考慮很多的因素。例如:為了提高運(yùn)行速度和減少任務(wù)切換的花費(fèi),必須將某些功能用硬件來實(shí)現(xiàn)。本文重點(diǎn)介紹了兩種嵌入式系統(tǒng)設(shè)計(jì)模型,以及對(duì)這兩種嵌入式系統(tǒng)設(shè)計(jì)模型進(jìn)行了分析比較。

2 硬件優(yōu)先的設(shè)計(jì)方法

硬件優(yōu)先的設(shè)計(jì)方法,即傳統(tǒng)的系統(tǒng)設(shè)計(jì)方法,它是一種依靠順序控制流的做法。

這種方法首先是對(duì)整個(gè)系統(tǒng)的需求分析,由于嵌入式系統(tǒng)的特殊性,需要仔細(xì)考慮功能性、能耗、成本花費(fèi)等各個(gè)方面。在完成了需求分析以后,下一步要進(jìn)行的就是軟硬件部分的劃分,這一步十分重要,從這個(gè)時(shí)候起,系統(tǒng)將要被分為軟件和硬件兩個(gè)部分:

(1) 硬件部分包括系統(tǒng)的硬件平臺(tái)以及某些用專用硬件(例如:ASIC和Ip-cores)實(shí)現(xiàn)的功能模塊;

(2) 軟件部分是指經(jīng)過特殊處理過的操作系統(tǒng)和建立在操作系統(tǒng)之上的一些功能模塊。

第二步是相當(dāng)重要的一個(gè)步驟,它通常是由嵌入式系統(tǒng)設(shè)計(jì)者根據(jù)自己的經(jīng)驗(yàn)和直覺來做的。在這個(gè)部分完成以后,就要進(jìn)行硬件的設(shè)計(jì)和實(shí)現(xiàn)。在硬件部分可用以后,就可以開始軟件部分的實(shí)現(xiàn)了。在這個(gè)序列化的設(shè)計(jì)方法的最后一步就是整合與測(cè)試,即將軟件和硬件部分融合到一起來評(píng)估整個(gè)系統(tǒng)的性能。

 

圖1硬件優(yōu)先的嵌入式設(shè)計(jì)模型

盡管硬件優(yōu)先的設(shè)計(jì)模型存在有一些問題(在文中第四部分詳細(xì)說明),但它依然是一種很流行的方案。在一些小型和中型復(fù)雜度的系統(tǒng)中,由于硬件的復(fù)雜度不高,而且技術(shù)也比較成熟,通常都會(huì)選擇這種方法;但是在一些大型的系統(tǒng)中,這種方法就不是很適宜了,需要更先進(jìn)的設(shè)計(jì)模型。

3 軟硬件協(xié)同設(shè)計(jì)方法

軟硬件協(xié)同設(shè)計(jì)是在系統(tǒng)目標(biāo)要求的指導(dǎo)下,通過綜合分析系統(tǒng)軟硬件功能及現(xiàn)有資源,最大限度地挖掘系統(tǒng)軟硬件之間的并發(fā)性,協(xié)同設(shè)計(jì)軟硬件體系結(jié)構(gòu),以使系統(tǒng)能夠工作在最佳工作狀態(tài)。它的實(shí)質(zhì)就是讓軟件和硬件體系作為一個(gè)整體并行設(shè)計(jì)、找到軟硬件的最佳結(jié)合點(diǎn),使它們能夠以最有效的方式相互作用,互相結(jié)合,從而使系統(tǒng)工作在最佳狀態(tài)。

這種方法的第一步需要用形式化的方法對(duì)系統(tǒng)的需求進(jìn)行描述。有幾種方法可以采用:Petri網(wǎng)、數(shù)據(jù)流圖以及狀態(tài)機(jī)。這種設(shè)計(jì)方式試圖利用這些數(shù)學(xué)上的推理方法來對(duì)系統(tǒng)行為做一個(gè)全面的描述,在對(duì)系統(tǒng)進(jìn)行形式化的描述以后,就可以將系統(tǒng)分解為一些功能模塊,每個(gè)模塊都實(shí)現(xiàn)整體功能的一部分。

在第一步中得到的功能模塊既可以用硬件也可以用軟件來實(shí)現(xiàn)。利用形式化的方法,我們可以采用最佳的選擇。在軟硬件劃分的過程中,通過各方面的評(píng)估,例如:時(shí)間復(fù)雜度、花費(fèi)估計(jì)等得到一組最佳的選擇。在得到了最優(yōu)解以后,就是實(shí)現(xiàn)各模塊了;但是,這里的實(shí)現(xiàn)僅僅只是理論上的,例如:硬件模塊用VHDL描述,軟件模塊用C或C++語言表示。

  

 圖2 軟硬件協(xié)同設(shè)計(jì)模型 

最后一步就是系統(tǒng)整合了。在這個(gè)過程中,將所有的模塊組合到一起,然后驗(yàn)證這些模塊的組合是否符合系統(tǒng)的形式化說明;如果不符合,就要重新進(jìn)行軟硬件的劃分。當(dāng)前的熱點(diǎn)之一是對(duì)驗(yàn)證算法的理論,利用這些理論算法,完全可以將軟硬件的劃分和模塊的驗(yàn)證發(fā)展為自動(dòng)化的過程。

由于軟硬件的劃分是基于理論算法的,這在設(shè)計(jì)中可以盡早的暴露問題,以減少損失。但是這種設(shè)計(jì)模型也有其局限性(在文中第四部分詳細(xì)說明)。

4 兩種模型的分析與比較

4.1 硬件優(yōu)先設(shè)計(jì)模型分析

利用硬件優(yōu)先這種方法設(shè)計(jì)的嵌入式系統(tǒng)一直到最后一步才能驗(yàn)證系統(tǒng)設(shè)計(jì)的正確性。因此,在系統(tǒng)開發(fā)過程中通過反復(fù)修改、反復(fù)試驗(yàn)的方法使產(chǎn)品達(dá)到設(shè)計(jì)要求,這在很大程度上依賴于設(shè)計(jì)者的經(jīng)驗(yàn);而且設(shè)計(jì)周期長(zhǎng)、費(fèi)用開支大,產(chǎn)品質(zhì)量難以保證;這是因?yàn)樵诜磸?fù)修改過程中,常會(huì)在某些方面背離原始設(shè)計(jì)的要求。因此,為了降低設(shè)計(jì)的風(fēng)險(xiǎn),設(shè)計(jì)人員會(huì)選擇采用己經(jīng)成熟的模塊,而不是自己重新設(shè)計(jì);與此同時(shí),這種設(shè)計(jì)方法還有一個(gè)很大的缺點(diǎn):在硬件部分可用之前是不能實(shí)施軟件模塊。由于以上問題,硬件優(yōu)先設(shè)計(jì)方法適用于在一些小型和中型復(fù)雜度的系統(tǒng)中;在這些系統(tǒng)中,硬件的復(fù)雜度不高,而且技術(shù)也相對(duì)比較成熟;因此通常都會(huì)選擇這種方法。

4.2 軟硬件協(xié)同設(shè)計(jì)模型分析

在軟硬件協(xié)同設(shè)計(jì)模型中,由于軟硬件的劃分是基于理論算法的,這在設(shè)計(jì)中可以盡早的暴露問題,以減少損失;但是,這種設(shè)計(jì)模型也有其局限性,具體表現(xiàn)在:

(1) 可有的信息是否足夠。若要采用形式化的方法描述整個(gè)系統(tǒng),并且正確的將系統(tǒng)分解為多個(gè)功能模塊的組合體;設(shè)計(jì)者需要知道整個(gè)系統(tǒng)中的功能描述;但是,有些第三方開發(fā)的模塊,設(shè)計(jì)者是無法知道其內(nèi)部功能實(shí)現(xiàn)的;這種情況可能會(huì)導(dǎo)致系統(tǒng)劃分過程的不準(zhǔn)確。

(2) 軟硬件模塊互相替換的自由度。在這種設(shè)計(jì)模型中,將系統(tǒng)分為軟硬件模塊后,可認(rèn)為各個(gè)模塊都是能夠互相轉(zhuǎn)換的:即原先被劃分為用硬件實(shí)現(xiàn)的模塊也可以用軟件來實(shí)現(xiàn),反之亦然。從理論上來看這是沒有問題的,但在實(shí)際的應(yīng)用中是不能達(dá)到這么靈活的理論高度的。

4.3 兩種模型的綜合比較

一般來說,嵌入式系統(tǒng)設(shè)計(jì)可以分為系統(tǒng)描述、系統(tǒng)設(shè)計(jì)、系統(tǒng)評(píng)價(jià)與綜合實(shí)現(xiàn)四個(gè)階段。上述的兩種設(shè)計(jì)模型在這四個(gè)階段中各有異同:

(1) 在系統(tǒng)描述階段,雖然兩種設(shè)計(jì)方法都是將系統(tǒng)功能全面表述出來,但軟硬件協(xié)同設(shè)計(jì)的方法除了全面描述系統(tǒng)功能外、還深入挖掘軟硬件之間的協(xié)同性,從而使系統(tǒng)能夠穩(wěn)定、高效地工作。

(2) 在系統(tǒng)設(shè)計(jì)階段,兩種設(shè)計(jì)方法都將完成軟硬件功能的分配,即確定哪些功能由硬件模塊來實(shí)現(xiàn),哪些系統(tǒng)功能由軟件模塊來實(shí)現(xiàn),以及系統(tǒng)映射,即根據(jù)系統(tǒng)描述和功能分配選擇確定系統(tǒng)的體系結(jié)構(gòu)。在軟硬件功能分配階段,由于硬件模塊的可編程性和嵌入式系統(tǒng)的變異性,軟硬件的界限已經(jīng)不十分清楚;因此,軟硬件的功能劃分是一個(gè)復(fù)雜而艱苦的過程;這一方面是由于軟硬件劃分的工作還處在初級(jí)階段;另一方面則是由于這一問題內(nèi)在的復(fù)雜性。在進(jìn)行軟硬件功能分配時(shí),既要考慮市場(chǎng)可以提供的資源狀況,又要考慮系統(tǒng)造價(jià)、開發(fā)周期等因素。硬件優(yōu)先的設(shè)計(jì)方法一般根據(jù)設(shè)計(jì)者的經(jīng)驗(yàn)來確定軟硬件的劃分,而軟硬件協(xié)同的設(shè)計(jì)方法則利用形式化的方法,通過各方面的評(píng)估,例如:時(shí)間復(fù)雜度、花費(fèi)估計(jì)等得到一組最佳的選擇。在系統(tǒng)映射階段,就是要確定系統(tǒng)將采用哪些硬件模塊(如微處理器、微控制器、存儲(chǔ)器、FPGA、DSP等部件)、軟件模塊(操作系統(tǒng)、驅(qū)動(dòng)程序等)以及軟硬件模塊之間的聯(lián)系媒體(如共享存儲(chǔ)器、總線等),在這一階段,采用硬件優(yōu)先設(shè)計(jì)方法的設(shè)計(jì)者為了降低設(shè)計(jì)的風(fēng)險(xiǎn),通常會(huì)選擇采用己經(jīng)成熟的硬件模塊,而不是自己重新設(shè)計(jì);而采用軟硬件協(xié)同設(shè)計(jì)方法的設(shè)計(jì)者則需要將軟件和硬件體系作為一個(gè)整體并行設(shè)計(jì)、找到軟硬件的最佳結(jié)合點(diǎn);這一過程顯然是一個(gè)復(fù)雜而艱苦的過程,但用這種方法可以使軟硬件能夠以最有效的方式相互作用,互相結(jié)合,從而使系統(tǒng)工作在最佳狀態(tài)。

(3) 在系統(tǒng)評(píng)價(jià)階段,即檢查確認(rèn)系統(tǒng)設(shè)計(jì)的正確性的過程。采用硬件優(yōu)先方法的設(shè)計(jì)者在系統(tǒng)開發(fā)過程中通過反復(fù)修改、反復(fù)試驗(yàn)的方法來對(duì)設(shè)計(jì)結(jié)果進(jìn)行驗(yàn)證評(píng)估,這在很大程度上依賴于設(shè)計(jì)者的經(jīng)驗(yàn);而采用軟硬件協(xié)同的設(shè)計(jì)者則通過形式化評(píng)價(jià)技術(shù),通過建立精確的數(shù)學(xué)模型、利用數(shù)學(xué)手段檢測(cè)系統(tǒng)的正確性。因此,對(duì)系統(tǒng)中的不確定因素及隱性指標(biāo)的檢查有特殊效果。

(4) 在綜合實(shí)現(xiàn)階段,即軟件系統(tǒng)、硬件系統(tǒng)的具體制作的過程。硬件優(yōu)先的設(shè)計(jì)方法是先進(jìn)行硬件部分的實(shí)現(xiàn),在硬件部分完成后再進(jìn)行軟件部分的實(shí)現(xiàn);而軟硬件協(xié)同的設(shè)計(jì)方法則是將軟件和硬件體系作為一個(gè)整體并行設(shè)計(jì)、通過協(xié)同設(shè)計(jì),深入挖掘軟硬件之間的協(xié)同性,從而使設(shè)計(jì)出來的系統(tǒng)能夠穩(wěn)定、高效地工作。

通過上述的分析與比較可以看出硬件優(yōu)先的設(shè)計(jì)方法適用于一些小型和中型復(fù)雜度的系統(tǒng)中,在這些系統(tǒng)中由于硬件的復(fù)雜度不高,而且技術(shù)也比較成熟,選擇這種方法比較簡(jiǎn)單易行;但是在一些大型的系統(tǒng)中,這種方法就不是很適宜了,需要更先進(jìn)的設(shè)計(jì)模型。軟硬件協(xié)同的設(shè)計(jì)模型比較適合在一些大型的系統(tǒng)中運(yùn)用,在一些大型的系統(tǒng)設(shè)計(jì)中,設(shè)計(jì)者的主要任務(wù)就是要在系統(tǒng)描述的基礎(chǔ)上確定功能模塊、分配系統(tǒng)功能、建立模塊間的聯(lián)系、規(guī)定模塊之間的作用方式。軟硬件協(xié)同設(shè)計(jì)模型與硬件優(yōu)先設(shè)計(jì)模型相比,更能有效地解決好這些問題。

5 結(jié) 論

本文介紹了兩種用于嵌入式系統(tǒng)開發(fā)的設(shè)計(jì)模型:硬件優(yōu)先和軟硬件協(xié)同設(shè)計(jì)模型。在硬件優(yōu)先設(shè)計(jì)模型中,要求先根據(jù)具體的需求設(shè)計(jì)出硬件平臺(tái),然后在這個(gè)平臺(tái)的基礎(chǔ)上進(jìn)行軟件開發(fā);通常,硬件平臺(tái)的開發(fā)者還要提供相應(yīng)的操作系統(tǒng)。在另外一種設(shè)計(jì)模型中,可以利用一些理論算法對(duì)劃分的軟硬件模塊進(jìn)行驗(yàn)證。當(dāng)然,這兩種模型并非完美,它們都有各自的優(yōu)缺點(diǎn),這需要在實(shí)際的應(yīng)用中根據(jù)實(shí)際需要進(jìn)行適當(dāng)?shù)倪x擇以設(shè)計(jì)出合適的滿足需要的嵌入式系統(tǒng)。

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


評(píng)論


相關(guān)推薦

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

關(guān)閉