TMS320C67x DSP Library在程序開發(fā)中的應(yīng)用
O 引言
美國德州儀器(TI)公司的數(shù)字信號(hào)處理器(DSP)以其處理速度快,功能強(qiáng)大,易于使用,且有開發(fā)軟件支撐等優(yōu)點(diǎn)而廣泛應(yīng)用于通信、電子、自動(dòng)控制等領(lǐng)域。一個(gè)完整的DSP系統(tǒng)應(yīng)當(dāng)由硬件和軟件兩部分組成。在硬件(主要是DSP芯片)相同時(shí),系統(tǒng)的性能將主要取決于軟件部分的效率。而在相同的硬件平臺(tái)上,不同程序員編寫的軟件效率相差很大,軟件效率已成為影響DSP系統(tǒng)性能的一個(gè)重要因素。要充分發(fā)揮D-SP芯片的性能,就必須編寫高效率的程序。一般在DSP進(jìn)行運(yùn)算時(shí),有些操作會(huì)頻繁出現(xiàn)(如卷積、FFT、FIR濾波等),完成這些操作的程序的效率直接影響整個(gè)軟件部分的效率。為此,TI公司提供了一系列庫函數(shù)(TI DSP Library,以下簡稱DSP Lib)來完成這些操作。這些庫函數(shù)既可減少程序員的工作量,又可提高程序效率,因此,在程序開發(fā)中,合理地使用這些庫函數(shù),將大大提高系統(tǒng)性能。
1 TI DSP Library簡介
1.1 TI DSP Library的特點(diǎn)
DSP Lib的核心實(shí)際上是一系列經(jīng)過手工優(yōu)化的匯編程序代碼,這些代碼封裝在后綴名為.lib的文件中,可用于完成各種運(yùn)算。它們對(duì)外是不可見的。這些程序(庫函數(shù),routines)可被C程序調(diào)用。由于經(jīng)過了手工優(yōu)化,它們的效率都非常高。由于不同系列DSP芯片的指令集不同,因此,不同系列DSP芯片的DSP Lib也是不同的,如TMS320C5000的DSP LIb就不能用于TMS320C6000。但是,各個(gè)系列DSP Lib的基本組成是相同的,一個(gè)完整的DSP Lib通常由Lib文件夾、include文件夾和其它輔助文件組成。其中l(wèi)ib文件夾用于存放*.lib文件,其內(nèi)部封裝著手工優(yōu)化的匯編程序代碼,是一個(gè)DSP Lib的核心部分。有的DSP Lib還有*.src文件,這些*.src文件主要是用C語言和匯編語言編寫的程序源代碼。使用歸檔器可從中提取出這些源代碼;而include文件夾用于存放各個(gè)庫函數(shù)的頭文件,通常這些文件分為C程序頭文件和匯編程序頭文件兩部分。
1.2 TI DSP Library的下載和安裝
由于DSP Lib種類繁多,且屬可選模塊,通常的DSP開發(fā)環(huán)境(CCS,Code Composer Studio)并沒有配備DSP Lib。因此,使用一個(gè)DSP Lib之前,必須進(jìn)行DSP Lib的下載和安裝。
所謂下載,就是在TI公司網(wǎng)站W(wǎng)WW.ti.com上免費(fèi)下載各種DSP Lib;而所謂安裝,就是在DSP Lib下載完畢后,雙擊安裝文件,以將它安裝在計(jì)算機(jī)中選定的位置(默認(rèn)位置為C:\ti)。安裝之后,即可在程序開發(fā)中使用DSP Lib的庫函數(shù)。
1.3 TI DSP Library的使用
按處理數(shù)據(jù)類型的不同,TI DSP分為定點(diǎn)(fixed-point)DSP和浮點(diǎn)(floating-point)DSP。由于浮點(diǎn)DSP既有定點(diǎn)指令集,又有浮點(diǎn)指令集,因此,本文選取浮點(diǎn)DSP系列TMS320C67x的DSP Lib,并且選取了TMS320C67x DSP Library和TMS320C67x FastRTS Library兩個(gè)DSP Lib,前者主要針對(duì)數(shù)字信號(hào)處理的常用操作,后者則針對(duì)一般數(shù)學(xué)運(yùn)算的通用操作。
2 TMS320C67x DSP Library的應(yīng)用
當(dāng)DSP進(jìn)行數(shù)據(jù)處理時(shí),卷積、FFT、FIR濾波等操作頻繁出現(xiàn),故在程序開發(fā)中,使用DSP Lib來完成這些操作將大大提高整個(gè)程序的效率并簡化編程。TMS320C67x DSP Library就是這樣的一個(gè)DSP Lib,它的lib文件夾內(nèi)含庫文件dsp67x.lib和源文件dsp67x.sr、dsp67x_C.sr-c、dsp67x_sa.src。TMS320C67x DSP Library主要用于TMS320C67x系列DSP芯片的程序開發(fā),使用它可完成FFT運(yùn)算。
2.1 TMS320C67x DSP Library的使用
使用TMS320C67x DSP Library的第一步是將其核心文件“dsp67x.lib”加入到當(dāng)前工程中,相關(guān)編譯鏈接參數(shù)為“-ldsp67x.lib”;接著,將存儲(chǔ)頭文件的include目錄所在路徑添加到工程搜索路徑中,其相關(guān)編譯鏈接參數(shù)為“-i pathname”,具體操作可參考TI公司的有關(guān)文獻(xiàn)。選取該DSP Lib中的庫函數(shù)“DSPF_sp_cfftr2_dit()”可完成FFT運(yùn)算,它使用的是基2的時(shí)間抽取算法,具體形式如下:
評(píng)論