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