DSP應用實驗講義課件_第1頁
DSP應用實驗講義課件_第2頁
DSP應用實驗講義課件_第3頁
DSP應用實驗講義課件_第4頁
DSP應用實驗講義課件_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、DSP應用實驗講義前 言DSP應用是電子信息類專業(yè)的重要專業(yè)課程之一,也是一門實驗性和實踐性較強的課程,它除了課堂理論學習外,還需要實驗性環(huán)節(jié)與之配合,否則學習效果會受到很大的影響。因此,為了提高我校DSP應用課程實驗的教學水平,針對我院采用的SZ-DSPII實驗平臺,編寫了本實驗講義。課程實驗是訓練學生閱讀資料,安裝、調試和操作儀器、設備,觀察和分析實驗現(xiàn)象,處理試驗數(shù)據(jù)、分析實驗結果和完成實驗報告等各方面綜合能力,以及培養(yǎng)嚴謹求實的工作作風和加深對理論知識的理解、拓展知識面的重要手段。通過實驗,使學生深化對DSP芯片和器件原理及其應用的理解,增強解決實際問題的能力,為以后走向工作崗位打下扎

2、實的基礎。本講義共編寫了五實驗,要綜合所學的數(shù)字信號處理理論、匯編語言編程和C語言編程等課程知識,通過多個單元模塊程序的編寫與運行,讓學生加深了解DSP芯片的工作原理,從整體上掌握DSP系統(tǒng)的設計過程。由于條件限制及編寫水平有限,書中難免還存在一些缺點和錯誤,希望能在實驗過程中得到逐步完善。編 著 者二一二年十二月目 錄實驗一 CCS軟件與DSP存儲器實驗實驗二 硬件中斷系統(tǒng)及控制綜合實驗實驗三 A/D數(shù)據(jù)采集及虛擬示波實驗(S1)實驗三 D/A信號轉換及波形發(fā)生器實驗(S2)實驗四 語音錄放應用系統(tǒng)設計附錄一 SZ-DSPII實驗平臺介紹附錄二 CCS簡單程序編寫示例實驗一 CCS軟件與DS

3、P存儲器實驗一、實驗目的(1)熟悉DSP硬件仿真系統(tǒng)的使用與設置(2)熟悉CCS軟件開發(fā)環(huán)境的使用與設置(3)通過簡單示例程序,了解DSP器件的內部數(shù)據(jù)存儲器和程序存儲器結構二、實驗設備PC機(Window98/2000);SZ-DSPII實驗平臺(仿真器);CCS軟件開發(fā)環(huán)境;三、實驗原理硬件仿真器是DSP系統(tǒng)開發(fā)的必備工具,它是采用邊界掃描技術(JTAG)和DSP芯片通過JTAG口相連接,實現(xiàn)了PC主機對DSP芯片的完全檢測和控制,這樣就可以利用相應的軟件(CCS,code composer studio)進行在線調試開發(fā)工作。CCS軟件安裝完后,需要配置好相應的驅動程序才能使用。如果所使

4、用的應用平臺CCS自身不支持,則需要先安裝好此應用平臺的驅動后,再進行配置。軟硬件配置好后,就可以在CCS環(huán)境下開發(fā)應用程序了。通過CCS5000的DSP仿真器對DSP進行仿真,向DSP外擴DRAM寫入數(shù)據(jù)、讀數(shù)據(jù)、數(shù)據(jù)塊的移動,其操作結果通過CCS5000仿真界面進行觀察。四、實驗步驟(一)硬件仿真器1、取出SZ-DSPII實驗平臺,注意實驗平臺上所有板卡都是左對齊。2、關閉PC機電源,用專用25芯并口電纜將PC機和仿真器連接好。3、開啟總電源(外殼右側),根據(jù)附錄一設置好相應的跳線、開關,主要有: (1)MCU主板:5V的電源開關往下?lián)芄╇姡婚_關J39往上撥選擇DSP工作; DSP-JTA

5、G接口用專用電纜與仿真器相連; (2)DSP系統(tǒng)小板:S1四個白色鍵往上撥供電; (3)CPLD配置小板:S9往下?lián)芄╇?;S10往下?lián)苓x擇MCU主板的數(shù)碼管工作;4、關閉電源,待CCS軟件開發(fā)環(huán)境設置好后再開啟。(二)CCS軟件開發(fā)環(huán)境1、CCS軟件安裝將CCS安裝光盤放入到光盤驅動器中,運行setup.exe,將CCS安裝在默認的C盤ti目錄下。安裝完成后,在桌面會有“CCS 2 (C5000)”和“Setup CCS 2 (C5000)”兩個快捷方式圖標,分別對應CCS應用程序和CCS配置程序。2、CCS目標系統(tǒng)的驅動程序設置打開CCS配置程序,可以看到系統(tǒng)已經(jīng)默認安裝有一些用于軟件模擬S

6、imulator和硬件仿真Emulator的驅動程序設置以及系統(tǒng)配置(見圖1),用戶可根據(jù)自己的使用情況進行刪除取舍和添加安裝。圖1 CCS默認的驅動程序配置對于驅動的刪除,只要在第二欄“Available Board/Simulator types”下相應項點擊鼠標右鍵,選擇“Uninstall”即可。對于系統(tǒng)配置的刪除,只要在第一欄“System Configure”下相應項點擊鼠標右鍵,選擇“Remove”即可。對于驅動的添加,可以用第三欄的“Install a Device Driver”,選擇相應的.dvr或.dll文件即可。對于系統(tǒng)配置的添加,要分兩種情況。一種是系統(tǒng)自帶的如軟件模

7、擬器C5402 Simulator、TI 原裝C5402 XDS510 Emulator等,則用第三欄的“Import a configure File”直接裝入即可;如果是用戶自定義的仿真器和目標板,則要先安裝好驅動,再進行系統(tǒng)配置,下面以SZ-DSPII實驗平臺為例進行說明。假設只要做C54xx軟件模擬實驗和SZ-DSPII硬件仿真實驗,則首先可以將系統(tǒng)中除“C54x Simulator()”外的選項都刪除,然后再添加安裝SZ-DSPII的驅動和系統(tǒng)配置。第一步:在PC機上安裝/拷貝驅動文件。點擊SZ-DSPII隨機安裝光盤下的“EPP EMULATOR”目錄下的setup.exe進行安裝

8、,默認安裝在C盤根目錄下,生成一個composer文件夾。第二步:給CCS安裝SZ-DSPII驅動。點擊第三欄的Install a Device Driver,選擇c: composersdgo5xx32.dll。要注意這里的驅動是.dll,而不是默認的.dvr,所以要先改變后綴名才能看到(見圖2)。圖2 SZ-DSPII驅動的選擇第三步:給CCS安裝SZ-DSPII配置。第二步安裝完成后,在Available Board/Simulator Type 一欄中會出現(xiàn)相應的驅動圖標,首先把把該圖標拖動到第一欄System Configuration中,這時出現(xiàn)Board Properties對話

9、框。(1)在Board Name &Data File欄中,點擊NEXT;(2)進入Board Properties頁,會顯示板卡的I/O口值,將I/O口值修改為與BIOS中設置值匹配,如0x378(圖3),再點擊NEXT;圖3 Board Properties對話框(3)在Processor Configuration窗中,在Available Processor進行選擇然后,點擊Add Single,對話框右邊出現(xiàn)CPU-1圖標(圖4),再點擊NEXT;圖4 Add Single添加CPU(4)安裝Startup GEL File(s),選擇安裝目錄下ccgelc5402.gel即可(圖5

10、)。圖5 安裝GEL文件(4)Finish,Code Composer Studio Setup程序,選擇保存。再重新啟動PC機,按住DEL鍵進入BIOS,在Integrated Peripherals欄下的Parallel Port Mode(并口模式)由SPP改為EPP方式。至此設置成功!3、CCS軟件的運行首先開啟硬件實驗箱電源,然后點擊PC機桌面CCS 2 (C5000)圖標,當系統(tǒng)只有一個目標系統(tǒng)的配置時,則會直接進入CCS界面;若有多個,則會先進入圖6的界面,讓用戶自己選擇使用哪一個目標系統(tǒng)。這里選擇第二項“sdgo5xx32/CPU_1”,然后即可進入CCS硬件仿真環(huán)境。圖6 C

11、CS目標系統(tǒng)配置選擇當成功進入CCS界面,沒出現(xiàn)任何錯誤提示,那么恭喜你!你已經(jīng)成功完成了軟硬件安裝。但是要注意,如果硬件目標系統(tǒng)沒有開啟電源,或者JTAG連接線不正確,沒有與PC機正常通信,則會圖7的警告信息。所以一定要先開啟硬件實驗箱電源,再啟動CCS。圖7 硬件目標系統(tǒng)沒有正確連接的警告信息注意,所有實驗(包括軟件模擬和硬件仿真)都要求,在LOAD裝載程序前,先做CPU的復位和初始化工作,這下載后才能正常運行。即點擊GEL菜單選擇C54x,選擇CPU_Reset,然后再在同一菜單里選擇C5416_Init(圖8)。如果GEL目錄下沒有這個選項,則說明前面系統(tǒng)配置時GEL文件添加是錯誤的。

12、圖8 CPU的復位和初始化4、CCS存儲器實驗程序關于CCS軟件的使用和程序文件的編譯、連接、下載和運行請參考附錄二和CCS幫助。(1)啟動CCS,編寫實驗程序代碼,進行編譯并加載到DSP中。典型的CMD文件MEMORYPAGE 0:VECS:origin = 0xff80,length = 0x80PROG:origin = 0x1000,length = 0x1000PAGE 1:DATA:origin = 0x2000,length = 0x1000STACK:origin = 0x3000,length = 0x1000SECTIONS.vectors:VECS PAGE 0.text

13、:PROG PAGE 0.data:DATA PAGE 1.stack:STACK PAGE 1* 存儲器實驗 *.title ex2.global reset,_c_int00.mmregs.def _c_int00DAT0.set00HDAT1.set01HDDAT0.set2002HDDAT1.set2003H.sect .vectors;中斷向量表reset:B _c_int00;復位向量NOPNOP.space 4*126.textDELAY.macro COUNTSTM COUNT,BRCRPTB delay?NOPNOPNOPNOPdelay?:NOP.endmc_int00:L

14、D #40h,DP;置數(shù)據(jù)頁為2000h207FhSTM #3000h,SP ;置堆棧指針SSBX INTM ;禁止中斷STM #07FFFh,SWWSR;置外部等待時間bk1: ST #1111h,DAT0;立即數(shù)尋址ST #2222h,*(DDAT1)NOPNOPNOPbk2: MVDK DAT0,DDAT0;絕對地址(dmad)尋址MVKD DDAT1,DAT1NOPNOPNOPbk11:B _c_int00.end(2)采用單步運行程序(F8)或執(zhí)行到光標處(CTRL+F10),并打開內存觀察窗口,觀察其運算結果。要特別注意的是,由于510類型仿真器不支持實時仿真以及DSP的流水線操作

15、,使得執(zhí)行顯示的結果比實際的要慢4個周期,即12條指令。從CMD文件中可以看出,DATA數(shù)據(jù)段是從0x2000地址處開始的,那么打開內存觀察窗口(view/memory):在Address一欄中輸入0x200,F(xiàn)ormat一欄中選擇“Hex-TI Style”,然后點擊“OK”即可看到運算結果在地址為0x2000中的數(shù)據(jù),觀察前面四個數(shù)據(jù)的變換。五、實驗報告要求1、 CCS軟件模擬和硬件仿真的使用2、 存儲器實驗程序及運行結果3、 思考:如何實現(xiàn)用C語言編寫一個對可用數(shù)據(jù)內存清零程序?如何將程序存儲器其中某一起始地址的0x100個字復制到數(shù)據(jù)存儲器的0x4000為起始地址的空間中?實驗二 硬件

16、中斷系統(tǒng)及控制綜合實驗一、實驗目的1、熟悉DSP器件外部中斷和定時器中斷的使用以及中斷服務程序的設計方法2、掌握DSP器件中斷向量表的劃分以及空間的保留3、掌握DSP器件I/O口訪問原理,模擬交通信號的控制,初步了解DSP應用系統(tǒng)的設計二、實驗設備PC機(Window98/2000);SZ-DSPII實驗平臺(仿真器);CCS軟件開發(fā)環(huán)境;三、實驗原理1、 交通燈模塊硬件連接原理圖此模塊既可以由DSP控制,也可以由單片機控制,同時還可以由CPLD直接控制到達運行結果。DSP或單片機對圖中JTD1JTD8送數(shù)據(jù)(數(shù)據(jù)與JTD1JTD8相對應),通過CPLD做邏輯,從而實現(xiàn)模擬交通燈的功能。2、實

17、驗框圖 高位數(shù)據(jù)D15D8的值與交通燈的對應關系是:01北綠02北紅04西綠08西紅10南綠20南紅40東綠80東紅3、DSP中斷向量表及中斷寄存器(1)中斷標志寄存器(IFR),中斷屏蔽寄存器(IMR): (2)中斷向量表4、交通燈控制流程 四、實驗步驟1、硬件環(huán)境(參考實驗一)(1) 先將實驗箱右側的船型開關往“I”方向打開電源,然后將系統(tǒng)主板的開關S33(主板左上角)往下?lián)芙油?/-5V電源;(2) 將CPLD配置小板上的電源開關S9往下(ON)撥,開關S10往下?lián)軄磉x通主板上雙色發(fā)光二極管(交通燈)等輸出指示設備;(3) 進行MCU自檢。將開關J39(位于主板右下角)往下?lián)苓x中MCU工

18、作,將“功能鍵7”撥上去,點擊鍵盤中的RST鍵,MCU將對所用的發(fā)光二極管進行檢測,如果所有的雙色發(fā)光二極管(交通燈)正常;(4) 將開關J39(位于主板右下角)往上撥選中DSP工作,將功能鍵1到7都撥下來;(5) 然后開始做實驗,注意在做DSP實驗時開始按了RST硬件復位后,實驗中不要再按RST鍵,以免實驗由于DSP復位而失敗。2、CCS軟件環(huán)境(參考實驗一)3、參考程序(1) CMD文件(參考實驗一)(2) 交通燈控制程序.title jiaotongdeng.global _c_int00.mmregsLED_ADDR.set1001hSTATUS0 .set 60h STATUS1 .

19、set 61hSTATUS2 .set 62hSTATUS3 .set 63hSTATUS4 .set 64hSTA2_PRE_0 .set 65hSTA2_PRE_1 .set 66hSTA4_PRE_0 .set 67hSTA4_PRE_1 .set 68hDELAY.macro sec_tenth;延時 sec_tenth/10 秒STM sec_tenth-1,AR5loop1?STM #09h,AR6loop0?STM #19999,AR7BANZ $,*AR7-BANZ loop0?,*AR6-BANZ loop1?,*AR5-.endm.sect .vectorsreset:B

20、_c_int00NOPNOP.space 4*127.text_c_int00LD #0h,DPSTM #3000h,SPSSBX INTMSSBX SXMSTM #07FFFh,SWWSR;IO總線外部等待時間14個周期STM #0h,CLKMD;20MHz工作tstBITF CLKMD,#1hBC tst,TCSTM #1007h,CLKMDRPT #0FFhNOPST #0FFFFh,IFRORM #000h,IMR ST #0AA00H,STATUS0LOOPBPORTW STATUS0,LED_ADDR;全部紅燈DELAY #100;延時1秒circleST #6600H,STATU

21、S1PORTW STATUS1,LED_ADDR;南北紅燈、東西綠燈 DELAY #200;延時20秒STM #2h,BRC RPTB flash1 ST #6600H, STA2_PRE_0 PORTW STA2_PRE_0,LED_ADDR DELAY #30ST #2200H,STA2_PRE_1 PORTW STA2_PRE_1,LED_ADDR DELAY #30flash1NOP;南北綠燈閃3次、東西紅燈ST #0EE00H, STATUS2PORTW STATUS2,LED_ADDR;南北黃燈、東西紅燈DELAY #30;延時3秒 ST #9900H,STATUS3PORTW S

22、TATUS3,LED_ADDR;南北紅燈、東西綠燈DELAY #200;延時20秒STM #2h,BRCRPTB flash2ST #09900H, STA4_PRE_0PORTW STA4_PRE_0,LED_ADDRDELAY #30ST #08800H,STA4_PRE_1PORTW STA4_PRE_1,LED_ADDRDELAY #30;南北紅燈、東西綠燈閃3次flash2NOPST #0BB00H,STATUS4PORTW STATUS4,LED_ADDR;南北紅燈、東西黃燈DELAY #30;延時3秒 B circle .end五、實驗報告要求4、 DSP器件中斷原理及實現(xiàn)5、

23、交通燈控制程序及運行現(xiàn)象6、 思考:如果在程序運行過程中遇到硬件中斷,如何保護保持原有的現(xiàn)場?實驗三 A/D數(shù)據(jù)采集及虛擬示波實驗(S1)一、實驗目的1、熟悉DSP和外圍器件的連接和操作2、了解DSP對數(shù)據(jù)的處理能力3、掌握A/D轉換的程序實現(xiàn)以及數(shù)據(jù)采集、波形顯示的方法二、實驗設備PC機(Window98/2000);SZ-DSPII實驗平臺(仿真器);CCS軟件開發(fā)環(huán)境;信號發(fā)生器(內置);示波器(可選)三、實驗原理1、硬件連接原理框圖通過將信號發(fā)生器產生的外接信號采集過來,經(jīng)過DSP處理后,波形可在CCS中觀察,并在液晶屏中顯示出來。下面是該實驗的硬件連接原理框圖。具體點講是,模擬信號由

24、“IN”端輸入,AD芯片TLC5510采用DSP的時鐘輸出(CLKOUT)為采樣時鐘,并由DSP給出控制信號來進行AD轉換,DSP進行數(shù)據(jù)采集并處理,然后將處理后的數(shù)據(jù)送往雙口RAM,最后由液晶屏顯示其AD采集的波形。2、軟件波形觀測同時,還可菜單VIEWGRAPHTIME/FREQUENCY中觀測AD采集的數(shù)據(jù)及波形。對于參考程序,其顯示的首地址是2000h,即要將“Start Address”由默認的“0x0030E000”改為“0x2000”;“DSP data type”數(shù)據(jù)類型改為“16 bit signed integer”;Display Data Type改為“200”(540

25、2最多可以存儲256個點),即一個周期采用200個點;其它可以默認:按“確定”后將出現(xiàn)黃色的波形窗口。3、程序流程四、實驗步驟1、硬件環(huán)境(參考實驗一)(1) 將實驗箱右側的船型開關往“I”方向打開電源,然后將主板的開關S33、S34(主板左上角)往下?lián)芙油?/-5V和+/-12V電源;(2) 將主板中“功能鍵1”(右下角)往上去以顯示波形,其他功能鍵和“MCU/DSP選擇檔”都往下?lián)?,選中MCU工作;(3) 將CPLD配置小板上的電源開關S9往下(ON)撥,開關S10往上撥來選通主板上液晶屏顯示設備; (4) 將右邊信號發(fā)生器模塊產生的模擬信號用連接線引到AD板的“IN”端(當然也外接頻率發(fā)

26、生器信號),要注意GND端要相連接地。假設選擇100KHz、1.5V左右的正弦波(可用示波器觀察驗證)。(5) 將AD小板上的插座J5短接右邊兩插針,J10短接下方兩插針。實驗中可適當調節(jié)電位器R8來改變截止電壓。2、CCS軟件環(huán)境(參考實驗一)3、參考程序(1)CMD文件(參考實驗一)(2)數(shù)據(jù)采集及虛擬示波實驗程序 .title ad.global _c_int00.mmregsAD_ADDR .set 9003hAD_DATA .set 61h .sect .vectorsreset:B _c_int00NOPNOP.space 4*128.text_c_int00:LD #0h,DPS

27、TM #3000h,SPRSBX INTMSTM #07FFFh,SWWSR SSBX XF ;XF=1 ST #1007h,CLKMD;工作在20MHzRPT #0FFhNOP STM #0ffffh,IFRORM #000h,IMRRSBX SXMadst #2000h,ar1noprpt #127 PORTR AD_ADDR,*ar1+ st #2000h,ar1 rpt #127 andm #0ffh,*ar1+ st #2000h,ar1 st #127,ar2 PORTW *AR1+,8000H PORTW *AR1+,8001H(略) PORTW *AR1+,807eH PORT

28、W *AR1+,807fH rsbx xf rpt #10 nop ssbx xf b ad .end 將程序編譯連接生成ad.out后,下載到DSP中并運行“RUN”后,可以在實驗箱的液晶屏上觀察到相應的波形。然后,在CCS軟件中VIEWGRAPHTIME/FREQUENCY設置好,就可以觀測到和液晶屏上一致的波形。五、實驗報告要求7、 利用DSP實現(xiàn)A/D轉換原理及實現(xiàn)8、 A/D數(shù)據(jù)采集、虛擬示波程序及其運行結果9、 思考:能否根據(jù)外部頻率來定采樣率?實驗三 D/A信號轉換及波形發(fā)生器實驗(S2)一、實驗目的1、熟悉DSP和外圍器件的連接和操作2、了解DSP對數(shù)據(jù)的處理能力3、掌握D/A

29、轉換的程序實現(xiàn)以及數(shù)據(jù)采集、波形顯示的方法二、實驗設備PC機(Window98/2000);SZ-DSPII實驗平臺(仿真器);CCS軟件開發(fā)環(huán)境;示波器三、實驗原理1、硬件連接原理框圖由DSP對DA芯片送數(shù)據(jù),并且是由DSP對DA進行控制,經(jīng)過DA轉換后輸出,可用示波器從DA板上的OUT端觀測其輸出結果。2、程序流程四、實驗步驟1、硬件環(huán)境(參考實驗一)(1) 將實驗箱右側的船型開關往“I”方向打開電源,然后將主板的開關S33、S34(主板左上角)往下?lián)芙油?/-5V和+/-12V電源;(2) 將主板中開關J39 “MCU/DSP選擇檔”往上撥,選中DSP工作,其余的都往下?lián)埽唬?) 將CP

30、LD配置小板上的電源開關S9往下(ON)撥,開關S10往下?lián)軄磉x通主板上DA轉換等外圍設備; 2、CCS軟件環(huán)境(參考實驗一)3、參考程序(1)CMD文件(參考實驗一)(2)D/A信號轉換及波形發(fā)生器實驗程序.title da.global _c_int00.mmregs .def cos_generate,end_of_cose .def d_cos_delay1,d_cos_delay2,d_theta,d_cosxd_cos_delay1 .usect cos_vars,1 d_cos_delay2 .usect cos_vars,1 d_theta .usect cos_vars,1d

31、_cosx .usect cos_vars,1k_cos_delay1 .set 06602h ;cos(0.5)*0.8k_cos_delay2 .set 064d8h ;cos(10)*0.8 k_cos_theta .set 07f83h ;cos(5)k_2 .set 2hk_256 .set 256COSDATA .usect cos_data,256 DR_ADDR.set8FFFh;double ram addressAD_ADDR .set 9003hDA_ADDR .set 9100h ;CS,LDAC .WR+IOSTRB-L1. LDAC WRITE;CS CHIP SE

32、LECT; L1JT_ADDR .set 1001hRAMADDR .set 8000hSM_ADDR .set 1003hFG_ADDR .set 1002H DR_DATA.set60h ;double ram dataAD_DATA .set 61hDA_DATA .set 62h ;.data;.word 0000h,01100h,2200h,03300h,4400h,05500h,6600h,07700h,8000h,9100h,0A200h,0B300h,0C400h,0D500h,0E600h,0F700h.sect .vectorsreset:B _c_int00NOPNOP.

33、space 15*4*16 int0:B _dpjNOPNOPint1:B _dpjNOPNOP int2:B _dpjNOPNOP.space 13*4*16.text_c_int00:LD #0h,DPSTM #3000h,SPRSBX INTMSTM #07FFFh,SWWSR SSBX XF ;XF=1 ST #1007h,CLKMD;工作在20MHzRPT #0FFhNOP STM #0ffffh,IFRORM #000h,IMRRSBX SXMSTM #2000H,AR0ST #0,DA_DATARPT #1000 ST #00H,*AR0+bbb ; call coshapp n

34、op nop ; b bbb ;*三 角 波 * LOOPST #0H,DA_DATA LOOP1 NOP PORTW DA_DATA, DA_ADDR ADDM #1,DA_DATA CMPM DA_DATA,#02FFH BC LOOP2,TC B LOOP1LOOP2 PORTW DA_DATA,DA_ADDR LD DA_DATA,A SUB #1,A STL A,DA_DATA CMPM DA_DATA,#0000H BC LOOP,TC B LOOP2 NOP BANZ LOOP1,*AR5- ST #1000h,AR5 B LOOP _dpj: nop nop nop aaa n

35、op b aaadelaySTM #0f0h,AR7;延時子程序BANZ $,*AR7-BANZ delay,*AR6- RET coshapp SSBX FRCT ST COSDATA,AR5 NOP ;STM #600H,SP LD #d_cos_delay1,DP NOP STM #d_cos_delay1,ar3 STM #d_theta,AR4 RPTZ A,#3 STL A,*AR3+ STM #1,AR0 STM #d_cosx,AR2 STM #k_2,BK ;STM #k_256-1,BRC NOP STM #d_cos_delay1,AR3 ST #k_cos_delay1

36、,*AR3+ ST #k_cos_delay2,*AR3 STM #d_cos_delay1,AR3 ST #k_cos_theta,d_cosxcos_generate ; RPTB end_of_cose MPY *AR2,*AR3+0%,A SUB *AR3,15,A SFTA A,1,A STH A,*AR3 sth a,COSDATA rpt #400 nop PORTW COSDATA,DA_ADDR ; MVDD *AR3,*AR5+ NOPend_of_cose B cos_generate cosend ret .end五、實驗報告要求1、 利用DSP實現(xiàn)D/A轉換原理及實現(xiàn)

37、2、 D/A信號轉換及波形發(fā)生器實驗及其運行結果3、 思考:能否利用泰勒級數(shù)展開法展開正弦(余弦)函數(shù),通過DA(0832)得到相應的波形? 實驗四 語音錄放應用系統(tǒng)設計一、實驗目的1、掌握音頻信號的采集以及存儲方法2、掌握FIR濾波器的設計以及應用3、掌握DSP應用系統(tǒng)的設計方法二、實驗設備PC機(Window98/2000);SZ-DSPII實驗平臺(仿真器);CCS軟件開發(fā)環(huán)境;示波器三、實驗原理1、硬件連接原理圖音頻經(jīng)M2或M1輸入后,由2272濾波,通過AD50采集信號,然后由DSP5416的同步串口0(BDR0、BDX0、BCLKR0、BCLKX0、BFSX0、BFXR0)傳輸采集

38、過來的數(shù)字信號,并由DSP對其進行處理,將處理完成的數(shù)據(jù)存放在DRAM中,或在被某一條件觸發(fā)后回放,由LM386對輸出信號進行功率放大,最后由M3(耳機)或M4(喇叭)輸出。2、FIR濾波器FIR 濾波器算法的函數(shù)表達式: short oflag = fir (DATA *x, DATA *h, DATA *r, DATA *dbuffer,ushort nh, ushort nx)參數(shù)xnx指向輸入向量,長度為 nx hnh指向系數(shù)向量,長度為 nx例如:若 nh=3:則:H = b0, b1, b2。l 內存對齊:這是一個環(huán)行緩沖區(qū),必須起始于k位邊界上(就是說起始地址的k個LSB位必須為

39、0)。其中k為大于log2(nh)的整數(shù),具體解釋見TMS320C54X DSP Reference Set 第5-15頁5.5.3.4小節(jié)。rnx指向輸出向量,長度為 nxDbuffernh延遲緩沖區(qū)l 在多重緩沖區(qū)方法中,該向量在進行第一次塊操作時應該初始化為0;在后面的塊操作中,延遲緩沖區(qū)保存著計算r所必須的輸入值。l 內存對齊:與h向量一致。Nx輸入向量的長度Nh系數(shù)向量的長度Oflag溢出標志 若 oflag = 1, 則運算中產生32位溢出若 oflag = 0, 運算中未產生32位溢出說明使用系數(shù)向量h,計算實數(shù)的FIR濾波。輸入數(shù)據(jù)存于向量x中。該例程使用一個緩沖內存d,來保存

40、前一次的輸入值??梢赃M行塊濾波操作,或者單個數(shù)據(jù)濾波(nx=1)。算法rj = 0 =j VECS PAGE 0.text:PROG PAGE 0.data:DATA PAGE 1.bss:DATA PAGE 1.stack:STACK PAGE 1coff_fir:DRAM PAGE 1fir_bfr:DRAM PAGE 1(2)FIR的源程序* Description:濾波器實驗lowpass 01000Hz *.title firBSP.set0;當前使用McBsp1;McBsp 內存映射寄存器SPSA0.set 038hSPSD0.set 039hDRR10.set 021hDRR20

41、.set020hDXR10.set 023hDXR20.set022hSPSA1.set 048hSPSD1 .set 049hDRR11 .set041hDRR21 .set 040hDXR11 .set 043hDXR21 .set042hSPSA2 .set 034hSPSD2 .set 035hDRR12 .set 031hDRR22 .set030hDXR12 .set 033hDXR22 .set032h;McBsp Subaddressed RegistersSPCR1.set00hSPCR2.set01hRCR1.set02hRCR2.set03hXCR1.set04hXCR2

42、.set05hSRGR1.set06hSRGR2.set07hMCR1.set08hMCR2.set09hRCERA.set0ahRCERB.set0bhXCERA.set0chXCERB.set0dhPCR.set0eh.if BSP = 0SPSA.setSPSA0SPSD.setSPSD0RDRR.setDRR10RDXR.setDXR10IMASK.set0010h.endif.if BSP = 1SPSA.setSPSA1SPSD.setSPSD1RDRR.setDRR11RDXR.setDXR11IMASK.set0400h.endif;fin_flag.set 64h.asg AR0,FIR_INDEX_P.asg AR4,FIR_DATA_P.asg AR5,FIR_COFF_PWR_SUB_REG.macro val,addr;寫McBsp控制寄存器stm addr,SPSAnopstm val,SPSDnop.endmRD_SUB_REG.macro addr,acc;讀McBsp控制寄存器stm #:addr:,SPSAnopldm SPSD,accnopnopnop.endmWAITTRX .macro;等待串口中斷WAITR? RD_SU

溫馨提示

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

評論

0/150

提交評論