DSP課程設(shè)計(jì)報(bào)告
中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
DSP課程設(shè)計(jì)報(bào)告
專業(yè):姓名:學(xué)號(hào):任課教師:
年月日中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
一、實(shí)驗(yàn)內(nèi)容
編寫程序,產(chǎn)生正弦波
二、實(shí)驗(yàn)?zāi)康?/p>
學(xué)會(huì)用ccs集成開發(fā)軟件,在開發(fā)環(huán)境下完成工程項(xiàng)目創(chuàng)建,程序編輯,編譯,鏈接,調(diào)試和數(shù)據(jù)分析。
三、實(shí)驗(yàn)設(shè)備
(1)DSP實(shí)驗(yàn)箱
(2)裝有ccs201*軟件的電腦(3)DSP硬件仿真器
四、實(shí)驗(yàn)程序代碼
正弦波形的匯編程序
.title"sinx.asm"
.mmregs
.def_c_int00
.refd_xs,d_sinx,d_xc,d_cosxsin_x:.usect"sin_x",360STACK:.usect"STACK",10k_theta.set286PA0.set0_c_int00:.text
STM#STACK+10,SPSTM#0,AR1
STMk_theta,AR0STM#sin_x,AR7STM#90,BRCRPTBloop1-1LDMAR1,ALD#d_xs,DPSTLA,@d_xsSTLA,@d_xcCALLsin_startCALLcos_startLD#d_sinx,DPLD@d_sinx,16,AMPYA@d_cosxSTHB,1,*AR7+MAR*AR1+0loop1:STM#sin_x+89,AR6STM#88,BRCRPTBloop2-中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
LD*AR6-,ASTLA,*AR7+loop2:STM#179,BRCSTM#sin_x,AR6RPTBloop3-1LD*AR6+,ANEGASTLA,*AR7+loop3:NOP
end:Bendsin_start:
.defsin_startd_coef_s.usect"coef_s",4.data
table_s:.word01C7H.word030BH.word0666H.word1556H
d_xs.usect"sin_vars",1d_squr_xs.usect"sin_vars",1d_temp_s.usect"sin_vars",1d_sinx.usect"sin_vars",1c_1_s.usect"sin_vars",1.text
SSBXFRCT
STM#d_coef_s,AR4RPT#3
MVPD#table_s,*AR4+STM#d_coef_s,AR2STM#d_xs,AR3STM#c_1_s,AR5ST#7FFFH,c_1_sSQUR*AR3+,ASTA,*AR3
||LD*AR5,B
MASR*AR3+,*AR2+,B,AMPYAA
STHA,*AR3
MASR*AR3-,*AR2+,B,AMPYA*AR3+STB,*AR3
||LD*AR5,B
MASR*AR3-,*AR2+,B,AMPYA*AR3+中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
STB,*AR3+
||LD*AR5,B
MASR*AR3-,*AR2+,B,AMPYAd_xs
STHB,d_sinxRETcos_start:
.defcos_startd_coef_c.usect"coef_c",4.data
table_c:.word0249H.word0444H.word0AABH.word4000Hd_xc.usect"cos_vars",1d_squr_xc.usect"cos_vars",1d_temp_c.usect"cos_vars",1d_cosx.usect"cos_vars",1c_1_c.usect"cos_vars",1.text
SSBXFRCT
STM#d_coef_c,AR4RPT#3
MVPD#table_c,*AR4+STM#d_coef_c,AR2STM#d_xc,AR3STM#c_1_c,AR5ST#7FFFH,c_1_cSQUR*AR3+,ASTA,*AR3
||LD*AR5,B
MASR*AR3+,*AR2+,B,AMPYAA
STHA,*AR3
MASR*AR3-,*AR2+,B,AMPYA*AR3+STB,*AR3
||LD*AR5,B
MASR*AR3-,*AR2+,B,ASFTAA,-1,ANEGAMPYA*AR3+MAR*AR3+RETD中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
ADD*AR5,16,BSTHB,*AR3RET.end
正弦波形的鏈接程序MEMORY{
PAGE0:
EPROM:org=0E000H,len=1000HVECS:org=0FF80H,len=0080HPAGE1:
SPRAM:org=0060H,len=0020HDARAM1:org=0080H,len=0010HDARAM2:org=0090H,len=0010HDARAM3:org=0200H,len=0200H}
SECTIONS
{.text:>EPROMPAGE0.data:>EPROMPAGE0STACK:>SPRAMPAGE1sin_vars:>DARAM1PAGE1
coef_s:>DARAM1PAGE1cos_vars:>DARAM1PAGE1coef_c:>DARAM2PAGE1
sin_x:align(512){}>DARAM3PAGE1.vetors:>VECSPAGE0}
復(fù)位向量文件vectors.asm.title"vectors.asm".ref_c_int00.sect".vectors"B_c_int00.end
五、實(shí)驗(yàn)步驟
CCS軟件的基本操作:
(1)建立工程:點(diǎn)擊菜單project-new,在彈出的窗口中輸入工程名,后綴是.pjt;(2)建立文件:點(diǎn)擊菜單file-new-sourcefile,建立匯編語言文件和鏈接命令文件;(3)將文件加入工程:點(diǎn)擊菜單project-addfilestoproject,選擇要加入的文件添加到工程;
(4)工程的匯編鏈接:點(diǎn)擊菜單project-rebuildall,若匯編鏈接成功會(huì)生成.out文件;(5)裝載可執(zhí)行程序:點(diǎn)擊菜單file-lodeprogram,裝載.out文件;(6)執(zhí)行程序:點(diǎn)擊菜單debug-run;(7)觀察結(jié)果。中國(guó)地質(zhì)大學(xué)江城學(xué)院DSP課程設(shè)計(jì)報(bào)告
注意事項(xiàng):
(1)標(biāo)號(hào)區(qū)分大小寫,標(biāo)號(hào)從第一列開始;(2)星號(hào)(*)從第一列開始;
(3)指令助記符不能從第一列開始;(4)MEMORY和SECTIONS要大寫;
(5)在鏈接命令文件中解釋說明用符號(hào)/**/;(6)PAGE與0或與1之間要有空格。
六、實(shí)驗(yàn)小結(jié)
本次課程設(shè)計(jì)中遇到一些課堂中從未有過的問題,通過網(wǎng)絡(luò)查找和同學(xué)交流,大大促進(jìn)了設(shè)計(jì)進(jìn)程。并在過程中進(jìn)一步提高自身的創(chuàng)作、創(chuàng)新水平,扎實(shí)基礎(chǔ),擴(kuò)展所學(xué)。并且此次課程設(shè)計(jì),基于課程理論知識(shí)和網(wǎng)上資料,使我對(duì)數(shù)字信號(hào)處理課程有了更深一步的了解和掌握,對(duì)利用CCS軟件編程的數(shù)字信號(hào)處理方法有了進(jìn)一步的了解。在理論課的基礎(chǔ)上進(jìn)行實(shí)驗(yàn)實(shí)習(xí),是對(duì)本門課程的深入學(xué)習(xí)和掌握,在以后的工作學(xué)習(xí)中,數(shù)字信號(hào)的處理都是采用計(jì)算機(jī)仿真的方法進(jìn)行測(cè)試,因此,掌握基于計(jì)算機(jī)的數(shù)字信號(hào)處理方法對(duì)以后的工作和學(xué)習(xí)有很大的幫助。這樣一個(gè)課程設(shè)計(jì)對(duì)我們的發(fā)展有著極大的幫助!
最后,這個(gè)設(shè)計(jì)之所以能按時(shí)完成離不開老師的指導(dǎo)和同學(xué)的幫助,在這我對(duì)他們表示衷心的感謝。
擴(kuò)展閱讀:DSP技術(shù)及課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告二
東南大學(xué)自動(dòng)化學(xué)院
實(shí)驗(yàn)報(bào)告
課程名稱:DSP原理及C程序開發(fā)
第二次實(shí)驗(yàn)
實(shí)驗(yàn)名稱:基于DSP系統(tǒng)的實(shí)驗(yàn)指示燈、撥碼開關(guān)和定時(shí)器院(系):自動(dòng)化專業(yè):自動(dòng)化姓名:學(xué)號(hào):實(shí)驗(yàn)室:實(shí)驗(yàn)組別:
同組人員:實(shí)驗(yàn)時(shí)間:201*年4月18日評(píng)定成績(jī):審閱教師:
第一部分實(shí)驗(yàn):基于DSP系統(tǒng)的實(shí)驗(yàn)指示燈和撥碼開關(guān)
一.實(shí)驗(yàn)?zāi)康?/p>
1.了解ICETEKF28335-A評(píng)估板在TMS320F28335DSP外部擴(kuò)展存儲(chǔ)空間上的擴(kuò)展。2.了解ICETEKF28335-A評(píng)估板上指示燈和撥碼開關(guān)擴(kuò)展原理。3.學(xué)習(xí)在C語言中使用擴(kuò)展的控制寄存器的方法。
二.實(shí)驗(yàn)設(shè)備
計(jì)算機(jī),ICETEKF28335-A實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEKF28335-A評(píng)估板+相關(guān)連線及電源)。
三.實(shí)驗(yàn)原理
1.TMS320F28335DSP的存儲(chǔ)器擴(kuò)展接口
存儲(chǔ)器擴(kuò)展接口是DSP擴(kuò)展片外資源的主要接口,它提供了一組控制信號(hào)和地址、數(shù)據(jù)線,可以擴(kuò)展各類存儲(chǔ)器和存儲(chǔ)器、寄存器映射的外設(shè)。
-ICETEKF28335-A評(píng)估板在擴(kuò)展接口上除了擴(kuò)展了片外SRAM外,還擴(kuò)展了指示燈、DIP開關(guān)和D/A設(shè)備。具體擴(kuò)展地址如下:
0x180004-0x180005:D/A轉(zhuǎn)換控制寄存器0x180001:板上DIP開關(guān)控制寄存器
0x180000:板上指示燈控制寄存器
-與ICETEKF28335-A評(píng)估板連接的ICETEK-CTR顯示控制模塊也使用擴(kuò)展空間控制主要設(shè)備:
208000-208004h:讀-鍵盤掃描值,寫-液晶控制寄存器
208002-208002h:液晶輔助控制寄存器208003-208004h:液晶顯示數(shù)據(jù)寄存器
2.指示燈與撥碼開關(guān)擴(kuò)展原理
圖1指示燈擴(kuò)展原理
圖2撥碼開關(guān)擴(kuò)展原理
四.實(shí)驗(yàn)步驟
LED程序如下:
#defineLED(*(unsignedshortint*)0x180000)for(;;){
LED=0x01;Delay(1000);LED=0x02;Delay(1000);LED=0x04;Delay(1000);LED=0x08;Delay(1000);}
開關(guān)程序如下;
#defineSW(*(unsignedshortint*)0x180001)for(;;){}
LED=SW;
五.實(shí)驗(yàn)結(jié)果
可知:映射在擴(kuò)展存儲(chǔ)器空間地址上的指示燈寄存器在設(shè)置時(shí)是低4位有效的,數(shù)據(jù)的最低位對(duì)應(yīng)指示燈D1,次低位對(duì)應(yīng)D2,...依次類推。LED燈以流水燈的形式閃滅。
可知:映射在擴(kuò)展存儲(chǔ)器空間地址上的撥碼開關(guān)控制寄存器在回讀時(shí)是低4位有效的,數(shù)據(jù)的最低位對(duì)應(yīng)撥碼開關(guān)1,次低位對(duì)應(yīng)2,...依次類推。撥動(dòng)開關(guān)對(duì)應(yīng)的LED燈隨開關(guān)閃滅。
程序二中的led燈與撥碼開關(guān)不是正向?qū)?yīng)的,而是相反的。
六.問題與思考
ICETEKF28335-A評(píng)估板上的指示燈控制寄存器是可讀可寫的,請(qǐng)問用什么辦法可以回讀指示燈狀態(tài)?
答:可以將指示燈控制寄存器的數(shù)據(jù)傳遞給一個(gè)參數(shù),將參數(shù)輸出,可以根據(jù)二進(jìn)制數(shù)據(jù)的后四位知道指示燈的狀態(tài)。
第二部分實(shí)驗(yàn):基于DSP系統(tǒng)的實(shí)驗(yàn)定時(shí)器
一.實(shí)驗(yàn)?zāi)康?/p>
1.通過實(shí)驗(yàn)熟悉F28335A的定時(shí)器;2.掌握F28335A定時(shí)器的控制方法;
3.掌握F28335A的中斷結(jié)構(gòu)和對(duì)中斷的處理流程;
4.學(xué)會(huì)C語言中斷程序設(shè)計(jì),以及運(yùn)用中斷程序控制程序流程。
二.實(shí)驗(yàn)設(shè)備
計(jì)算機(jī),ICETEK-F28335-A實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEKF28335-A系統(tǒng)板+相關(guān)連線及電源)。
三.實(shí)驗(yàn)原理
1.通用定時(shí)器介紹及其控制方法TMS320F28335A內(nèi)部有三個(gè)32位通用定時(shí)器(TIMER0/1/2),定時(shí)器1和2被保留給實(shí)時(shí)操作系統(tǒng)(DSPBIOS)用,只有定時(shí)器0可以提供給用戶使用。
2.中斷響應(yīng)過程a.接受中斷請(qǐng)求。必須由軟件中斷(從程序代碼)或硬件中斷(從一個(gè)引腳或一個(gè)基于芯片的設(shè)備)提出請(qǐng)求去暫停當(dāng)前主程序的執(zhí)行。
b.響應(yīng)中斷。必須能夠響應(yīng)中斷請(qǐng)求。如果中斷是可屏蔽的,則必須滿足一定的條件,c.準(zhǔn)備執(zhí)行中斷服務(wù)程序并保存寄存器的值。
按照一定的順序去執(zhí)行。而對(duì)于非可屏蔽中斷和軟件中斷,會(huì)立即作出響應(yīng)。
d.執(zhí)行中斷服務(wù)子程序。調(diào)用相應(yīng)得中斷服務(wù)程序ISR,進(jìn)入預(yù)先規(guī)定的向量地址,并且執(zhí)行已寫好的ISR。
3.中斷類別可屏蔽中斷:這些中斷可以用軟件加以屏蔽或解除屏蔽。
不可屏蔽中斷:這些中斷不能夠被屏蔽,將立即響應(yīng)該類中斷并轉(zhuǎn)入相應(yīng)的子程序去執(zhí)行。所有軟件調(diào)用的中斷都屬于該類中斷。
4.中斷的優(yōu)先級(jí)如果多個(gè)中斷被同時(shí)激發(fā),將按照他們的中斷優(yōu)先級(jí)來提供服務(wù)。中斷優(yōu)先級(jí)是芯片內(nèi)部已定義好的,不可修改。
四.實(shí)驗(yàn)步驟
打開工程文件Lab303-Timer目錄中的“Timer.pjt”。編譯下載運(yùn)行,觀察指示燈在定時(shí)器的定時(shí)中斷中按照設(shè)計(jì)定時(shí)閃爍(流水)。改變CpuTimer0Regs.PRD.all=0xffff函數(shù)里的值,觀察實(shí)驗(yàn)現(xiàn)象。
初始化LED=0,m=0;修改中斷服務(wù)程序如下:
interruptvoidcpu_timer0_isr(void){
CpuTimer0.InterruptCount++;m++;
//Acknowledgethisinterrupttoreceivemoreinterruptsfromgroup1PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;CpuTimer0Regs.TCR.bit.TIF=1;CpuTimer0Regs.TCR.bit.TRB=1;
if(m>100)
{}}m=0
LED=(~LED);
五.實(shí)驗(yàn)結(jié)果
程序?qū)崿F(xiàn)LED定時(shí)亮滅,但是因?yàn)槎〞r(shí)器本身設(shè)定的周期比較小,所以在100個(gè)中斷過程后才執(zhí)行一次具體的任務(wù),,使得指示燈變化。改變CpuTimer0Regs.PRD.all函數(shù)的值會(huì)改變定時(shí)器周期,使得指示燈閃爍的速度產(chǎn)生變化。
友情提示:本文中關(guān)于《DSP課程設(shè)計(jì)報(bào)告》給出的范例僅供您參考拓展思維使用,DSP課程設(shè)計(jì)報(bào)告:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。