基于DSP/BIOS的多信號并行處理軟件架構(gòu)設(shè)計(jì)
摘要 利用DSP芯片設(shè)計(jì)出能夠支持多類信號多路并行處理的軟件,可減少外圍專用算法芯片的使用,降低設(shè)計(jì)成本、縮小印制板尺寸、縮短開發(fā)周期。文中介紹了一種利用DSP/BIOS操作系統(tǒng)進(jìn)行快速開發(fā)設(shè)計(jì)的軟件架構(gòu),不僅滿足此種需求,并且方便了算法的裁減擴(kuò)充和程序跨平臺移植,在實(shí)際應(yīng)用中得到了廣泛應(yīng)用和驗(yàn)證。
關(guān)鍵詞 DSP/BIOS;HWI;PRD;TSK;軟件架構(gòu)
隨著信息技術(shù)和芯片技術(shù)的發(fā)展,DSP技術(shù)在航空、通信、醫(yī)療和消費(fèi)類電子設(shè)備中得到廣泛應(yīng)用。伴隨主頻不斷提升及多核并行工作,DSP芯片的運(yùn)算能力快速增強(qiáng)。運(yùn)用DSP芯片快速設(shè)計(jì)多類信號多路并行處理的軟件,變得更加重要。為滿足需求,文中提出一種基于DSP/ BIOS的軟件架構(gòu),可提高軟件的可維護(hù)性和可重用性,方便算法的裁減添加及程序的跨平臺移植,實(shí)現(xiàn)多類信號多路并行處理的軟件快速開發(fā)設(shè)計(jì)。
1 DSP/BIOS簡介
DSP/BIOS是TI公司推出的實(shí)時(shí)操作系統(tǒng),集成在CCS(Code Composer Studio)開發(fā)環(huán)境中。DSP/BIOS采用靜態(tài)配置策略,通過去除運(yùn)行代碼能使目標(biāo)程序存儲空間最小化,優(yōu)化內(nèi)部數(shù)據(jù)結(jié)構(gòu),在程序執(zhí)行前夠通過確認(rèn)對象所有權(quán)較早地檢測出錯(cuò)誤,可滿足DSP運(yùn)行時(shí)的調(diào)試和性能分析,應(yīng)用DSP/BIOS可以快速編寫高效程序,較大的簡化DSP應(yīng)用程序的開發(fā)和調(diào)試。DSP/BIOS是一組可重復(fù)調(diào)用的系統(tǒng)模塊應(yīng)用程序接口API集合,分為系統(tǒng)模塊System、協(xié)助模塊Instrumentation、調(diào)度模塊Scheduling、同步模塊Synchronization、通信模塊Input/Out put和配置模塊CSL。系統(tǒng)模塊,主要完成芯片型號確認(rèn)、字節(jié)序Endian Mode配置、主頻配置、芯片Cashe空間劃分及內(nèi)存空間分配。協(xié)助模塊Instrumentation,主要負(fù)責(zé)消息打印、事件日志及信息追蹤工作。調(diào)度模塊,為DSP/BIOS核心功能,可細(xì)化為定時(shí)管理CLK、周期中斷管理PRD、硬中斷管理HWI、軟中斷管理SWI、任務(wù)管理TSK和空閑任務(wù)管理IDL。CLK控制片內(nèi)的32位實(shí)時(shí)邏輯時(shí)鐘,負(fù)責(zé)PRD周期的設(shè)置。PRD管理周期對象,觸發(fā)應(yīng)用程序周期執(zhí)行性,為一種特殊的SWI。HWI管理硬件中斷,主要負(fù)責(zé)DSP與外設(shè)的數(shù)據(jù)交互,中斷服務(wù)程序應(yīng)盡量短小精焊。SWI是不可阻塞搶斷式,SWI任務(wù)只能在程序編制時(shí)預(yù)先定義好。TSK是可阻塞搶斷式的,支持任務(wù)的動態(tài)產(chǎn)生。IDL管理休眠函數(shù),休眠函數(shù)在目標(biāo)系統(tǒng)程序無更高優(yōu)先權(quán)的函數(shù)運(yùn)行時(shí)啟動,是一種特殊的TSK。同步模塊,負(fù)責(zé)各個(gè)調(diào)度模塊之間信息的交換傳遞,保證調(diào)度模塊之間的同步和互斥。通信模塊,允許應(yīng)用程序在目標(biāo)系統(tǒng)和主機(jī)之間交流數(shù)據(jù)。配置模塊,負(fù)責(zé)芯片底層硬件的配置。另外DSP/BIOS還帶有插件,支持實(shí)時(shí)分析、程序跟蹤和性能監(jiān)視。
2 DSP軟件架構(gòu)
軟件架構(gòu)采用分層設(shè)計(jì)思想,共分5層:驅(qū)動層、系統(tǒng)層、算法層、控制層和應(yīng)用層。驅(qū)動層完成芯片硬件接口及外圍芯片驅(qū)動。系統(tǒng)層運(yùn)行DSP/BIOS操作系統(tǒng),完成硬件中斷、周期控制和任務(wù)調(diào)度功能。算法層提供各類業(yè)務(wù)需求的算法API??刂茖迂?fù)責(zé)軟件的指令解析、內(nèi)存管理、中斷服務(wù)和交換控制。應(yīng)用層為CPU調(diào)用控制DSP提供指令交互和數(shù)據(jù)交互接口。
3 子層設(shè)計(jì)
3.1 驅(qū)動層
使用DSP/BIOS圖形化的界面,調(diào)用芯片支持庫模塊CSL,快速設(shè)置DSP底層硬件接口,完成芯片的MCBSP驅(qū)動、EMIF驅(qū)動和EDMA驅(qū)動的開發(fā)。對于外圍芯片的驅(qū)動,如A/D芯片驅(qū)動,首先硬件上完成DSP芯片與A/D芯片的接線,然后按照配置指令的幀格式完成對A/D芯片的配置。
評論