DSP實(shí)驗(yàn)教案all_第1頁(yè)
DSP實(shí)驗(yàn)教案all_第2頁(yè)
DSP實(shí)驗(yàn)教案all_第3頁(yè)
DSP實(shí)驗(yàn)教案all_第4頁(yè)
DSP實(shí)驗(yàn)教案all_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、DSP的開發(fā)環(huán)境與工具DSP技術(shù)應(yīng)用潘曄電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心一、代碼生成工具:一、代碼生成工具:vC優(yōu)化編譯器優(yōu)化編譯器v匯編語(yǔ)言工具匯編語(yǔ)言工具二、系統(tǒng)集成及調(diào)試工具:二、系統(tǒng)集成及調(diào)試工具:v調(diào)試器(調(diào)試器(C/Assembly source debugger)v軟仿真器(軟仿真器(Simulator)vDSP入門套件(入門套件(DSK)和標(biāo)準(zhǔn)評(píng)估模塊()和標(biāo)準(zhǔn)評(píng)估模塊(EVM)v硬仿真器(硬仿真器(XDS510/XDS510WS等)等)三、三、TI實(shí)時(shí)操作系統(tǒng)內(nèi)核實(shí)時(shí)操作系統(tǒng)內(nèi)核vDSP/BIOSDSP的開發(fā)環(huán)境和

2、工具大致可以分為以下幾類:的開發(fā)環(huán)境和工具大致可以分為以下幾類:電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心Code Composer Studio IDE Powerful,integrated developmenttoolsDSP/BIOSReal-time software foundationTI DSPThird-Party NetworkSoftwareand supportTMS320 DSP Algorithm StandardStandards for application interoperability and reu

3、seTI eXpressDSPTM實(shí)時(shí)軟件技術(shù)電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心TI eXpressDSPTM各部分關(guān)系電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心集成開發(fā)環(huán)境(CCS) 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心DSP/BIOS工具條工具條工程項(xiàng)目瀏覽窗工程項(xiàng)目瀏覽窗當(dāng)前工程當(dāng)前工程編譯工具條編譯工具條當(dāng)前編輯的當(dāng)前編輯的源文件源文件主菜單主菜單調(diào)試工具條調(diào)試工具條編輯窗口編輯窗口CCS2.0 主界面電子科技大學(xué)美國(guó)

4、德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心CCS的組成部分RTDX - Get data without halting targetRTDX - Get data without halting targetDSP BIOS APIs - Thread managementwPriority based schedulingwReal time analysiswData and Event loggingSIMDSKEVMXDSDSPBoardProfilingGraphs電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)

5、中心培訓(xùn)中心CCS的功能v可視化代碼編輯,可直接編寫可視化代碼編輯,可直接編寫C,匯編、,匯編、.H文文件、件、.cmd文件等文件等v代碼生成器(代碼生成器(C編譯器、匯編器與連接器等)編譯器、匯編器與連接器等)v支持基本調(diào)試工具和支持基本調(diào)試工具和C源代碼級(jí)調(diào)試源代碼級(jí)調(diào)試v實(shí)時(shí)分析和數(shù)據(jù)可視化實(shí)時(shí)分析和數(shù)據(jù)可視化 :探針工具(:探針工具(probe), 分析工具(分析工具(profile),圖形顯示工具等),圖形顯示工具等v提供提供GEL工具工具v多種斷點(diǎn)工具多種斷點(diǎn)工具電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 CCS的功能(續(xù))v支持

6、多支持多DSP調(diào)試調(diào)試v主機(jī)和目標(biāo)機(jī)之間的實(shí)時(shí)數(shù)據(jù)交換(主機(jī)和目標(biāo)機(jī)之間的實(shí)時(shí)數(shù)據(jù)交換(RTDX)v包含實(shí)時(shí)操作系統(tǒng)內(nèi)核(包含實(shí)時(shí)操作系統(tǒng)內(nèi)核(DSP/BIOS)v支持包括軟仿真在內(nèi)的各種仿真器(只需安支持包括軟仿真在內(nèi)的各種仿真器(只需安裝相應(yīng)的驅(qū)動(dòng)程序)裝相應(yīng)的驅(qū)動(dòng)程序)v開放式的開放式的plug-ins技術(shù),支持其它第三方的技術(shù),支持其它第三方的ActiveX插件插件電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心為CCS安裝設(shè)備驅(qū)動(dòng)程序 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心CCS下開

7、發(fā)DSP程序一、新建一個(gè)工程文件一、新建一個(gè)工程文件在在“project”菜單項(xiàng)下選菜單項(xiàng)下選“new”,開始創(chuàng)立一個(gè),開始創(chuàng)立一個(gè)新的工程文件:如新的工程文件:如“mytemp.pjt“mytemp.pjt”。將將編寫好的編寫好的C、匯編、頭文件、以及、匯編、頭文件、以及OBJ、LIB文件文件添加到添加到新建的工程新建的工程“mytemp.pjt”mytemp.pjt”下。下。將內(nèi)存定位的將內(nèi)存定位的CMD文件添加到文件添加到工程工程“mytemp.pjt”mytemp.pjt”下,并根據(jù)目標(biāo)系統(tǒng)的實(shí)際存儲(chǔ)器和具體要求做相下,并根據(jù)目標(biāo)系統(tǒng)的實(shí)際存儲(chǔ)器和具體要求做相應(yīng)的修改。應(yīng)的修改。1)1

8、)若使用了若使用了DSP/BIOS,還需將配置文件,還需將配置文件CDB添加到添加到project下。下。電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心CCS下開發(fā)DSP程序二、編譯二、編譯連接連接并執(zhí)行并執(zhí)行使用使用buildbuild或或rebuild allrebuild all命令命令完成工程的編譯連接。完成工程的編譯連接。利用利用“File”File”菜單中的菜單中的“Load Program”Load Program”將生成的將生成的“.out”.out”文件裝入文件裝入DSPDSP的存儲(chǔ)器的存儲(chǔ)器。在在“Debug”Debug”菜單

9、項(xiàng)中選擇啟動(dòng)程序運(yùn)行。菜單項(xiàng)中選擇啟動(dòng)程序運(yùn)行。三、程序調(diào)試和優(yōu)化三、程序調(diào)試和優(yōu)化 利用調(diào)試和分析工具分析、統(tǒng)計(jì)或跟蹤代碼,確保利用調(diào)試和分析工具分析、統(tǒng)計(jì)或跟蹤代碼,確保算法的準(zhǔn)確性、實(shí)時(shí)性和高效率。算法的準(zhǔn)確性、實(shí)時(shí)性和高效率。電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心寄存器/存儲(chǔ)器的查看與修改 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心變量的查看與修改 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心探針工具的使用添加探針,并建立相連接的

10、數(shù)據(jù)文件 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心探針工具的使用將探針與數(shù)據(jù)文件連接 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心圖形工具的使用電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心分析工具的使用 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)時(shí)數(shù)據(jù)交換(RTDX)電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心多目標(biāo)調(diào)試電子科技大學(xué)美國(guó)德州

11、儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心cmd文件-l rts.lib-heap 0 x800 -stack 0 x800 MEMORY PAGE 0: EPROG: origin = 0 x4000, len = 0 x5f80 VECT: origin = 0 x7f80, len = 0 x80 PAGE 1: IDATA: origin = 0 x80, len = 0 x3f80電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心SECTIONS .vectors: VECT PAGE 0 .cinit: E

12、PROG PAGE 0 .switch: IDATA PAGE 0 .text: EPROG PAGE 0 .bss: IDATA PAGE 1 .const: IDATA PAGE 1 .sysmem: IDATA PAGE 1 .stack: IDATA PAGE 1 .data: IDATA PAGE 1 cmd文件(續(xù))電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心由c編譯器產(chǎn)生的段 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)箱電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPs

13、DSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)一:基本算數(shù)運(yùn)算 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?學(xué)習(xí)使用定點(diǎn)DSP C54X實(shí)現(xiàn)16位定點(diǎn)數(shù)加、減、乘、除運(yùn)算的基本方法和編程技巧。 掌握DSP開發(fā)工具的使用以及DSP基本的開發(fā)方法。實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: DSP開發(fā)環(huán)境CCS2.0,C54X simulator,PC機(jī)。 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1)熟悉TI公司的DSP開發(fā)環(huán)境CCS2.02)編寫實(shí)驗(yàn)程序代碼3)用simulator調(diào)試運(yùn)行并觀察結(jié)果電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: 一個(gè)16位的二進(jìn)制數(shù)既可以表示一個(gè)整數(shù),也可以表示

14、一個(gè)小數(shù)。當(dāng)它表示一個(gè)整數(shù)時(shí),其最低位(D0)表示,D1位表示,次高位(D14)表示。如果表示一個(gè)有符號(hào)數(shù)時(shí),最高位(D15)為符號(hào)位,0表示正數(shù),1表示負(fù)數(shù)。例如,07FFFH表示最大的正數(shù)32767(十進(jìn)制),而0FFFFH表示最大的負(fù)數(shù)-1(負(fù)數(shù)用進(jìn)制補(bǔ)碼方式顯示)。當(dāng)需要表示小數(shù)時(shí),小數(shù)點(diǎn)的位置始終在最高位后,而最高位(D15)表示符號(hào)位。這樣次高位(D14)表示,然后是,最低位(D0)表示。所以04000H表示小數(shù)0.5,01000H表示小數(shù),而0001H表示16位定點(diǎn)DSP能表示的最小的小數(shù)(有符號(hào))=0.000030517578125。在C54X中,將一個(gè)小數(shù)用16位定點(diǎn)格式來表

15、示的方法是用乘以該小數(shù),然后取整。僅僅在做整數(shù)乘除或小數(shù)乘除時(shí),系統(tǒng)對(duì)它們的處理才有所區(qū)別,而在加減運(yùn)算時(shí),系統(tǒng)都當(dāng)成整數(shù)來處理。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)實(shí)現(xiàn)16位定點(diǎn)加法:位定點(diǎn)加法: C54X中提供了多條用于加法的指令,如ADD,ADDC,ADDM和ADDS。其中ADDS用于無符號(hào)數(shù)的加法運(yùn)算,ADDC用于帶進(jìn)位的加法運(yùn)算(如32位擴(kuò)展精度加法),而ADDM專用于立即數(shù)的加法。在本實(shí)驗(yàn)中,我們使用下列代碼來實(shí)現(xiàn)加法運(yùn)算:ld temp1,a ;將變量temp1裝入寄存器Aadd temp2,a ;變量temp2與寄

16、存器A相加,結(jié)果放入A中 stl a, add_result ;將結(jié)果(低16位)存入變量add_result中實(shí)現(xiàn)實(shí)現(xiàn)1616位定點(diǎn)減法:位定點(diǎn)減法: C54X中提供了多條用于減法的指令,如SUB,SUBB,SUBC和SUBS。其中SUBS用于無符號(hào)數(shù)的減法運(yùn)算,SUBB用于帶進(jìn)位的減法運(yùn)算(如32位擴(kuò)展精度的減法),而SUBC為移位減,DSP中的除法就是用該指令來實(shí)現(xiàn)的。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)實(shí)現(xiàn)16位定點(diǎn)整數(shù)乘法位定點(diǎn)整數(shù)乘法: C54X中提供了大量的乘法運(yùn)算指令,其結(jié)果都是32位,放在A或B寄存器中。C54X

17、的乘法指令很靈活,乘數(shù)可以是T寄存器、立即數(shù)、存貯單元和A或B寄存器的高16位。 在C54X中,一般對(duì)數(shù)據(jù)的處理都當(dāng)作有符號(hào)數(shù),如果是無符號(hào)數(shù)乘時(shí),使用MPYU指令。 C54X為小數(shù)乘法提供了一個(gè)狀態(tài)位FRCT,將其設(shè)置為1時(shí),系統(tǒng)自動(dòng)將乘積結(jié)果左移一位。所以整數(shù)乘法時(shí)應(yīng)將FRCT清零。實(shí)現(xiàn)實(shí)現(xiàn)16位定點(diǎn)小數(shù)乘法位定點(diǎn)小數(shù)乘法: 在C54X中,小數(shù)的乘法與整數(shù)乘法基本一致,只是由于兩個(gè)有符號(hào)的小數(shù)相乘,其結(jié)果的小數(shù)點(diǎn)的位置在次高的后面,所以必須左移一位,才能得到正確的結(jié)果。故小數(shù)乘法時(shí)應(yīng)將FRCT置1。 兩個(gè)小數(shù)(16位)相乘后結(jié)果為32位,如果精度允許的話,可以只存高16位,將低16位丟棄,

18、這樣仍可得到16位的結(jié)果。有時(shí)為了提高精度,可以使用RND或使用MPYR指令對(duì)低16位做四舍五入的處理。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)實(shí)現(xiàn)16位定點(diǎn)整數(shù)除法位定點(diǎn)整數(shù)除法: C54X中沒有提供專門的除法指令,一般有兩種方法來完成除法。 一種是用乘法來代替,除以某個(gè)數(shù)相當(dāng)于乘以其倒數(shù),所以先求出其倒數(shù),然后相乘。這種方法對(duì)于除以常數(shù)特別適用。 另一種方法是使用SUBC指令,重復(fù)16次減法完成除法運(yùn)算。將被除數(shù)裝入A或B的低16位,接著重復(fù)執(zhí)行SUBC指令,用除數(shù)重復(fù)減16次后,除法運(yùn)算的商在累加器的低16位,余數(shù)在高16位。

19、實(shí)現(xiàn)實(shí)現(xiàn)16位定點(diǎn)小數(shù)除法:位定點(diǎn)小數(shù)除法: 在C54X中實(shí)現(xiàn)16位的小數(shù)除法與前面的整數(shù)除法基本一致,也是使用循環(huán)的SUBC指令來完成。但有兩點(diǎn)需要注意: 第一,小數(shù)除法的結(jié)果一定是小數(shù)(小于1),所以被除數(shù)一定小于除數(shù)。這與整數(shù)除法正好相反。所以在執(zhí)行SUBC指令前,應(yīng)將被除數(shù)裝入A或B寄存器的高16位,而不是低16位。其結(jié)果的格式與整數(shù)除法一樣,A或B寄存器的高16位為余數(shù),低16位為商。 第二,與小數(shù)乘法一樣,應(yīng)考慮符號(hào)位對(duì)結(jié)果小數(shù)點(diǎn)的影響。所以應(yīng)對(duì)商右移一位,得到正確的有符號(hào)數(shù)。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)二:C

20、54X的浮點(diǎn)數(shù)算術(shù)運(yùn)算 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?練習(xí)TMS320C54X匯編程序的編寫與調(diào)試方法,重點(diǎn)練習(xí)C54X程序流程控制的方法。 學(xué)習(xí)并掌握應(yīng)用TMS320C54X來進(jìn)行浮點(diǎn)數(shù)的各種算術(shù)運(yùn)算的算法實(shí)現(xiàn)。實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: DSP開發(fā)環(huán)境CCS2.0,C54X simulator,PC機(jī)。 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1)編寫實(shí)驗(yàn)程序代碼2)用simulator調(diào)試運(yùn)行并觀察結(jié)果電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: 一個(gè)浮點(diǎn)數(shù)由尾數(shù)m、基數(shù)b和指數(shù)e三部分組成。即: IEEE標(biāo)準(zhǔn)的浮點(diǎn)數(shù)表示方法為: 在一個(gè)32-bit表

21、示的浮點(diǎn)數(shù)中,第一位是符號(hào)位,記為S。接下來的8bit表示指數(shù),采用127的偏移格式(實(shí)際是e-127)。然后的23-bit表示尾數(shù)的絕對(duì)值?;鶖?shù)b2。即: eb*m). 1 (*2*) 1(02550127ffees為時(shí)且當(dāng)). 0(*2*) 1(00126ffes為時(shí)且當(dāng)要在C54X上實(shí)現(xiàn)浮點(diǎn)運(yùn)算,操作數(shù)必須變換成定點(diǎn)數(shù) 。由于實(shí)行的是帶符號(hào)位的運(yùn)算,所以要把尾數(shù)變成帶符號(hào)的形式,即如果是正數(shù)就不改變其存儲(chǔ)格式,而如果是負(fù)數(shù),就要用補(bǔ)碼來表示尾數(shù)。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)浮點(diǎn)數(shù)加法實(shí)現(xiàn)浮點(diǎn)數(shù)加法: 對(duì)于浮點(diǎn)數(shù)的加法

22、而言,計(jì)算過程是左移指數(shù)較小的操作數(shù)的尾數(shù),使得兩個(gè)操作數(shù)的指數(shù)一致,再把尾數(shù)相加。首先要比較兩個(gè)操作數(shù)指數(shù)的大小,這樣才能決定到底是尾數(shù)直接相加還是移位以后再相加。完成對(duì)操作數(shù)之間的計(jì)算后就需要對(duì)結(jié)果數(shù)進(jìn)行歸一化操作。所謂歸一化操作就是把數(shù)據(jù)格式轉(zhuǎn)換為第一位為符號(hào)位,緊接著的一位是非零的數(shù)的格式。歸一化完后要再把歸一化后的定點(diǎn)數(shù)轉(zhuǎn)變?yōu)楦↑c(diǎn)數(shù),這是前面的轉(zhuǎn)變浮點(diǎn)數(shù)為定點(diǎn)數(shù)的逆過程。另外,還要注意一些特殊情況,比如其中一個(gè)數(shù)為零,或者是其中一個(gè)數(shù)比另一個(gè)數(shù)小許多(即指數(shù)相差太大)等。實(shí)現(xiàn)浮點(diǎn)數(shù)減法實(shí)現(xiàn)浮點(diǎn)數(shù)減法: 減法運(yùn)算的實(shí)現(xiàn)與加法運(yùn)算幾乎完全一樣,只是在具體進(jìn)行運(yùn)算時(shí)使用的是減法指令而不是加

23、法指令。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)浮點(diǎn)數(shù)乘法實(shí)現(xiàn)浮點(diǎn)數(shù)乘法:轉(zhuǎn)換 浮 點(diǎn)數(shù) 格式為 定點(diǎn)數(shù) 格式跏 薊刺寄 存 器st0,st1結(jié) 束判 斷是 否有僮 魘noyes指數(shù) 相加判 斷是 否有溢 no執(zhí)行 24bit*24bit的朔慫返回 0yes執(zhí)行 相應(yīng)的 溢 僮判 斷結(jié) 欠裼幸yes執(zhí)行 相應(yīng)的 溢 僮no電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)現(xiàn)浮點(diǎn)數(shù)除法實(shí)現(xiàn)浮點(diǎn)數(shù)除法:轉(zhuǎn)換 浮 點(diǎn) 數(shù) 格式為 定點(diǎn) 數(shù) 格式跏 薊刺寄 存 器st0,st1結(jié) 束判 斷是 否有

24、僮 魘noyes指 數(shù) 相加判 斷是 否有溢 no執(zhí) 行 24bit*24bit的 慫返回 0yes執(zhí) 行 相應(yīng)的 溢 僮判 斷結(jié) 欠裼幸yes執(zhí) 行 相應(yīng)的 溢 僮no電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)三:用定時(shí)器實(shí)現(xiàn)數(shù)字振蕩器 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?利用數(shù)字振蕩器用疊代方法產(chǎn)生正弦信號(hào)。 學(xué)習(xí)數(shù)字振蕩器的DSP實(shí)現(xiàn)原理,以及C54X定時(shí)器的使用和中斷服務(wù)程序的編寫。 實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: TI公司的DSP開發(fā)環(huán)境CCS2.0,PC機(jī) DES320PPU實(shí)驗(yàn)箱,并口線,電源 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1) 根據(jù)所確定的正弦信號(hào)頻率(

25、2kHz),確定系數(shù)2)設(shè)置定時(shí)器:每25uS產(chǎn)生一次中斷(等效于采樣速率為40K)。在中斷服務(wù)程序中用疊代算法計(jì)算出一個(gè)正弦值。 3)分別使用匯編語(yǔ)言和C語(yǔ)言完成源程序的編寫,并利用CCS的圖形工具查看輸出信號(hào)波形和頻譜。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: 數(shù)字振蕩器原理:數(shù)字振蕩器原理: 傳遞函數(shù)為正弦序列sinkT,其z變換為: 2111BzAzCz其中,A=2cosT, B=-1, C=sinT。設(shè)初始條件為0,上式的反Z變換為:yk=Ayk-1+Byk-2+Cxk-1,這是一個(gè)二階差分方程,其單位沖擊響

26、應(yīng)即為sinkT。利用單位沖擊函數(shù)的性質(zhì),即僅當(dāng)k=1時(shí),xk-1=1,代入上式得: k=0 y0 = Ay-1 + By-2 + 0 = 0 k=1 y1 = Ay0 + By-2 + c = c k=2 y2 = Ay1 + By0 + 0 = Ay1 k=3 y3 = Ay2 + By1 . . k=n yn= Ayn-1 + Byn-2可見,當(dāng)k2時(shí),yk能通過yk-1和yk-2算出。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心設(shè)振蕩器的頻率為2kHz,采樣率為40kHz(通過定時(shí)器設(shè)置,每隔25us中斷一次,即產(chǎn)生一個(gè)yn),則遞歸

27、的差分方程系數(shù)為: A=2cosT=2cos(2*PI*2000/40000)= 2*0.95105652 B=-1 C=sinT=sin(2*PI*2000/40000)= 0.30901699 為了便于定點(diǎn)DSP處理,我們將所有的系數(shù)除以2,然后用16位定點(diǎn)格式表示為:7132215CC0002215CBBCA792215這便是本實(shí)驗(yàn)中產(chǎn)生2KHz正弦信號(hào)的三個(gè)系數(shù)。在本實(shí)驗(yàn)中,主程序在初始化時(shí)先計(jì)算出y1和y2,然后開放定時(shí)器中斷。以后每次進(jìn)入定時(shí)器中斷服務(wù)程序時(shí),利用前面的y1和y2,計(jì)算出新的y0。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中

28、心培訓(xùn)中心C54X的定時(shí)器操作的定時(shí)器操作: C54X的片內(nèi)定時(shí)器利用CLKOUT時(shí)鐘計(jì)數(shù),用戶使用三個(gè)寄存器(TIM,PRD,TCR)來控制定時(shí)器。定時(shí)器實(shí)際上可以有20個(gè)比特的周期寄存器。它對(duì)CLKOUT信號(hào)計(jì)數(shù),先將PSC減1,直到PSC為0,然后用TDDR重新裝入PSC,同時(shí)將TIM減1,直到TIM減為0。這時(shí)CPU發(fā)出TINT中斷,同時(shí)在TOUT引腳輸出一個(gè)脈沖信號(hào),脈沖寬度為CLKOUT一致。然后用PRD重新裝入TIM,重復(fù)下去直到系統(tǒng)或定時(shí)器復(fù)位。因而定時(shí)器中斷的頻率由下面的公式?jīng)Q定: 其中tc表示CLKOUT的周期。定時(shí)器當(dāng)前的值可以通過讀取TIM寄存器和TCR寄存器的PSC比

29、特位得到。 111PRDTDDRtc電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心C54X中斷的使用:中斷的使用:- 在C54X中可以通過中斷屏蔽寄存器IMR來決定開放或關(guān)閉一個(gè)中斷請(qǐng)求。 IMR寄存器的各個(gè)比特位中,HPINT表示HPI接口中斷,INT3-INT0為外部引腳產(chǎn)生的中斷,TXINT和TRINT為TDM串口的發(fā)送和接收中斷,BXINT0和BRINT0為BSP串口的發(fā)送和接收中斷,TINT0為定時(shí)器0中斷。在中斷屏蔽寄存器IMR中,1表示允許CPU響應(yīng)對(duì)應(yīng)的中斷,0表示禁止。當(dāng)然要CPU響應(yīng)中斷,ST1寄存器中的INTM還應(yīng)該為0(允

30、許所有的中斷)。 - 當(dāng)DSP響應(yīng)中斷時(shí),PC指針指向中斷向量表中對(duì)應(yīng)中斷的地址,進(jìn)入中斷服務(wù)子程序。中斷向量表是C54X存放中斷服務(wù)程序的一段內(nèi)存區(qū)域,大小為80H。在中斷向量表中,每一個(gè)中斷占用4個(gè)字的空間,一般情況是將一條跳轉(zhuǎn)或延時(shí)跳轉(zhuǎn)指令存放于此。中斷向量表的位置可以通過修改基地址來改變,其基地址由PMST寄存器中的IPTR(15-7 bits)決定。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心圖形顯示設(shè)置窗口:圖形顯示設(shè)置窗口:電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)四:Mc

31、BSP串口操作 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?學(xué)習(xí)C54xx的McBSP串口的控制和使用,并利用VC5402的McBSP1串口實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。 實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: TI公司的DSP開發(fā)環(huán)境CCS2.0,PC機(jī) DES320PPU實(shí)驗(yàn)箱,并口線,電源 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1)研究McBSP串口的操作,包括串口的初始化和發(fā)送中斷服務(wù)程序的編寫。 2)先從串口發(fā)送一個(gè)正弦信號(hào)(該正弦數(shù)據(jù)由VC5402的ROM提供),然后從串口接收該正弦信號(hào),并使用CCS的圖形工具觀察結(jié)果。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: 所有的TMS32

32、0C54X都提供了串口,大多數(shù)都支持緩沖串口。BSP串行接口能與串行設(shè)備,如編/譯碼器,串行A/D和D/A轉(zhuǎn)換器等直接通信。BSP支持8,10,12或16-bit數(shù)據(jù)單元的發(fā)送,同時(shí)允許程控串口通訊的時(shí)鐘頻率。 從VC5402開始,TMS32054xx提供了統(tǒng)一的多通道緩沖串口McBSP。McBSP與外設(shè)進(jìn)行數(shù)據(jù)傳輸是通過(DX)腳來發(fā)送,(RX)腳來接收,通信的時(shí)鐘與幀信號(hào)是由CLKX,CLKR,F(xiàn)SX,和FSR腳來控制。 DSP的CPU或DMA從數(shù)據(jù)接收寄存器(DRR1,2)讀取接收數(shù)據(jù),發(fā)送時(shí)向數(shù)據(jù)發(fā)送寄存器(DXR1,2)寫數(shù)據(jù)。數(shù)據(jù)寫入(DXR1,2)后通過傳輸移位寄存器(XSR1,

33、2) 移位輸出到DX上,同樣,從DR上接收的數(shù)據(jù)移位存儲(chǔ)到接收移位寄存器(RSR1,2) 并拷貝到接收緩存寄存器(RBR1,2) ,然后,再由(RBR1,2)拷貝到DRR1,2,DRR1,2就可以由CPU或DMA來讀出。多級(jí)寄存器允許在通信時(shí)內(nèi)部和外部數(shù)據(jù)同時(shí)傳輸。電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 本實(shí)驗(yàn)使用VC5402的McBSP1串口串口。McBSP每個(gè)串口實(shí)際占用6個(gè)物理地址空間,例如McBSP1串口中數(shù)據(jù)發(fā)送寄存器為兩個(gè)(32bit),地址分別為0 x42和0 x43。本實(shí)驗(yàn)通過0 x43發(fā)送數(shù)據(jù)(16bit)。數(shù)據(jù)接收寄存

34、器為兩個(gè)(32bit),地址分別為0 x40和0 x41。本實(shí)驗(yàn)通過0 x41讀取串口接收數(shù)據(jù)(16bit)??刂萍拇嫫髡加脙蓚€(gè)地址:0 x48和0 x49,而McBSP串口控制寄存器總共有15個(gè),所以在訪問這些控制寄存器時(shí),先將要訪問的寄存器編號(hào)(子地址)寫入地址寄存器0 x48,然后在將數(shù)據(jù)寫入0 x49或從0 x49讀出相應(yīng)的數(shù)據(jù)。 串口的初始化:串口的初始化:本實(shí)驗(yàn)的串口初始化包括兩個(gè)部分:串口收發(fā)中斷的設(shè)置和串口寄存器的初始化。DES320PP-U實(shí)驗(yàn)箱的串口1設(shè)置為單相幀,每幀一個(gè)字,字長(zhǎng)為16bit,發(fā)送CLOCK由內(nèi)部CPU時(shí)鐘產(chǎn)生,頻率為500KHz,并輸出。同時(shí)串口接收時(shí)鐘

35、也使用該信號(hào)。發(fā)送幀同步信號(hào)由發(fā)送位移寄存器自動(dòng)產(chǎn)生,同時(shí)也提供給串口接收電路。串口收發(fā)中斷的設(shè)置包括中斷屏蔽寄存器IMR的設(shè)置,即允許串口1的發(fā)送和接收中斷,同時(shí)設(shè)置PMST,指定中斷向量表的位置,以便正確響應(yīng)中斷。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 串口的中斷服務(wù)程序:串口的中斷服務(wù)程序: 本實(shí)驗(yàn)程序使用了兩個(gè)緩沖區(qū):發(fā)送緩沖和接收緩沖。在初始化程序中首先將VC5402 ROM中的正弦數(shù)據(jù)(在0 x0fe00-0 x0feff)輸送到發(fā)送緩沖中。然后,利用串口發(fā)送中斷,在發(fā)送中斷服務(wù)程序中將這些正弦數(shù)據(jù)從串口1發(fā)送。然后串口接收

36、中斷服務(wù)程序?qū)⒔邮盏臄?shù)據(jù)存放到接收緩沖。 使用DES320PP-U實(shí)驗(yàn)箱時(shí),用短路子將J16的DR1和DX1短路,即將串口1的數(shù)據(jù)發(fā)送端與數(shù)據(jù)接收端相連。為了區(qū)別顯示的波形,我們將接收到的正弦數(shù)據(jù)除以2。 打開兩個(gè)圖形顯示窗口:打開兩個(gè)圖形顯示窗口: 一個(gè)設(shè)置為:“Start Address”為xbuffer(xbuffer為ROM中的正弦波數(shù)據(jù));“Acquisition Buffer Size”為255,“Display Data Size”改為255,“DSP Data Type”為“16-bit signed integer”,“Autoscale”改為OFF,“Maximum Y-v

37、alue”改為32768。另一個(gè)主要修改“Start Address”為rbuffer(rbuffer為接收緩沖),其它設(shè)置不變。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心圖形顯示窗口圖形顯示窗口 左邊是接收緩沖rbuffer,右邊是發(fā)送緩沖xbuffer,可見接收到的正弦與發(fā)送的正弦頻率完全一樣,接收到的正弦幅度是發(fā)送的正弦幅度的一半。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)五:FIR數(shù)字濾波器實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?學(xué)習(xí)FIR數(shù)字濾波器的DSP實(shí)現(xiàn)原理和C54X編程技巧。 綜合運(yùn)

38、用定時(shí)器、串口以及中斷完成信號(hào)的產(chǎn)生、采集以及處理的全過程。實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: TI公司的DSP開發(fā)環(huán)境CCS2.0,PC機(jī) DES320PPU實(shí)驗(yàn)箱,并口線,電源 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1) 研究FIR濾波器的DSP實(shí)現(xiàn)方法,編程實(shí)現(xiàn)低通濾波器。 2)利用DES320PPU實(shí)驗(yàn)箱的模擬信號(hào)輸出通道產(chǎn)生一個(gè)1KHz的方波,然后利用信號(hào)輸入通道對(duì)方波進(jìn)行低通濾波,得到一個(gè)1KHz的正弦信號(hào),并使用CCS的圖形顯示工具觀察輸入和輸出的波形。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: FIR濾波器的實(shí)現(xiàn)濾波器的實(shí)現(xiàn): 如果FI

39、R濾波器的沖激響應(yīng)為h(0),h(1),.,h(N-1)。X(n)表示濾波器在n時(shí)刻的輸入,則n時(shí)刻的輸出為: y(n) = h(0)x(n) + h(1)x(n-1)+ . + h(N-1)xn-(N-1) 用用MAC循環(huán)尋址模式或循環(huán)尋址模式或FIRS指令可以方便地實(shí)現(xiàn)此計(jì)算。指令可以方便地實(shí)現(xiàn)此計(jì)算。 a、使用MAC實(shí)現(xiàn)FIR濾波器,存儲(chǔ)器里數(shù)據(jù)存儲(chǔ)方式為: 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 b、利用C54x系列芯片提供的FIRS指令,數(shù)據(jù)存放方式為: 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/

40、 /培訓(xùn)中心培訓(xùn)中心 AC01的初始化的初始化: DSE320PP-U使用AC01作為模擬信號(hào)接口。AC01提供一個(gè)14bit的D/A和一個(gè)14bit的A/D。AC01與VC5402通過串口0連接。DSP通過串口讀寫AC01的寄存器,控制AC01的采樣頻率、增益、低通/高通濾波器的截止頻率等參數(shù) 1KHz方波信號(hào)的產(chǎn)生:方波信號(hào)的產(chǎn)生: 利用AC01的D/A通道產(chǎn)生一個(gè)1KHz的方波,作為FIR濾波器的輸入信號(hào)。由于串口發(fā)送中斷每0.04ms(25KHz)產(chǎn)生一次,所以我們將一個(gè)周期的方波信號(hào)分25次送出,這樣經(jīng)D/A變化后便可得到1KHz的方波。 串口的初始化和串口中斷服務(wù)程序:串口的初始化

41、和串口中斷服務(wù)程序: 本實(shí)驗(yàn)通過DSP的串口0輸入/輸出數(shù)據(jù)。在串口通訊中,數(shù)據(jù)時(shí)鐘和幀同步信號(hào)都由AC01產(chǎn)生,所以VC5402將使用外部時(shí)鐘和幀同步信號(hào)。完成串口設(shè)置后,還需要修改中斷向量表以便正確響應(yīng)串口0的接收和發(fā)送中斷請(qǐng)求。本實(shí)驗(yàn)中使用發(fā)送中斷產(chǎn)生方波信號(hào)和完成對(duì)AC01的初始化;使用接收中斷存貯輸入的數(shù)據(jù),并設(shè)置新數(shù)據(jù)到達(dá)標(biāo)志。主循環(huán)在檢測(cè)到該標(biāo)志后,調(diào)用FIR濾波程序,完成對(duì)輸入數(shù)據(jù)的處理。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心圖形顯示窗口圖形顯示窗口 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技

42、術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)六:HPI接口操作 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?外部主機(jī)或主處理器可以通過HPI接口讀寫C54X的片內(nèi)RAM,從而大大提高數(shù)據(jù)交換的能力。 學(xué)習(xí)C54X HPI接口的設(shè)計(jì)和使用。 實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: TI公司的DSP開發(fā)環(huán)境CCS2.0,PC機(jī),TURBO C 2.0 DES320PPU實(shí)驗(yàn)箱,并口線,電源 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1) 利用C語(yǔ)言在PC機(jī)上編寫程序訪問C54X的HPI接口。 2)利用HPI BOOTLOADER,從主機(jī)裝入一段C54X的匯編代碼,然后啟動(dòng)C54X并檢查運(yùn)行結(jié)果。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /

43、培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: HPI接口設(shè)計(jì)接口設(shè)計(jì) 主機(jī)利用HPI訪問C54X的片內(nèi)RAM,實(shí)際上是通過讀寫HPI的數(shù)據(jù)和地址寄存器來實(shí)現(xiàn)的。標(biāo)準(zhǔn)HPI有兩種工作模式:RAM共享和主機(jī)訪問模式。增強(qiáng)型HPI(如VC5402,VC5409,VC5410等)都是共享模式,而且只能在DSP時(shí)鐘信號(hào)有效時(shí)才能訪問片內(nèi)RAM。 VC5402在使用HPI BOOTLOADER時(shí)是將程序進(jìn)入點(diǎn)的地址寫入0 x7f單元,DSP的BOOTLOADER會(huì)根據(jù)這個(gè)地址自動(dòng)執(zhí)行你通過HPI接口裝入的代碼。 HPI的數(shù)據(jù)線HD0-HD7通過緩沖隔離BUF與PC機(jī)的數(shù)據(jù)線D0-D7相連。HCNTL0/1和HBI

44、L為控制信號(hào)線,HDS1/2、HAS、HCS為HPI的選通控制線,HR/W為讀寫控制信號(hào)線,HRDY為HPI準(zhǔn)備就緒信號(hào)線。HINT為HPI中斷信號(hào)線。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心通過通過HPI接口訪問片內(nèi)接口訪問片內(nèi)RAM HPI有三個(gè)寄存器:地址寄存器HPIA,控制寄存器HPIC以及數(shù)據(jù)寄存器HPID。主機(jī)通過HPI接口訪問C54X片內(nèi)RAM的一般步驟如下: 首先初始化HPIC寄存器,特別是BOB位。本實(shí)驗(yàn)初始化HPIC=0,即將BOB設(shè)置為0,那么在以后讀寫HPIA和HPID時(shí)一定是高8位在前,低8位在后。 設(shè)置地址寄存

45、器HPIA。先設(shè)置HCNTL1=1&HCNTL0=0,選擇將要對(duì)HPIA進(jìn)行操作。然后將要訪問的C54X片內(nèi)RAM的地址寫入HPI。HPI接口中斷的使用接口中斷的使用 通過HPI接口,主機(jī)和C54X之間可以相互發(fā)送中斷請(qǐng)求:主機(jī)通過HPIC寄存器的DSPINT位中斷C54X,而C54X可以通過HPIC寄存器的HINT位發(fā)送中斷請(qǐng)求到主機(jī)。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心通過通過HPI完成完成BOOT LOADER C54X的BOOTLOADER是芯片在出廠時(shí)由生產(chǎn)廠家寫入的一段ROM程序。該程序的啟動(dòng)地址正是C54X復(fù)位后

46、的起始地址0FF80h。用戶可以利用BOOTLOADER方便地將自己的代碼程序傳送到指定的地方,并開始執(zhí)行。 BOOTLOADER有多種工作方式,通過HPI完成BOOTLOADER是其中的一種。HPI模式需要外部引腳連接配合,即需要將引腳HINT與引腳INT2相連。 使用增強(qiáng)HPI接口如VC5402中,你在寫入DSP代碼后,只需要將程序進(jìn)入點(diǎn)地址寫入0 x7f單元,BOOTLOADER會(huì)自動(dòng)跳轉(zhuǎn)到指定地址開始運(yùn)行。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心本實(shí)驗(yàn)中使用的匯編代碼 地址單元助寄符指令指令代碼(16進(jìn)制) 注釋1000hSsbx

47、 intmF7bb關(guān)閉所有中斷1001hStm #1400h,ar07710 1400將AR0初始化為1400h1003hLd #3ffh,bF120 03ff初始化B為3FFh1005hStl a,*ar0+8090將A的低16位存入*AR0,然后AR0+1006hAdd #1,aF000 0001A寄存器加11008hSub #1,b,bF310 0001B寄存器減1100ahBc 1005h,bneqF84c 1005如果B寄存器不等于0,跳轉(zhuǎn)到1005h100chNopF495空操作100dhMvmd ifr,1020h7301 1020將中斷標(biāo)志寄存器IFR保存到1020h100fh

48、B 100chF073 100c跳轉(zhuǎn)到100Ch,重復(fù)執(zhí)行電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)七:快速傅立葉變換的實(shí)現(xiàn) 實(shí)驗(yàn)?zāi)康模簩?shí)驗(yàn)?zāi)康模?學(xué)習(xí)FFT算法及其在TMS320C54X上的實(shí)現(xiàn)方法。 通過編程掌握C54X的存儲(chǔ)器管理、輔助寄存器的使用、位倒序?qū)ぶ贩绞降燃记?,同時(shí)練習(xí)使用CCS的探針和圖形工具。 實(shí)驗(yàn)器材:實(shí)驗(yàn)器材: TI公司的DSP開發(fā)環(huán)境CCS2.0,PC機(jī) DES320PPU實(shí)驗(yàn)箱,并口線,電源 實(shí)驗(yàn)步驟:實(shí)驗(yàn)步驟:1)完成256點(diǎn)的實(shí)數(shù)FFT,包括四個(gè)子程序:bit_rev、fft、unpack和power。2)

49、編寫主程序(初始化),通過探針工具讀入256點(diǎn)方波數(shù)據(jù)(在文件fft.dat中),調(diào)用FFT,通過CCS的圖形顯示工具觀察運(yùn)行結(jié)果。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實(shí)驗(yàn)原理:實(shí)驗(yàn)原理: 基基2按時(shí)間抽取按時(shí)間抽取FFT算法原理算法原理 對(duì)于有限長(zhǎng)離散數(shù)字信號(hào)xn,0 n N-1,其離散譜xk可以由離散付氏變換(DFT)求得。DFT的定義為: 1,.,1 , 0)2(10NkenxkXnkNjNnW0W0W2W0W2W0W1W2W3x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7)X(7)X(6)X(5)X(4)X(3

50、)X(2)X(1)X(0)W0W0W08點(diǎn)FFT蝶形運(yùn)算 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 實(shí)數(shù)實(shí)數(shù)FFT運(yùn)運(yùn)算算 當(dāng)實(shí)際輸入是實(shí)數(shù)時(shí),利用對(duì)稱性質(zhì)可以使計(jì)算DFT非常有效。優(yōu)化的實(shí)數(shù)FFT算法是一個(gè)組合以后的算法。原始的2N個(gè)點(diǎn)的實(shí)輸入序列組合成一個(gè)N點(diǎn)的復(fù)序列,之后對(duì)復(fù)序列進(jìn)行N點(diǎn)的FFT運(yùn)算,最后再由N點(diǎn)的復(fù)數(shù)輸出拆散成2N點(diǎn)的復(fù)數(shù)序列,這2N點(diǎn)的復(fù)數(shù)序列與原始的2N點(diǎn)的實(shí)數(shù)輸入序列的DFT輸出一致。 使用這種方法,在組合輸入和拆散輸出的操作中,F(xiàn)FT運(yùn)算量減半。這樣利用實(shí)數(shù)FFT算法來計(jì)算實(shí)輸入序列的DFT的速度幾乎是一般復(fù)

51、FFT算法的兩倍。本實(shí)驗(yàn)就用這種方法實(shí)現(xiàn)了一個(gè)256點(diǎn)實(shí)數(shù)FFT(2N = 256)運(yùn)算。 電子科技大學(xué)美國(guó)德州儀器電子科技大學(xué)美國(guó)德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 基二實(shí)數(shù)基二實(shí)數(shù)FFT運(yùn)算的算法運(yùn)算的算法 第一步第一步,輸入數(shù)據(jù)的組合和位倒序。把輸入序列作位倒序,是為了在整個(gè)運(yùn)算最后的輸出中得到的序列是自然順序。在用C54x進(jìn)行位倒序組合時(shí),使用位倒序?qū)ぶ贩绞娇梢源蟠筇岣叱绦驁?zhí)行的速度和使用存儲(chǔ)器的效率。 第二步第二步,在數(shù)據(jù)處理緩沖器里進(jìn)行N點(diǎn)復(fù)數(shù)FFT運(yùn)算。由于在FFT運(yùn)算中要用到旋轉(zhuǎn)因子WN,它是一個(gè)復(fù)數(shù)。我們把它分為正弦和余弦部分,用Q15格式將它們存儲(chǔ)在兩個(gè)分離的表中。每個(gè)表中有128項(xiàng),對(duì)應(yīng)從0度到180度。因?yàn)椴捎醚h(huán)尋址來對(duì)表尋址,128 = 27 28,因此每張表排隊(duì)的開始

溫馨提示

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

評(píng)論

0/150

提交評(píng)論