基于DSP/BIOS 的TI DSP 應(yīng)用程序框架設(shè)計(jì)
摘要:本文介紹了基于DSP/BIOS 實(shí)時(shí)內(nèi)核的TI DSP 應(yīng)用程序參考框架RF5。另外,面對(duì)目前越來越多的多處理器系統(tǒng)設(shè)計(jì)以及典型的GPP-DSP 架構(gòu),本文提出了一種改進(jìn)的DSP應(yīng)用程序框架ERF5 以最大化地支持這種架構(gòu)。ERF5 主要從GPP-DSP 有效通信、任務(wù)線程的高效執(zhí)行與調(diào)度以及任務(wù)線程顆粒度的合理化三個(gè)方面對(duì)RF5 進(jìn)行了改進(jìn),并已成功應(yīng)用于實(shí)際項(xiàng)目。
本文引用地址:http://cafeforensic.com/article/150662.htm1 引言
隨著通信與信息技術(shù)的發(fā)展以及數(shù)字產(chǎn)品的普及,DSP 被越來越多地應(yīng)用于各種數(shù)字系統(tǒng)中。作為業(yè)界領(lǐng)先的數(shù)字信號(hào)處理器供應(yīng)商的美國德州儀器(TI)公司于上世紀(jì)90 年代開發(fā)了能在其DSP 產(chǎn)品上運(yùn)行的實(shí)時(shí)內(nèi)核DSP/BIOS,并提出一系列DSP 軟件參考框架(Reference Framework, RF)來幫助DSP 應(yīng)用開發(fā)人員加速軟件的開發(fā)進(jìn)程。然而,國內(nèi)針對(duì)DSP 應(yīng)用程序框架設(shè)計(jì)的研究還并不多且研究工作大多圍繞在如何使用現(xiàn)有的TI 參考框架上,鮮有對(duì)其使用局限性的討論與改進(jìn)方案。
本文首先簡(jiǎn)單介紹了由 TI 所提出的DSP 應(yīng)用程序參考設(shè)計(jì)框架RF5 及其適用領(lǐng)域,然后在它的基礎(chǔ)上針對(duì)目前使用越來越多的多處理器系統(tǒng)提出了一個(gè)對(duì)RF5 改進(jìn)后的DSP 應(yīng)用程序框架ERF5(Enhanced Referenced Framework Level 5),并在其中定義了一套DSP 與系統(tǒng)中作為核心控制單元的外部通用處理器GPP 進(jìn)行通信的良好機(jī)制,從而能夠?qū)崿F(xiàn)DSP的任務(wù)調(diào)度與執(zhí)行過程受控于GPP,使DSP 的運(yùn)行狀態(tài)能夠高效地切換于多套功能獨(dú)立的數(shù)字信號(hào)處理算法。
2 RF5 應(yīng)用程序框架
TI 在eXpressDSP 概念中提出了一系列DSP 應(yīng)用程序參考框架以滿足不同應(yīng)用場(chǎng)合的需要,其中包括RF1(Reference Framework Level 1)、RF3(Reference Framework Level 3)和RF5[1][2]。與RF1 和RF3 相比,RF5 是功能最強(qiáng)大的DSP 應(yīng)用程序參考框架,它適用于多通道、多算法的高密集型DSP 應(yīng)用系統(tǒng),RF5 同時(shí)支持了靜態(tài)和動(dòng)態(tài)DSP/BIOS 模塊對(duì)象的創(chuàng)建,支持1-100 個(gè)數(shù)據(jù)處理通道和XDAIS 算法,支持由DSP/BIOS 任務(wù)對(duì)象TSK實(shí)現(xiàn)的線程調(diào)度機(jī)制,支持線程阻塞,因此被廣泛應(yīng)用于音視頻信號(hào)處理等復(fù)雜數(shù)字信號(hào)處理系統(tǒng)當(dāng)中。圖1 給出了基于RF5 的DSP 應(yīng)用程序框架。
圖1 RF5 應(yīng)用程序框架
TI 為RF5 應(yīng)用程序參考框架定義了4 種數(shù)據(jù)處理基本元素,分別是任務(wù)(Task)、通道(Channel)、算法單元(Cell)和XDAIS 算法。RF5 框架的最高層次是任務(wù),任務(wù)可以由單個(gè)或多個(gè)通道構(gòu)成,它通過與設(shè)備驅(qū)動(dòng)程序或其它任務(wù)通信來在較高的層次控制數(shù)據(jù)的流向,每個(gè)任務(wù)體都可以歸結(jié)為“獲取數(shù)據(jù)-處理各通道中的信號(hào)-發(fā)送結(jié)果數(shù)據(jù)”的迭代過程。每個(gè)通道元素由一系列順序執(zhí)行的信號(hào)處理算法單元構(gòu)成,算法單元是一個(gè)XDAIS 算法的封裝,其作用是為XDAIS 算法與外部應(yīng)用程序提供一套標(biāo)準(zhǔn)的接口,它必須實(shí)現(xiàn)ICELL接口模塊。
RF5 除了定義以上4 種數(shù)據(jù)處理元素之外,還提出了數(shù)據(jù)通信元素的概念以保證能在任務(wù)與DSP 外設(shè)之間、任務(wù)與任務(wù)之間和算法單元之間進(jìn)行高效數(shù)據(jù)通信。基于DSP/BIOS開發(fā)的DSP 應(yīng)用程序中的數(shù)據(jù)通信方式可分為任務(wù)級(jí)數(shù)據(jù)通信和算法單元級(jí)數(shù)據(jù)通信。對(duì)于任務(wù)級(jí)數(shù)據(jù)通信方式,在RF5 中采用SIO(STream IO)對(duì)象和SCOM(SynchronizedCommunication)消息來實(shí)現(xiàn)。對(duì)于算法單元級(jí)數(shù)據(jù)通信,RF5 使用ICC(Inter-CellCommunication)對(duì)象和ICC 對(duì)象列表來實(shí)現(xiàn)。
評(píng)論