基于 DSP 芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子_第1頁
基于 DSP 芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子_第2頁
基于 DSP 芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子_第3頁
基于 DSP 芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子_第4頁
基于 DSP 芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于DSP芯片陣列的實(shí)時(shí)操作系統(tǒng)的研究-基礎(chǔ)電子摘要:文提出一種基于數(shù)字信號處理領(lǐng)域(DSP芯片)的實(shí)時(shí)嵌入式操作系統(tǒng),對該嵌入式操作系統(tǒng)的內(nèi)核體系結(jié)構(gòu)和特點(diǎn)進(jìn)行了深入的分析,并將此操作系統(tǒng)應(yīng)用到某型號聲納系統(tǒng)中。實(shí)際表明該實(shí)時(shí)操作系統(tǒng)具有很好的實(shí)時(shí)性和可靠性。

1引言

數(shù)字信號處理器(DSP)的出現(xiàn),伴隨著數(shù)字信號處理技術(shù)的空前發(fā)展。由多DSP組成的陣列信號處理系統(tǒng),使通信、雷達(dá)、聲納進(jìn)入數(shù)字化信息時(shí)代。但由于陣列信號處理系統(tǒng)結(jié)構(gòu)復(fù)雜,算法實(shí)現(xiàn)非常困難,程序設(shè)計(jì)人員在解決實(shí)際物理工程問題時(shí),不但需要解決算法實(shí)現(xiàn),而且要用更多的時(shí)間解決多任務(wù)并發(fā)工作、動(dòng)態(tài)進(jìn)程調(diào)度、同步信息傳輸?shù)葐栴}(前者是物理工程的算法實(shí)現(xiàn),后者屬于計(jì)算機(jī)操作系統(tǒng)的內(nèi)容)。為了解決物理工程和系統(tǒng)工程的矛盾,引入“多DSP嵌入式實(shí)時(shí)操作系統(tǒng)”是徹底解決物理工程技術(shù)人員編程困難的途徑,也是目前國際上比較推崇的解決方案。

2基于多DSP芯片的操作系統(tǒng)

“多DSP嵌入式實(shí)時(shí)操作系統(tǒng)”把操作系統(tǒng)技術(shù)和物理工程技術(shù)混合組成嵌入式信號處理系統(tǒng),實(shí)現(xiàn)了通用的硬件系統(tǒng)控制管理、資源優(yōu)化分配、任務(wù)實(shí)時(shí)調(diào)度等軟件功能的集合,可簡化聲納、雷達(dá)、通信等嵌入式實(shí)時(shí)系統(tǒng)的設(shè)計(jì)難度和提高系統(tǒng)的穩(wěn)定性和可靠性。操作系統(tǒng)是軟件功能模塊的集合,實(shí)現(xiàn)了對硬件系統(tǒng)和資源的優(yōu)化控制和分配管理,提供了一組硬件訪問控制函數(shù)接口,構(gòu)造了硬件系統(tǒng)的功能抽象層,使系統(tǒng)的開發(fā)者可以方便有效的使用系統(tǒng)的所有資源完成所需的系統(tǒng)設(shè)計(jì)。使用操作系統(tǒng)有如下優(yōu)點(diǎn):

1)開發(fā)者可直接利用操作系統(tǒng)提供的底層硬件訪問和實(shí)時(shí)控制功能,不用關(guān)心底層硬件,從而提高開發(fā)效率;

2)操作系統(tǒng)的多任務(wù)開發(fā)模型,使應(yīng)用軟件設(shè)計(jì)模塊化,使軟件模塊可重用;

3)操作系統(tǒng)的實(shí)時(shí)軟件模型,使應(yīng)用系統(tǒng)具備更高的實(shí)時(shí)性;

4)使用統(tǒng)一的操作系統(tǒng)接口進(jìn)行應(yīng)用軟件開發(fā),使應(yīng)用軟件具備可移植性,可在不同處理器間方便的移植軟件;

5)操作系統(tǒng)軟件模塊與應(yīng)用軟件模塊相集成的方式使系統(tǒng)更穩(wěn)定可靠。

3CubeOS的硬件運(yùn)行環(huán)境

CubeOS運(yùn)行在由中科院聲學(xué)研究所研制的ADSP-TS101S高速陣列信號處理板卡上。該板卡是基于TigerSHARC(ADSP-TS101S)芯片的一塊高性能的數(shù)字信號處理板。選用8顆300MHz的TigerSHARC(ADSP-TS101S)芯片,峰值浮點(diǎn)運(yùn)算能力可達(dá)14.4GFLOPS。該板卡采用32bit/66MHz的CPCI總線,并提供大容量的存儲器,包括高達(dá)512M字節(jié)的SDRAM和8M字節(jié)的FLASH。

每簇的DSP間通過多條Link口進(jìn)行互連,提供了分布式處理的系統(tǒng)結(jié)構(gòu)。這種結(jié)構(gòu)大大增加了DSP間數(shù)據(jù)交換的吞吐能力?;贚ink口的數(shù)據(jù)傳輸,完全可以利用DSP的DMA在后臺進(jìn)行而對其他DSP沒有影響。從信號處理算法實(shí)現(xiàn)上考慮,這種結(jié)構(gòu)適合基于流水線的并行算法。并且兩個(gè)DSP簇之間也提供了Link口通路,更增強(qiáng)了整板分布式處理的性能。

CubeOS操作系統(tǒng)是中科院聲學(xué)所聲納工程中心開發(fā)的一個(gè)嵌入式的實(shí)時(shí)操作系統(tǒng),具有單處理器操作系統(tǒng)的基本功能,并具有支持多處理器之間進(jìn)行通信的能力。目前已經(jīng)在ADI公司的TS101DSP芯片陣列上運(yùn)行,版本為1.0。

4Cube的軟件系統(tǒng)設(shè)計(jì)

4.1軟件模塊化的設(shè)計(jì)

采用模塊化設(shè)計(jì)、分層結(jié)構(gòu)和微內(nèi)核的設(shè)計(jì)思想,支持操作系統(tǒng)在不同的處理器之間移植。針對嵌入式系統(tǒng)應(yīng)用特點(diǎn),操作系統(tǒng)本身要盡可能的降低對系統(tǒng)資源的占用,支持用戶對操作系統(tǒng)進(jìn)行裁減。

圖1Cube操作系統(tǒng)的軟件體系結(jié)構(gòu)

4.2Cube微內(nèi)核結(jié)構(gòu)

操作系統(tǒng)在設(shè)計(jì)中采用微內(nèi)核結(jié)構(gòu)和分層模式,便于系統(tǒng)的擴(kuò)展和移植。分層模式是指與處理器緊密相關(guān)的部分采用匯編語言;與處理器無關(guān)的部分采用C或者C++語言進(jìn)行設(shè)計(jì)開發(fā)。操作系統(tǒng)內(nèi)核結(jié)構(gòu)采用微內(nèi)核(micro-kernel)體系結(jié)構(gòu)。微內(nèi)核是一個(gè)小型的操作系統(tǒng),它為模塊化擴(kuò)展提供基礎(chǔ)。

只有基本的操作系統(tǒng)功能才能放在內(nèi)核中。使用微內(nèi)核結(jié)構(gòu)有以下一些優(yōu)點(diǎn):

為所有的服務(wù)提供一致性接口;

良好的可擴(kuò)展性;

為增加新的功能或刪除一個(gè)已有功能提供靈活性;

提高可靠性;

微內(nèi)核有助于為分布式系統(tǒng)提供支持。

在這種結(jié)構(gòu)下,操作系統(tǒng)各模塊的結(jié)構(gòu)和組合情況如圖2所示。

圖2微內(nèi)核結(jié)構(gòu)的實(shí)時(shí)嵌入式操作系統(tǒng)

一些關(guān)鍵的系統(tǒng)調(diào)用,或者是和處理器密切相關(guān)的部分,將被組合到內(nèi)核結(jié)構(gòu)中;除此之外的其它功能,如處理器間通信模塊、任務(wù)調(diào)度算法、時(shí)鐘管理等,將以模塊化的形式與操作系統(tǒng)內(nèi)核結(jié)合。

4.3Cube內(nèi)核的特點(diǎn)

1)多任務(wù)

多任務(wù)運(yùn)行使CPU的利用率得到的發(fā)揮,并使應(yīng)用程序模塊化。在實(shí)時(shí)應(yīng)用中,多任務(wù)化的特點(diǎn)是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位?。使用多任?wù),應(yīng)用程序?qū)⒏菀自O(shè)計(jì)與維護(hù)。Cube可以管理32個(gè)任務(wù),系統(tǒng)保留了6個(gè)作為Cube的系統(tǒng)任務(wù)。留給用戶的應(yīng)用程序的優(yōu)先級有26個(gè)(優(yōu)先級4~29),可以多個(gè)任務(wù)共享一個(gè)優(yōu)先級,擴(kuò)展了用戶的任務(wù)總數(shù)。Cube是完全可剝奪型的實(shí)時(shí)內(nèi)核,即Cube總是運(yùn)行就緒條件下優(yōu)先級的任務(wù)。同時(shí),Cube不同的任務(wù)可以有相同的優(yōu)先級,不同優(yōu)先級的任務(wù)調(diào)度遵從FIFO,即先來先服務(wù)的原則。

2)可確定性

絕大多數(shù)Cube的函數(shù)調(diào)用和服務(wù)的執(zhí)行時(shí)間具有可確定性,滿足實(shí)時(shí)操作系統(tǒng)的要求。也就是說Cube系統(tǒng)服務(wù)的執(zhí)行時(shí)間不依賴于用戶應(yīng)用程序任務(wù)數(shù)目的多少。

3)中斷管理

中斷可以使正在執(zhí)行的任務(wù)暫時(shí)掛起,執(zhí)行中斷服務(wù)程序。如果優(yōu)先級更高的任務(wù)在中斷過程中被喚醒,則中斷嵌套退出后,立即執(zhí)行優(yōu)先級高的任務(wù)。Cube支持的多嵌套的層數(shù)可達(dá)255。

4)系統(tǒng)服務(wù)

Cube提供很多系統(tǒng)服務(wù),例如信號量、互斥型信號量、消息隊(duì)列、內(nèi)存的動(dòng)態(tài)申請與釋放及時(shí)鐘管理函數(shù)等。

5)可移植性

Cube源代碼大部分是用移植性很強(qiáng)的ANSIC寫的,與處理器硬件相關(guān)的部分是用匯編寫的。匯編語言編寫的部分已經(jīng)壓到限度,以使Cube能夠方便的移植到其它微處理器上。

6)可裁減、可配置性設(shè)計(jì)

用戶往往不會(huì)在程序中用到嵌入式實(shí)時(shí)操作系統(tǒng)所提供的所有功能。如果將一個(gè)完整的操作系統(tǒng)都置于DSP的內(nèi)存之中,那么對于有限的DSP資源是一種嚴(yán)重的浪費(fèi)??刹脺p的嵌入式實(shí)時(shí)操作系統(tǒng)可以根據(jù)用戶的需要去掉不需要的部分,節(jié)省內(nèi)存空間。可配置性針對系統(tǒng)中未被卸載的模塊,根據(jù)應(yīng)用在數(shù)量、機(jī)制、工作空間和堆棧等方面的不同需求,決定系統(tǒng)的規(guī)模、功能以及內(nèi)存分配等。例如,用戶可以配置系統(tǒng)的任務(wù)數(shù)目、任務(wù)堆棧大小等參數(shù)。

Cube操作系統(tǒng)的可配置性通過配置文件來實(shí)現(xiàn)。系統(tǒng)提供缺省的配置文件,用戶可以通過修改配置文件中的內(nèi)容實(shí)現(xiàn)對操作系統(tǒng)的參數(shù)配置。例如,用戶可以配置任務(wù)數(shù)、信號量數(shù)、內(nèi)存和堆棧的參數(shù)等等。對于多處理器、多任務(wù)之間的物理通道和邏輯通道也需要通過用戶配置來通知操作系統(tǒng)。

7)調(diào)試支持

Cube操作系統(tǒng)向用戶提供了實(shí)現(xiàn)多任務(wù)實(shí)時(shí)處理的一個(gè)平臺,能夠向用戶提供足夠的信息,供用戶分析任務(wù)運(yùn)行是否正常、了解任務(wù)和內(nèi)核的狀態(tài)。在調(diào)試階段,這些信息會(huì)幫助用戶方便的完成調(diào)試。操作系統(tǒng)在調(diào)試方面支持的主要功能有:

任務(wù)狀態(tài)查看。提供DSP任務(wù)列表,列出任務(wù)ID、優(yōu)先級、運(yùn)行狀態(tài)、堆棧狀態(tài)、運(yùn)行時(shí)間等信息。

內(nèi)核對象查看。顯示內(nèi)核對象的狀態(tài)。

多處理器通信狀態(tài)查看。

處理器負(fù)載查看。

任務(wù)運(yùn)行狀態(tài)時(shí)間線。

圖3CubeOS可裁剪的調(diào)試支持模塊

調(diào)試支持會(huì)占用DSP或者CPU的資源,對于已經(jīng)完成調(diào)試不再需要調(diào)試支持的應(yīng)用來說是多余的,因此調(diào)試支持應(yīng)該能夠被裁減掉。操作系統(tǒng)中的調(diào)試模塊分兩部分:微內(nèi)核中的調(diào)試支持和系統(tǒng)級的調(diào)試任務(wù)。通過條件編譯可以將上述兩部分代碼裁減掉。也可以通過不啟動(dòng)調(diào)試任務(wù)的方法來達(dá)到節(jié)省一部分內(nèi)存空間的目的。

5Cube實(shí)時(shí)內(nèi)核的性能指標(biāo)

實(shí)時(shí)內(nèi)核在實(shí)時(shí)系統(tǒng)中起著重要的作用,其性能的好壞將直接影響到整個(gè)系統(tǒng)的性能。

5.1內(nèi)核時(shí)間性能指標(biāo)

基于優(yōu)先級的任務(wù)搶占式調(diào)度采用軟硬件協(xié)同處理的方法,運(yùn)用TS101硬件指令LD0對32個(gè)任務(wù)中優(yōu)先級的任務(wù)進(jìn)行查找。進(jìn)行縮短了任務(wù)切換的時(shí)間,提高了系統(tǒng)的實(shí)時(shí)性,Cube的上下文切換的時(shí)間為663.3ns,滿足了信號處理實(shí)時(shí)性的要求。

5.2存儲開銷

另外系統(tǒng)存儲空間的大小也是很重要的問題。嵌入式系統(tǒng)存儲器空間的配置一般都不大。而在這有限的空間內(nèi)不僅要裝載嵌入式實(shí)時(shí)操作系統(tǒng),還要裝載用戶程序。因此在我們的內(nèi)核設(shè)計(jì)實(shí)現(xiàn)和應(yīng)用開發(fā)中,除了上述各項(xiàng)時(shí)間性能指標(biāo),還應(yīng)關(guān)注嵌入式實(shí)時(shí)內(nèi)核的存儲開銷。Cube的內(nèi)核開銷大小不到20K字,滿足在TS101上運(yùn)行的需要。

6基于Cube操作系統(tǒng)的應(yīng)用

Cube是一款針對信號處理的實(shí)時(shí)嵌入式操作系統(tǒng),圖4所示為Cube應(yīng)用海軍某水下探測項(xiàng)目某型號聲納信號處理系統(tǒng)平臺的演示控制臺。

圖4CubeOS支持的聲納演示控制臺

7結(jié)論

本文首次提出了基于ADITigerSharc(TS101)DSP芯片硬件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論