DSP實驗教案all_第1頁
DSP實驗教案all_第2頁
DSP實驗教案all_第3頁
DSP實驗教案all_第4頁
DSP實驗教案all_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、工具大致可以分為以下幾類:的開發(fā)環(huán)境和工具大致可以分為以下幾類:電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器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ù)電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心TI eXpressDSPTM各部分關(guān)系電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心集成開發(fā)環(huán)境(CCS) 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心DSP/BIOS工具條工具條工程項目瀏覽窗工程項目瀏覽窗當前工程當前工程編譯工具條編譯工具條當前編輯的當前編輯的源文件源文件主菜單主菜單調(diào)試工具條調(diào)試工具條編輯窗口編輯窗口CCS2.0 主界面電子科技大學(xué)美國

4、德州儀器電子科技大學(xué)美國德州儀器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é)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)

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

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

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

8、)若使用了若使用了DSP/BIOS,還需將配置文件,還需將配置文件CDB添加到添加到project下。下。電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器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的存儲器的存儲器。在在“Debug”Debug”菜單

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

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

11、儀器電子科技大學(xué)美國德州儀器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é)美國德州儀器電子科技大學(xué)美國德州儀器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é)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心由c編譯器產(chǎn)生的段 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實驗箱電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPs

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

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

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

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

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

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

19、實現(xiàn)實現(xiàn)16位定點小數(shù)除法:位定點小數(shù)除法: 在C54X中實現(xiàn)16位的小數(shù)除法與前面的整數(shù)除法基本一致,也是使用循環(huán)的SUBC指令來完成。但有兩點需要注意: 第一,小數(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)考慮符號位對結(jié)果小數(shù)點的影響。所以應(yīng)對商右移一位,得到正確的有符號數(shù)。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實驗二:C

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

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

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

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

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

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

26、應(yīng)即為sinkT。利用單位沖擊函數(shù)的性質(zhì),即僅當k=1時,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可見,當k2時,yk能通過yk-1和yk-2算出。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心設(shè)振蕩器的頻率為2kHz,采樣率為40kHz(通過定時器設(shè)置,每隔25us中斷一次,即產(chǎn)生一個yn),則遞歸

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

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

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

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

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

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

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

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

35、也使用該信號。發(fā)送幀同步信號由發(fā)送位移寄存器自動產(chǎn)生,同時也提供給串口接收電路。串口收發(fā)中斷的設(shè)置包括中斷屏蔽寄存器IMR的設(shè)置,即允許串口1的發(fā)送和接收中斷,同時設(shè)置PMST,指定中斷向量表的位置,以便正確響應(yīng)中斷。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 串口的中斷服務(wù)程序:串口的中斷服務(wù)程序: 本實驗程序使用了兩個緩沖區(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實驗箱時,用短路子將J16的DR1和DX1短路,即將串口1的數(shù)據(jù)發(fā)送端與數(shù)據(jù)接收端相連。為了區(qū)別顯示的波形,我們將接收到的正弦數(shù)據(jù)除以2。 打開兩個圖形顯示窗口:打開兩個圖形顯示窗口: 一個設(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。另一個主要修改“Start Address”為rbuffer(rbuffer為接收緩沖),其它設(shè)置不變。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心圖形顯示窗口圖形顯示窗口 左邊是接收緩沖rbuffer,右邊是發(fā)送緩沖xbuffer,可見接收到的正弦與發(fā)送的正弦頻率完全一樣,接收到的正弦幅度是發(fā)送的正弦幅度的一半。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實驗五:FIR數(shù)字濾波器實驗?zāi)康模簩嶒災(zāi)康模?學(xué)習(xí)FIR數(shù)字濾波器的DSP實現(xiàn)原理和C54X編程技巧。 綜合運

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

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

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

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

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

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

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

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

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

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

49、編寫主程序(初始化),通過探針工具讀入256點方波數(shù)據(jù)(在文件fft.dat中),調(diào)用FFT,通過CCS的圖形顯示工具觀察運行結(jié)果。 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心實驗原理:實驗原理: 基基2按時間抽取按時間抽取FFT算法原理算法原理 對于有限長離散數(shù)字信號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點FFT蝶形運算 電子科技大學(xué)美國德州儀器電子科技大學(xué)美國德州儀器DSPsDSPs技術(shù)技術(shù)/ /培訓(xùn)中心培訓(xùn)中心 實數(shù)實數(shù)FFT運運算算 當實際輸入是實數(shù)時,利用對稱性質(zhì)可以使計算DFT非常有效。優(yōu)化的實數(shù)FFT算法是一個組合以后的算法。原始的2N個點的實輸入序列組合成一個N點的復(fù)序列,之后對復(fù)序列進行N點的FFT運算,最后再由N點的復(fù)數(shù)輸出拆散成2N點的復(fù)數(shù)序列,這2N點的復(fù)數(shù)序列與原始的2N點的實數(shù)輸入序列的DFT輸出一致。 使用這種方法,在組合輸入和拆散輸出的操作中,F(xiàn)FT運算量減半。這樣利用實數(shù)FFT算法來計算實輸入序列的DFT的速度幾乎是一般復(fù)

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

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論