dsp綜合實驗課件_第1頁
dsp綜合實驗課件_第2頁
dsp綜合實驗課件_第3頁
dsp綜合實驗課件_第4頁
dsp綜合實驗課件_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、現(xiàn)代電子學(xué)綜合實驗DSP實驗 王正勇690728634第1頁,共92頁。TMS320C5402核心版該板實現(xiàn)了一個最小系統(tǒng),可以單獨運行。板上主要資源包括: 一個TMS320C5402 型號的DSP 芯片; 一個LV64L16 64K X 16BIT SRAM ; 一個CPLD可編程芯片,本模塊主要負責(zé)實驗系統(tǒng)中的總線控制工作 。DPS+CPLD開發(fā)板和EDA5.1底板構(gòu)成的完整DSP開發(fā)系統(tǒng)圖DSP_JTAG接口:DSP與仿真器的連接接口CPLD_JTAG接口:對CPLD進行配置和下載程序的接口J6 、J7:通過該接口與EDA主板連接,從而可使用底板上的外設(shè).第2頁,共92頁。EPM240T

2、100C561LV6416EPM240T100C5DSP_JTAGVC5402J7J6PLD_JTAG第3頁,共92頁。跳線端子第4頁,共92頁。DSP_JTAG :DSP與仿真器的連接接口CPLD_JTAG :對CPLD進行配置和下載程序的接口通過跳線器J2切換MP/MC工作方式,當跳線器連接時工作在微計算機方式,當跳線器斷開時工作在MP方式J6 J7:通過該接口與EDA主板連接,從而可使用底板上的外設(shè).如果MP/MC=0,程序從片內(nèi)ROM開始執(zhí)行,否則,從片外程序存儲器開始執(zhí)行。第5頁,共92頁。數(shù)碼管led液晶顯示電源開關(guān)5V電源輸入時鐘源51單片機VGA接口232接口4*4鍵盤TLC5

3、49實驗箱布局圖核心板模式顯示PS2USB電平開關(guān)第6頁,共92頁。核心板插口第7頁,共92頁。TMS320C5402簡介第8頁,共92頁。 數(shù)字信號處理(Digital signal processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀80年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速發(fā)展,已經(jīng)在信號處理、通信、語音、圖像、雷達、生物醫(yī)學(xué)、工業(yè)控制、儀器儀表等許多領(lǐng)域得到廣泛應(yīng)用. DSP既是Digital Signal Processing的縮寫,也是Digital Sjgnal Processor的縮寫,二者的英文簡

4、寫相同,但含義不同. Digital Sjgnal Processing廣指數(shù)字信號處理的理論和方法,即數(shù)字信號處理技術(shù)。第9頁,共92頁。 Digital Sjgnal Processor(DSP)指用于進行數(shù)字信號處理的可編程微處理器,強調(diào)運算處理的實時性,因此除了具備普通微處理器所強調(diào)的高速運算和控制功能外,主要針對實時數(shù)字信號處理,在處理器結(jié)構(gòu)、指令系統(tǒng)和數(shù)據(jù)流程上做了較大的改動。第10頁,共92頁。DSP系統(tǒng)的構(gòu)成 DSP系統(tǒng)具有數(shù)字處理的全部優(yōu)點: (1)接口方便。 (2)編程方便??墒乖O(shè)計人員在開發(fā)過程中靈活方便地對軟件進行修改和升級。 (3)穩(wěn)定性好。受環(huán)境溫度及噪聲的影響較小

5、,可靠性高。 (4)精度高。 (5)可重復(fù)性好。模擬系統(tǒng)的性能受元器件參數(shù)性能變化比較大,而數(shù)字系統(tǒng)基本不受影響,因此數(shù)字系統(tǒng)便于測試、調(diào)試和大規(guī)模生產(chǎn)。 (6)集成方便。有高度的規(guī)范性,便于大規(guī)模集成。 當然,數(shù)字信號處理也存在一定的缺點。例如,對于簡單的信號處理任務(wù),若采用DSP則使成本增加。DSP系統(tǒng)中的高速時鐘可能帶來高頻干擾和電磁泄漏等問題,而且DSP系統(tǒng)消耗的功率也較大。此外,DSP技術(shù)更新的速度快,數(shù)學(xué)知識要求多,開發(fā)和調(diào)試工具還不盡完善。第11頁,共92頁。TMS320C54x的總體結(jié)構(gòu)及工作原理TMS320c54x(簡稱c54x)是TI公司為實現(xiàn)低功耗、高速實時信號處理而專門

6、設(shè)計的16位定點數(shù)字信號處理器,己在通信、計算機網(wǎng)絡(luò)、儀器儀表等領(lǐng)域得到了廣泛應(yīng)用。TMs320C54x系列DSP芯片種類很多,但結(jié)構(gòu)基本相同,主要由中央處理器、內(nèi)部總線控制、特殊功能寄存器、數(shù)據(jù)存儲器RAM、程序存儲器ROM、兩個通用I/O引腳(BIO和XF) 、串行口、主機通信接口HPI、定時器、中斷系統(tǒng)(硬件中斷和軟件中斷)等部分組成。第12頁,共92頁。TMS320VC5402引腳圖: TMS320VC5402的引腳 1返回首頁第13頁,共92頁。圖: TMS320VC5402的引腳2第14頁,共92頁。表: TMS320VC5402引腳說明1第15頁,共92頁。表: TMS320VC

7、5402引腳說明2第16頁,共92頁。表: TMS320VC5402引腳說明3第17頁,共92頁。表: TMS320VC5402引腳說明4第18頁,共92頁。表: TMS320VC5402引腳說明5第19頁,共92頁。表: TMS320VC5402引腳說明6第20頁,共92頁。表: TMS320VC5402引腳說明7第21頁,共92頁。返回本節(jié)表: TMS320VC5402引腳說明8第22頁,共92頁。1576543210IPTRMP/MCOVLYAVISDROMCLKOFFSMULSST圖3 處理器方式狀態(tài)寄存器PMST的位結(jié)構(gòu)第23頁,共92頁。表2: 狀態(tài)寄存器PMST第24頁,共92頁

8、。表3: 時鐘方式寄存器CLKMD第25頁,共92頁。第26頁,共92頁。表4:軟件等待狀態(tài)寄存器SWWSR第27頁,共92頁。第28頁,共92頁。表5:分區(qū)轉(zhuǎn)換控制寄存器第29頁,共92頁。第30頁,共92頁。第31頁,共92頁。表7:定時器控制寄存器TCR第32頁,共92頁。定時器控制寄存器TCR功能第33頁,共92頁。DSP的USB仿真器(TDS510)驅(qū)動軟件安裝 1. 將DSP的USB仿真器(TDS510)連接到DSP模塊上的JTAG接口和PC機(連接無誤后才上電),桌面出現(xiàn)找到新的硬件界面: 第34頁,共92頁。 2.點擊“從列表或指定位置安裝”,出現(xiàn)以下畫面,并在瀏覽中選擇驅(qū)動軟

9、件目錄:第35頁,共92頁。3.然后點擊下一步,出現(xiàn):第36頁,共92頁。4.點擊完成,屏摹右下方出現(xiàn)“新硬件已安裝并可以使用了?!?,表示dsp仿真器驅(qū)動軟件安裝完畢。第37頁,共92頁。CCS中的軟件或硬件仿真的設(shè)置 1.點擊桌面的”setup ccs”軟件,并在File菜單下選擇import; 第38頁,共92頁。2.在出現(xiàn)的import configuration對話框中,選擇器件及軟件或硬件仿真設(shè)備,然后點擊”import”,在”my system”下出現(xiàn)相應(yīng)的軟件或硬件仿真設(shè)備.軟件仿真設(shè)備設(shè)置步驟:第39頁,共92頁。第40頁,共92頁。第41頁,共92頁。硬件仿真設(shè)備設(shè)置步驟:第

10、42頁,共92頁。第43頁,共92頁。第44頁,共92頁。第45頁,共92頁。仿真設(shè)備設(shè)置完畢,啟動CCS:點擊”setup ccs”中”file”菜單下的”exit”啟動ccs,出現(xiàn)如下界面:接著點擊open菜單,若選擇”c5402device simulator/cpu”即為軟件仿真,選擇”c5402dsk via tds510usb 2.0 emulator/cpu”即為硬件仿真.第46頁,共92頁。CCS的使用一、新建工程文件啟動CCS,在主菜單中單擊“Project”,會有“new”和“open”選項,創(chuàng)建新工程使用“new”選項。程序會提問新建工程的名字以及保存位置,指定后單擊“確

11、定”即可。新建工程窗口CCS 提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實時、嵌入式信號處理程序的編制和測試,能夠加速開發(fā)進程,提高工作效率。 第47頁,共92頁??墒褂脙煞N方式向工程添加源文件、CMD 和庫文件。(1) 添加源文件第一個方法:在主菜單中單擊“Project”,選擇“Add Files to Project”命令,在彈出的添加文件對話框中找到文件,單擊“打開”按鈕即可。第二個方法:在工程名上單擊鼠標右鍵,選擇“Add Files”命令。在彈出的添加文件的對話框中,找到指定類型的文件。單擊“打開”按鈕。2 向工程添加各類型文件第48頁,共92頁。添加文件第49頁,共92

12、頁。(2) 添加必需的內(nèi)存定位文件“*.cmd”:使用上述任一方式,向工程里添加“hello.cmd”,注意在添加文件對話框的“文件類型”下拉列表中要選擇“Link Command File(*.cmd)”,該文件定義了各代碼段和數(shù)據(jù)段在存儲器中的位置。第50頁,共92頁。3) 添加庫文件: 若工程是基于C 語言編寫的,還需添加運行時的支持庫文件(RunTimeSupport Library). 如果基于匯編的就不需要)。使用上述任何一種方式,向工程添加“rts.lib”文件,該文件存放在CCS 的安裝目錄c5400cgtoolslib”下。注意在添加文件對話框的“文件類型”下拉列表中要選擇“

13、Object Library Files(*.o*,*.l*)”。第51頁,共92頁。(5)添加gel文件在工程視圖中選中GEL files文件夾,單擊鼠標右鍵,在彈出的菜單中選擇Load GEL選項,載入gel文件.(4) 添加頭文件在工程名“hello1.pjt ”上單擊鼠標右鍵,選擇“Scan AllDependencies”,這樣hello.c 文件所包含的頭文件“hello.h”將出現(xiàn)在工程瀏覽窗中的“include”文件夾中。頭文件實際不用人工添加,在Build 工程時,CCS 本身就會自動完成掃描。第52頁,共92頁。 二、建造和運行程序建造(Building)指編譯、匯編、鏈接

14、三個獨立步驟按順序聯(lián)合運行。 (1)建造: 在主菜單中單擊“Project”,選擇“Rebuild All”,或者單擊工具條圖標,CCS 將重新對工程中所有文件進行編譯、匯編、鏈接,并同步在底部窗口中顯示編譯連接信息。連接 完畢,CCS 生成一個“.out”文件,默認存放在目錄“hello2”下的“debug”目錄中。 (2) 建造完畢后,再裝載程序: 在主菜單中單擊“File”,選擇“Load Program”,在彈出對話框中,找到目錄“hello2”下的“debug”目錄,選擇“hello.out”,并打開。 第53頁,共92頁。CCS 裝載完畢該文件到目標DSP 以后,會自動彈出“Dis

15、sassembly”窗口,顯示構(gòu)成源代碼的反匯編指令。同時,CCS 還會在底部彈出“stdout”欄,用于顯示程序在運 行時的輸出信息。 (3) 點擊工具欄按鈕或選擇 DebugRun。第54頁,共92頁。第55頁,共92頁。單步和全速運行: 在主菜單中單擊“Debug”,選擇“Go Main”,讓程序從主函數(shù)開始運行。程序會停在main()處,并會有一個黃色的箭頭標記當前要執(zhí)行的C 語言代碼,若單步執(zhí)行,用F10,若全速執(zhí)行,用F5(RUN) 。第56頁,共92頁。斷點運行1.斷點設(shè)置:將光標移到欲設(shè)斷點位置處,按F9;斷點取消也是F9.2.按F5.第57頁,共92頁。如果同時看到C 語言代

16、碼和對應(yīng)編譯生成的匯編代碼,在主菜單中單擊“View”,選擇“Mixed Source/ASM”,此時會有一個綠色箭頭標記當前要執(zhí)行的匯編代碼第58頁,共92頁。多種觀察窗口幫助調(diào)試:(1) 查看寄存器:選擇View 菜單中的CPU Registers 命令。(2) 查看數(shù)據(jù): 選擇View 菜單中的Memory 命令,彈出設(shè)置窗口,按實際需要指定其中的參數(shù),如起始地址等,就可以觀察到數(shù)據(jù)單元中的值,該值可以以多種格式表示。(3) 查看程序中變量的當前值: 可以在程序中用光標選中變量名,在鼠標右鍵菜單中選擇Add to Watch Window 命令就可以把該變量添加到Watch 窗口。隨著程

17、序的運行,可以在Watch 窗口看到該變量的值的變化。第59頁,共92頁。選擇ViewGraphTime/Frequency。 在彈出的Graph Property Dialog對話窗 中, 將 Graph Title,Start Address,Acquisition Buffer Size,Display Data Size,DSP Data Type,Autoscale和Maximum Y-value 的屬性改變?yōu)樾枰膶傩浴?4) 顯示圖形: 如果要觀察的變量太多,例如要觀察一個數(shù)組的值,那么可以用一種更直觀的方法,就是把數(shù)據(jù)用圖形的方式表現(xiàn)出來。第60頁,共92頁。在TMS320VC

18、5402中,定時器通過控制定時器相關(guān)寄存器,該定時器可以被停止、重新啟動、復(fù)位或禁止。與該定時器有關(guān)的寄存器有定時計數(shù)寄存器(TIM)、定時周期寄存器(PRD)以及定時器控制寄存器(TCR)。第61頁,共92頁。定時計數(shù)寄存器TIM:該寄存器是一個存儲器映射的寄存器。該寄存器中保存了定時器當前的計數(shù)值,并且該寄存器的值會在預(yù)分頻器中的計數(shù)器遞減至0的時候遞減1。當TIM寄存器中的至遞減至0的時候,定時器復(fù)位,TIM重新加載PRD寄存器中的值,開始下一輪計數(shù),與此同時,當該寄存器中的值遞減至0的時候,產(chǎn)生定時器中斷。第62頁,共92頁。定時周期寄存器PRD:該寄存器是一個存儲器映射的寄存器。該寄

19、存器用于控制定時器的周期。第63頁,共92頁。定時器控制寄存器TCR: 該寄存器是一個存儲器映射的寄存器。該寄存器主要用于控制定時器的啟動、停止、復(fù)位以及初始化定時器的預(yù)分頻器等操作。該寄存器的具體內(nèi)容如下表所示。 第64頁,共92頁。TDDR:定時器的4位預(yù)分頻器,TDDR的值為015。TSS:定時器啟動/停止位。1可停止定時器計數(shù);0可啟動定時器。TRB:向該位寫入1可復(fù)位定時器。PSC:預(yù)分頻器的遞減計數(shù)器。該計數(shù)器會在CLKOUT的作用下遞減,當遞減至0的時候,TIM的值便會遞減1,同時PSC會重新加載TDDR的預(yù)分頻值。Free:該位用來配置定時器是否工作在Soft制定的工作方式。當

20、該位為0時,選定Soft位所指定的工作模式;當該位為1時,定時器將會正常運行,而不會采取Soft位所指定的工作模式。Soft:該位用來配置定時器在遇到程序中斷時的工作方式。當該位為0時,遇到中斷定時器會立即停止運行;當該位為1時,定時器將會正常運行,遇到中斷定時器會在遞減到0后停止運行。 第65頁,共92頁。根據(jù)以上講述,可以得到DSP中定時器的定時中斷周期為: T = CLKOUT(TDDR+1) (PRD+1)CLKOUT為時鐘周期第66頁,共92頁。要對定時器正確配置和操作,可以通過以下步驟來實現(xiàn):1)首先將TCR寄存器中的TSS位置1來停止定時。2) 初始化定時器周期PRD。3) 重新

21、加載TCR寄存器(初始化定時器的預(yù)分頻器 TDDR,TSS=0;TRB=1),啟動定時器。4)將IFR寄存器中的TINT位置1,清楚尚未處理完的定時器中斷,5) 將IMR寄存器中的TINT位置1 ,開定時器中斷。6)將ST1寄存器中的INTM清零,全局中斷使能。第67頁,共92頁。asm( STM #0000h,CLKMD ); while(*CLKMD & 0 x01 ); asm( STM #40C7h,CLKMD ); /設(shè)置CPU運行頻率100M/* 40C7h:5*clkin =100M 30c7h:4*clkin =80M 20c7h:3*clkin =60M 10C7h:2*cl

22、kin =40M */ asm( stm #4240h, SWWSR ); /2 wait except for on-chip program 1 asm( stm #00a0h, PMST ); /MP/MC = 0, IPTR = 001,ovly=0 第68頁,共92頁。 asm( stm #0802h, BSCR ); asm( STM #0h,IMR ); asm( STM #0010h,TCR ); /關(guān)定時器 asm( STM #0186ah,PRD );/1ms asm( STM #0C2fh,TCR ); /TCR=最后四位 asm( STM #0008h,IFR ); a

23、sm( ORM #0008h,*(IMR) );/*開時間中斷*/ asm( ORM #0100h,*(IMR) );/*開INT3中斷*/ asm( SSBX XF ); asm( RSBX INTM ); /*開中斷*/ 第69頁,共92頁。vectors.asm中存放的是中斷入口地址,如果程序中涉及到中斷,就需要在vectors.asm中相應(yīng)的地址放置跳轉(zhuǎn)指令,跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)子程序便可。 第70頁,共92頁。*.cmd命令文件:(1)在命令文件中兩個十分有用的偽指令MEMORY和SECTIONS: 指定實際應(yīng)用中的存儲器結(jié)構(gòu)和進行地址的映射。(2)Memory: 用來指定目標存儲器

24、結(jié)構(gòu),Memory下可以通過PAGE選項配置地址空間,鏈接器把每一頁都當作一個獨立的存儲空間。 通常情況下,PAGE0代表程序存儲器用來存放程序,PAGE1代表數(shù)據(jù)存儲器,用來存放數(shù)據(jù)。(3) 由編譯器生成的可重定位的代碼和數(shù)據(jù)塊叫做“SECTIONS”(段),SECTIONS用來控制段的構(gòu)成與地址分配。對于不同的系統(tǒng)配置,“SECTION”的分配方式也不相同,鏈接器通過“SECTIONS”來控制地址的分配,所以“SECTIONS”的分配就成了配置.cmd文件的重要環(huán)節(jié)。第71頁,共92頁。72存儲器TMS320VC5402尋址空間第72頁,共92頁。存儲器:DARAM(雙尋址數(shù)據(jù)存儲器),

25、SARAM(單尋址數(shù)據(jù)存儲器),ROM(程序存儲器) 數(shù)據(jù)存儲器總是安排到數(shù)據(jù)存儲空間,但也可設(shè)置成 程序存儲空間; 程序存儲器總是安排到程序存儲空間,但也可設(shè)置成數(shù)據(jù)存儲空間; MP/MC=0,片內(nèi)ROM配置到程序空間; MP/MC=1,片內(nèi)ROM不配置到程序空間; OVLY =1,片內(nèi)RAM配置到程序和數(shù)據(jù)空間;OVLY =0,片內(nèi)RAM只配置到數(shù)據(jù)空間;第73頁,共92頁。以下是對“SECTIONS”的定義及分配的詳細介(1).text包括所有的可執(zhí)行代碼和常數(shù),必須放在程序頁; (2) .cinit包括初始化的變量和常量表,要求放在程序頁; .pinit它包括全局構(gòu)造器(C+),可放在

26、程序頁; (3) .const它包括字符串、聲明、以及被明確初始化過的全局和靜態(tài)變量,要求放在低地址的數(shù)據(jù)頁; (4) .switch它包括為轉(zhuǎn)換聲明設(shè)置的表格,可以放在程序頁也可以放在低地址的數(shù)據(jù)頁。第74頁,共92頁。 MEMORY PAGE 0: EPROG: origin = 0 x1400, len = 0 x7c00 VECT: origin = 0 xff80, len = 0 x80 PAGE 1: USERREGS: origin = 0 x60, len = 0 x1c BIOSREGS: origin = 0 x7c, len = 0 x4 IDATA: origin =

27、 0 x80, len = 0 x1380 EDATA: origin = 0 x1400, len = 0 x8000 EDATA1: origin = 0 x9400, len = 0 x4c00第75頁,共92頁。SECTIONS .vectors: VECT PAGE 0 .sysregs: BIOSREGS PAGE 1 .trcinit: EPROG PAGE 0 .gblinit: EPROG PAGE 0 frt: EPROG PAGE 0 .text: EPROG PAGE 0 .cinit: EPROG PAGE 0 .pinit: EPROG PAGE 0 .sysini

28、t: EPROG PAGE 0 .bss: IDATA PAGE 1 .far: IDATA PAGE 1 .const: IDATA PAGE 1 .switch: IDATA PAGE 1 .sysmem: IDATA PAGE 1 .stack: IDATA PAGE 1第76頁,共92頁。.bss它為全局變量和靜態(tài)變量保留空間。在程序開始運行時,C導(dǎo)入路徑把數(shù)據(jù)從.cinit節(jié)復(fù)制出去然后存在.bss節(jié)中,要求放在低地址的數(shù)據(jù)頁;.stack為C系統(tǒng)堆棧保留空間,這部分存儲器為用來將聲明傳給函數(shù)及為局部變量留出空間,要求放在低地址的數(shù)據(jù)頁; 第77頁,共92頁。.system動態(tài)存儲器

29、分配保留空間。這個空間用于malloc函數(shù),如果不使用malloc函數(shù),這個段的大小就是0,要求放在低地址的數(shù)據(jù)頁; 第78頁,共92頁。79JTAG口JTAG是Joint test Action Group的簡稱,又稱JTAG口,它是一符合IEEE Std 1149.1邊界掃描邏輯標準的標準接口。它主要用于在硬件上對DSP進行實時在線仿真測試和DSP程序的下載,它提供對所連接設(shè)備的邊界掃描,同時也可以用來測試引腳到引腳的連續(xù)性,以及進行DSP芯片的外圍器件的操作測試。 第79頁,共92頁。80JTAG口TCK:測試時鐘TDI: 測試數(shù)據(jù)輸入TDO:測試數(shù)據(jù)輸出TMS:測試方式選擇TRST:測試復(fù)位引腳EMU0:仿真中斷引腳0EMU1:仿真中斷引腳1 第80頁,共92頁。81J

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論