《數(shù)字信號處理系統(tǒng)的設(shè)計與實踐》08_第1頁
《數(shù)字信號處理系統(tǒng)的設(shè)計與實踐》08_第2頁
《數(shù)字信號處理系統(tǒng)的設(shè)計與實踐》08_第3頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

DSP技術(shù)與應(yīng)用DSP技術(shù)與應(yīng)用基于TMS320C54X實驗指導(dǎo)書YAO-CIE-XTU第第14頁共18頁《DSP技術(shù)與應(yīng)用基于TMS320C54X》實驗指導(dǎo)書湘潭大學(xué)信息工程學(xué)院姚志強2008.9.7TMS320VC5402DSK使用注意事項TMS320VC5402DSKPCCodeComposerTMS320VC5402DSKPCPCCMOS_BIOS重新設(shè)置并行口的特性。TMS320VC5402DSKDIPSwitches5、6ONOFF。CCSUSB電纜線。TMS320VC5402DSKCMOS要用手及其它帶電物體直接和電路板接觸。實驗報告的撰寫實驗要求和目的;實驗主要內(nèi)容;畫出程序流程圖;作出硬件描述(如果與DSK板硬件有關(guān)的);實驗結(jié)果和心得。實驗一CCS安裝和操作一、實驗?zāi)康恼莆誘MS320C5400系列匯編語言程序的基本格式,掌握程序編譯、連接、運行和調(diào)試的基本過程熟悉CodeComposer的使用二、實驗設(shè)備集成開發(fā)環(huán)境CodeComposer以下簡稱CCS)實驗代碼ccs_basic.s54、ccs_basic.cmd和ccs_basic.gel三、實驗內(nèi)容CCS的安裝:安裝說明詳見軟件說明基本操作CCSsetupC54xxSimulator;建立一個新的項目ccs_basic.pjt,并加入文件ccs_basic.s54 和ccs_basic.cmd;ccs_basic.gel;Project-->Option中加入適當(dāng)?shù)木幾g和連接的選項;CompilerfilesAsmFileExt-->寫入“s54”匯編語言擴展名;Buildccs_basic.out;File->LoadProgramccs_basic.out,并運行和調(diào)試。練習(xí)ccs_basic.Map,理解存儲器的配置情況;觀察和修改存儲器單元的內(nèi)容四、實驗結(jié)果和提示建立項目,并加入文件C54xxsimulatorProject→New菜單項,建立一個新的項目Project→addfilestonewprojectccs_basic.cmd;GELfilesLoadGELccs_basic.gel;編譯和連接Project-->BuildOptionCompileCategory列表中,basicgeneratedebuginfofullsymbolicdebug選項,1-1所示;Project-->Buildlinkerautoinitmode選項中選擇noautointialization模式,OutputFilename中輸入\debug\ccs_basic.out,CodeEntryPoint中輸入main,MapFilename中輸入ccs_basic.map1-2所示。圖1-1編譯選項的選擇圖1-2連接選項的選擇Project→Buildccs_basic.out;File->LoadProgramccs_basic.out。觀察存儲器映象文件選擇File→Open打開ccs_basic.Map文件,可觀察01為數(shù)據(jù)空間;0x0021;數(shù)據(jù)段:其中需初始化數(shù)據(jù)段.data0x20054;不需初始化數(shù)據(jù)段.bss0x20005;0x01000x0400;0x00800x0080;14.bss。將上述信息與cmd文件中的設(shè)置比較,理解cmd文件和連接器的關(guān)系。輸出文件ccs_basic.out的運行和調(diào)試simulatorDebug→RunF5shiftF5Debug→Stepinto或按F8鍵可實現(xiàn)程序的單步執(zhí)行。F9表示在該行加了一個斷點.觀察和修改存儲器單元的內(nèi)容CCS看存儲器的地址View→memoryCCS的菜單中輸入存儲器地址,可觀察存儲器的內(nèi)容。如存儲器地址為0x20050x000A。修改源匯編程序中數(shù)據(jù)段內(nèi)容,可查看存儲器單元內(nèi)容的變化。在數(shù)據(jù)圖1-3自定義文件擴展名101圖1-3自定義文件擴展名實驗二、CMD文件和Gel文件的編寫一、實驗?zāi)康恼莆瘴募木帉?,熟悉CodeComposer的使用二、實驗設(shè)備集成開發(fā)環(huán)境CCS實驗代碼、ccs_gel.cmd和ccs_gel.gel三、實驗內(nèi)容GELGelDSP開發(fā)必CCSCCS完成一些常用的調(diào)試操作,如硬件設(shè)置等。GelCGel文件的編寫。gelMenuitem是一級子菜單,hotmenu是二級子菜單,其中的處理可以直接填寫或調(diào)用其他Gelmenuitem。menuitem"C54xExperiment";hotmenuC5402_DSK_Test(){*(int*)0x0@io=0xff07;/*turnonLED*/}測試其功能。helpGel的函數(shù)功能。四、實驗結(jié)果和提示gelStartUpPMST寄存器的數(shù)值,并測試。CCSgel2-1示。圖2-1GEL菜單Gel2-2新菜單的功能。圖2-2新的子菜單實驗三、DSPCPU基礎(chǔ)一、實驗?zāi)康牧私釺MS320C5400進(jìn)一步熟悉CodeComposer的使用;了解中標(biāo)志位對計算的影響,以及計算對標(biāo)志位的影響。二、實驗設(shè)備集成開發(fā)環(huán)境CCS實驗代碼cpu_basic.s54、cpu_basic.cmd和cpu_basic.gel三、實驗內(nèi)容基本操作運行CCS,選擇C54xxSimulator;cpu_basic.s54cpu_basic.cmd;cpu_basic.gel;Project-->OptionBuild整個項目,產(chǎn)生可執(zhí)行代碼(.ou;File->LoadProgram,裝載可執(zhí)行代碼,并運行。設(shè)置斷點單步執(zhí)行練習(xí)觀察并理解程序和數(shù)據(jù)空間安排;、、C16、FRCT對計算結(jié)果的影響;、C、、OVBDSK仿真練習(xí)測試標(biāo)志對計算的影響;測試、、DROM對計算結(jié)果的影響;MP/MC=0DROM0xfc00、U律數(shù)據(jù)是否讀;

MP/MC=0,OVLY=1,0x1000地址存放程序是否存在(改變該處為只四、實驗結(jié)果和提示與運算相關(guān)的標(biāo)志位SXMSXM1A=0xffffffff80SXM00000ff80OVMOVM132A=0xff0000OVM0fffe0000C1616FRCT乘法移位比較TC比特測試比較C進(jìn)位、借位和大小比較OVB溢出標(biāo)志比較DSK開發(fā)板觀察該位的影響)飽和與存儲器配置相關(guān)的標(biāo)志位DROMROM映射到數(shù)據(jù)空間ViewGraphTime/Frequency即可生成一個時先彈出的是”GraphProperyStartAddress0xfe000x0100256,AcquisitionBufferSizeDisplayDatasize256,MC0,DROM1,pagedataprogram,則有下圖:圖3-1ROM中正弦表說明片內(nèi)ROM可訪問,片內(nèi)ROM映射到數(shù)據(jù)空間。MC0,DROM0,pagedataROM映射到數(shù)據(jù)空間。MC1,pageprogramROMOVLY存儲空間重疊,OVLY1RAM同時映射到程序和數(shù)據(jù)空間。實驗四、定點程序的實現(xiàn)一、實驗?zāi)康恼莆諗?shù)據(jù)的兩種格式;掌握浮點程序定點化的過程;熟悉定點計算中數(shù)據(jù)精度的保護方法。二、實驗設(shè)備集成開發(fā)環(huán)境CCS為CCS下的定點C碼,fix_point_c為下的C代碼。三、實驗內(nèi)容建立項目,添加相關(guān)文件,運行程序,觀察浮點數(shù)結(jié)果。測試浮點數(shù)的大致范圍,并利用偽定點的方式大致確定定點數(shù)的格式。浮點程序的定點化。編寫對應(yīng)的匯編程序。四、實驗結(jié)果和提示觀察浮點數(shù)的取值范圍應(yīng)該觀察其數(shù)據(jù)的絕對值的變化。PrecisionLimit函數(shù)能夠方便地實現(xiàn)定點數(shù)據(jù)格式的確定。編寫基本操作能夠大大簡化定點程序的編寫?;静僮髂軌蚴箙R編程序的編寫簡單化。實驗五混合編程一、實驗?zāi)康膶W(xué)習(xí)使用實時運行庫;C和匯編混合編程的方法;掌握混合編程的調(diào)試方法。二、實驗環(huán)境CodeComposerStudioCCS)mix.c,mix.h,mix.cmd,addfun.s54三、實驗步驟目文件的編譯方法。mainstepoverCSPPC的變化。四、實驗結(jié)果分析實時運行庫CCprintf(等。程序接口參數(shù)傳遞是混合編程中非常重要的一部分:第一個參數(shù)放置在寄存器A中,其他參數(shù)按照逆序壓入堆棧;返回的數(shù)據(jù)放置在寄存器A中。局部數(shù)據(jù)局部數(shù)據(jù)是在堆棧中開設(shè)的,程序返回前消除。關(guān)于堆棧保護addfunST1句pshm ST1 ;ST1在子程序返回前,再用語句popm AR1 ST1原來的值。注:例程見目錄\\71_mix.mix.cmd中段設(shè)置說明:The.cinitsectioncontainstablesforinitializingvariablesandconstants.The.constsectioncontainsstringconstantsanddatadefinedwiththeC/C++qualifierconst(providedtheconstantisnotalsodefinedasvolatile).The.textsectioncontainsalltheexecutablecodeaswellasstringliteralscompiler-generatedconstants.The.bsssectionreservesspaceforglobalandstaticvariables.Whenyouspecifythelinkeroption,atprogramstartup,theC/C++bootroutinecopiesdataoutofthe.cinitsection(whichcanbeinROM)andstoresitinthe.bsssection.The.datasectionisnormallyusedtocontaintablesofdataorpreinitializedvariables.DSP技術(shù)與應(yīng)用DSP技術(shù)與應(yīng)用基于TMS320C54X實驗指導(dǎo)書YAO-CIE-XTU第第18頁共18頁實驗六、CODEC(模數(shù)/數(shù)模轉(zhuǎn)換)一、實驗?zāi)康腃ODECAD/DA轉(zhuǎn)換;McBSP,DMA的使用;C和匯編混合編程封裝具體實現(xiàn)。二、實驗設(shè)備1.集成開發(fā)環(huán)境CCS2.5402DSK實驗板實驗代碼:匯編:codec_cnst.h54, dsp_cnst.h54, macro.h54, dsp_init.s54,main.s54和codec.cmdcodec_c.h,dsp_cnst.h54,codec.s54,codec_c.c,rts.lib和codec_c.cmd三、實驗內(nèi)容McBSP,CODECDMA的相關(guān)文檔閱讀和理解相關(guān)實驗代碼DSKCCS,加載程序并調(diào)試DA端輸出四、實驗結(jié)果和提示DSKCODECDAA口相聯(lián),另一塊與音頻5402McBSPDSKMcBSP0的信號源為音頻模塊。如果想更改缺省設(shè)置CPLD寄存器,具體情況請參考《數(shù)字信號處理器開發(fā)實4.2.3CODECMcBSP1口。CODECTLC320AD50C共有7個寄存器,其中4個為控制寄存器,要寫這些控制寄存器必須將CODEC切換到第二串行通信方式,切換方式有兩種:硬件方式和軟件FCFSCODEC128SCLK后切換到第二串行通信,然后就可以向CODEC發(fā)送控制字。具體可參閱《數(shù)字信號處理器開發(fā)實踐》5.1.2及5.1.3節(jié)。CODECMcBSP1McBSP1口正常工15個控制寄存器采用同址訪問的方式進(jìn)行訪問,將要訪問的寄存器的子地址寫入子地址寄存器后再訪問同一個數(shù)據(jù)寄存器即可。具體控制寄存器的設(shè)置請參閱《數(shù)字5.4.2McBSP1CODECFS,CLKCODEC驅(qū)動,所以相應(yīng)的管腳必須設(shè)置為輸入腳并置好對應(yīng)的標(biāo)志位,可以參考實驗代碼中的寄存器參數(shù)注釋。CODECMcBSPDMA通道送往數(shù)據(jù)區(qū)緩沖CPU5402DMA共6510個全局1個通道實現(xiàn)自動初始化,這樣可以很方便的對輸入(或輸出)信號進(jìn)行連續(xù)傳輸。由DMA通道,這樣就必須對另一個通道手動重5402中斷資源有限,DMA中斷是與其他DMPREC40McBSP相同的同址訪問方式。具5.5.2節(jié)和實驗代碼中的寄存器參數(shù)注釋。要實現(xiàn)數(shù)據(jù)連續(xù)的數(shù)據(jù)采集和發(fā)送必須在數(shù)據(jù)緩沖區(qū)開辟兩塊區(qū)域交替DMA中斷處理程序中要根據(jù)此標(biāo)志位更新緩沖區(qū)地址。DMA沖區(qū),這就要在中斷中設(shè)置一個中斷標(biāo)志位,然后在主程序中查詢此標(biāo)志位判斷是否要進(jìn)行數(shù)據(jù)處理。本實驗中沒有對數(shù)據(jù)進(jìn)行任何處理直接送入輸出緩沖區(qū),但是可以很方便地加入各種信號處理代碼。CCODEC進(jìn)行設(shè)置并加入自己想要采用的信號處理代碼。在混合編程中要注意的是函數(shù)名和變量在C和匯編中的命名規(guī)則;C語言接口的匯編函數(shù)可以自由使用的寄存器和使用前必須先保存的寄存器;CC語言和匯編的相互調(diào)用通過堆棧來進(jìn)行參數(shù)和返回值的傳遞,同時通過堆棧可以方便的實現(xiàn)局部數(shù)據(jù)的使用。具體情況可以參閱《數(shù)字信號處理系統(tǒng)的應(yīng)用和設(shè)計》7.1節(jié)。實驗七、UART串口通信實驗一、實驗?zāi)康腞S232通信接口的基本原理;DSPI/O作原理;3.了解異步通信中串口模式選擇、設(shè)置數(shù)據(jù)傳輸格式、設(shè)置波特率、建立連接、傳輸數(shù)據(jù)和斷開連接等功能。二、實驗設(shè)備CCSTMS320VC5402DSK、RS2323.程序v2.2.exe”三、實驗內(nèi)容1在匯編環(huán)境調(diào)試Uart:實驗代碼main.s54、uartasm.cmd和uart_init.s54、dsp_init.s54 以及uartasm.h54串口調(diào)試程序v2.2.exe”程序文件介紹:定義了一些一些寄存器的地址以及函數(shù)類型。dspST1、PMST、IMR、IFR和SWWSR,并且清除INTM位以及設(shè)定時鐘模式?!皍art_init.s54”UARTUART模塊的寄存器,如CNTL1、CNTL2、LCR、MSB&LSB(設(shè)定波特率、FCR、IER等?!癿ain.s54”UART存在有效接收數(shù)據(jù)。LEDU

溫馨提示

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

評論

0/150

提交評論