




免費(fèi)預(yù)覽已結(jié)束,剩余9頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
14 14DSP控制器匯編語(yǔ)言程序設(shè)計(jì)摘 要:在當(dāng)今的數(shù)字化時(shí)代背景下,DSP控制器在數(shù)字信號(hào)處理中起著重要的作用。本論文概括介紹了TMS320C6XDSP的硬件結(jié)構(gòu),并對(duì)TMS320C6XDSP的匯編語(yǔ)言指令系統(tǒng)做了重點(diǎn)說(shuō)明。在具備以上知識(shí)的基礎(chǔ)上,詳細(xì)介紹了基于DSP的高速數(shù)據(jù)采集和IIR數(shù)字濾波器在DSP上的實(shí)現(xiàn),通過(guò)這兩個(gè)應(yīng)用實(shí)例了解DSP匯編語(yǔ)言程序開發(fā)的方法。關(guān)鍵字: TMS320C6X DSP 匯編語(yǔ)言 IIR數(shù)字濾波器 高速數(shù)據(jù)采集Abstract:In digitized time ,DSP plays an important role in the digital signal processing. This paper summarily describes the hardware structure of the TMS320C6XDSP,and It introduced in detail the assembly language introductions.On the basis of having all above knowledge, a high speed data acquisition system based on DSP and using DSP to IIR Digital filter design was introduced,in order to understand the DSP assembly language program development method.Keyword: TMS320C6X DSP the assembly language IIR Digital filter design a high speed data acquisition system前言數(shù)字信號(hào)處理是一種將現(xiàn)實(shí)世界中的連續(xù)信號(hào)轉(zhuǎn)換為計(jì)算機(jī)能夠處理的信息的過(guò)程。比如人們說(shuō)話的聲音,這就是一個(gè)連續(xù)信號(hào),除此之外,現(xiàn)實(shí)生活中還有很多這樣的信號(hào),比如光、壓力、溫度等等。這些信號(hào)通過(guò)一個(gè)模擬向數(shù)字的轉(zhuǎn)換過(guò)程(稱之為AD),變成數(shù)字信號(hào)送給處理器,進(jìn)行數(shù)字計(jì)算,處理結(jié)束后,再把結(jié)果通過(guò)數(shù)字向模擬的轉(zhuǎn)換過(guò)程重新變成連續(xù)信號(hào)(稱之為DA)。用一般的通用微處理器可以完成這些工作,但是面臨的問(wèn)題是滿足如此高的計(jì)算速度,就很難保證耗電量很低,更難保證價(jià)格足夠便宜。因此,另一種微處理器應(yīng)運(yùn)而生:數(shù)字信號(hào)處理器,簡(jiǎn)稱DSP。在當(dāng)今的數(shù)字化時(shí)代,DSP已成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件,被譽(yù)為信息社會(huì)革命的旗手。未來(lái)10年,全球DSP產(chǎn)品將向著高性能、低功耗、加強(qiáng)融合和拓展多種應(yīng)用的趨勢(shì)發(fā)展,DSP芯片將越來(lái)越多地滲透到各種電子產(chǎn)品當(dāng)中,成為各種電子產(chǎn)品尤其是通信類電子產(chǎn)品的技術(shù)核心,將會(huì)越來(lái)越受到業(yè)界的青睞。因此,開發(fā)應(yīng)用DSP及其軟件是當(dāng)今科學(xué)和社會(huì)發(fā)展的需要。而DSP芯片的最大優(yōu)越性在于其具有可重復(fù)編程的能力。將各種不同應(yīng)用的數(shù)字信號(hào)處理技術(shù)以及軟件的形式下載到DSP芯片中,可以實(shí)現(xiàn)相應(yīng)的通信和控制功能。DSP的發(fā)展和應(yīng)用使得軟件開發(fā)和硬件設(shè)計(jì)變得相對(duì)獨(dú)立,DSP是數(shù)字信號(hào)處理的核心, DSP硬件系統(tǒng)具有靈活的可編程性。對(duì)于DSP的程序員來(lái)說(shuō),主要的DSP應(yīng)用程序都是用匯編語(yǔ)言寫的(至少部分是匯編語(yǔ)言優(yōu)化的)。這里有兩個(gè)理由:首先,大多數(shù)廣泛使用的高級(jí)語(yǔ)言,例如C,并不適合于描述典型的DSP算法。其次,DSP結(jié)構(gòu)的復(fù)雜性,如多存儲(chǔ)器空間、多總線、不規(guī)則的指令集、高度專門化的硬件等,使得難于為其編寫高效率的編譯器。因此,匯編語(yǔ)言程序設(shè)計(jì)是DSP應(yīng)用軟件設(shè)計(jì)的基礎(chǔ)。匯編語(yǔ)言是一種利用DSP處理器所有硬件特性并能直接控制硬件的程序設(shè)計(jì)語(yǔ)言,是被實(shí)踐證明了的開發(fā)硬件系統(tǒng)最優(yōu)秀的語(yǔ)言。采用匯編語(yǔ)言開發(fā),可合理地應(yīng)用芯片提供的硬件資源,其代碼效率高、占用資源少、程序執(zhí)行速度快。諸多優(yōu)點(diǎn),使匯編語(yǔ)言受到廣大專業(yè)硬件程序設(shè)計(jì)人員的青睞。匯編語(yǔ)言直接描述機(jī)器指令,比機(jī)器指令容易記憶和理解。通過(guò)學(xué)習(xí)和使用匯編語(yǔ)言,能夠感知、體會(huì)、理解機(jī)器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實(shí)踐應(yīng)用基礎(chǔ)。學(xué)習(xí)匯編語(yǔ)言是我們理解整個(gè)DSP處理器的最佳起點(diǎn)和最有效途徑。因此DSP控制器匯編語(yǔ)言程序設(shè)計(jì)是當(dāng)今軟件設(shè)計(jì)領(lǐng)域中系統(tǒng)編程人員密切關(guān)注的研究課題之一。1 DSP簡(jiǎn)介和結(jié)構(gòu)特點(diǎn)DSP芯片,也稱數(shù)字信號(hào)處理器,是一種具有特殊結(jié)構(gòu)的微處理器。DSP芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP 指令,可以用來(lái)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。TMS320C6x核心CPU由32個(gè)32比特字長(zhǎng)的通用寄存器和8 個(gè)功能單元組成(2個(gè)乘法器和6個(gè)算術(shù)邏輯單元),故而可以在一個(gè)時(shí)鐘周期中完成8條指令。它支持8/16/32比特的數(shù)據(jù)格式,并為聲音合成或其它增強(qiáng)運(yùn)算提供了對(duì)40比特?cái)?shù)據(jù)算術(shù)運(yùn)算的支持。TMS320C6x擁有大容量的片內(nèi)RAM(64KB的數(shù)據(jù)存儲(chǔ)器的64KB的程序存儲(chǔ)器),并通過(guò)32比特的EMIF支持SDRAM、SBSRAM、SRAM以及其它的非同步存儲(chǔ)器。此外TMS320C6x還提供了多通道的DMA操作,用以相對(duì)CPU進(jìn)行后臺(tái)的數(shù)據(jù)存取,DMA的輔助通道還提供了對(duì)主機(jī)端口界面(HPI)的支持,主機(jī)可以通過(guò)HPI異步地訪問(wèn)TMS320C6x內(nèi)外存儲(chǔ)器及外圍設(shè)備。C6x還為通信提供兩個(gè)多通道、多緩沖的串行口。此外,TMS320C6x也和一般的DSP一樣具備較完善的中斷處理機(jī)制、定時(shí)器結(jié)構(gòu),并可以以不同的方式啟動(dòng)系統(tǒng)。 2 DSP的硬件結(jié)構(gòu)和片內(nèi)外設(shè)TMS320C6000 的CPU有兩個(gè)數(shù)據(jù)通道A和B,每個(gè)通道有16個(gè)32位字長(zhǎng)的寄存器(A0A15,B0B15),四個(gè)功能單元(L,S,M,D),每個(gè)功能單元負(fù)責(zé)完成一定的算術(shù)或者邏輯運(yùn)行。A、B兩通道的寄存器并不是完全共享,只能通過(guò)TM320C6000提供的兩個(gè)交換通道1X、2X,才能實(shí)現(xiàn)處理單元從不同通道的寄存器堆那里獲取32位字長(zhǎng)的操作數(shù)。TMS320C6x 系列DSP 內(nèi)部集成的外圍設(shè)備也非常豐富:具有4 個(gè)獨(dú)立通道的DMA 控制器,外部存儲(chǔ)器接口(EMIF),主機(jī)接口(HPI),擴(kuò)展總線(XBUS),多通道緩沖串口(MCBSP),定時(shí)器等。3 DSP匯編語(yǔ)言程序設(shè)計(jì)3.1 DSP系統(tǒng)設(shè)計(jì)在DSP系統(tǒng)設(shè)計(jì)中,應(yīng)當(dāng)先進(jìn)行系統(tǒng)的總體設(shè)計(jì)。首先采用高級(jí)語(yǔ)言或Matlab等對(duì)算法進(jìn)行仿真,確定最佳算法并初步確定參數(shù)。對(duì)系統(tǒng)中的哪些功能用軟件實(shí)現(xiàn),哪些功能用硬件實(shí)現(xiàn)進(jìn)行初步的分工。完成總體設(shè)計(jì)以后,就可以進(jìn)入軟硬件設(shè)計(jì)階段。這里介紹軟件設(shè)計(jì)的過(guò)程,如圖所示。TMS320C6x宏庫(kù)十六進(jìn)制轉(zhuǎn)換公用程序EPROM編程器交叉引用列表器器宏源文件文檔管理器C匯編器C源文件匯編源文件匯編器COFF目標(biāo)格式鏈接器目標(biāo)文件庫(kù)文檔管理器可執(zhí)行的COFF文件調(diào)試工具運(yùn)行支持庫(kù)線形匯編匯編優(yōu)化文件匯編優(yōu)化器建庫(kù)工具3.2 DSP匯編語(yǔ)言的特點(diǎn)匯編語(yǔ)言(Assembly Language)是面向機(jī)器、功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用DSP處理器所有硬件特性并能直接控制硬件的語(yǔ)言。匯編語(yǔ)言的主要優(yōu)點(diǎn)是占用資源少、程序執(zhí)行效率高。在對(duì)速度有極高要求的場(chǎng)合(如DSP處理器的高速圖像采集和圖像解壓縮),目前主要還要用匯編寫程序。匯編語(yǔ)言正是以其“體積”小和效率高而受到專業(yè)硬件程序設(shè)計(jì)人員的青睞,是被實(shí)踐證明了的開發(fā)硬件系統(tǒng)最優(yōu)秀的語(yǔ)言。3.3 DSP指令系統(tǒng)3.3.1 尋址方式C6000指令的尋址模式比較單一,只有間接尋址模式,即以通用寄存器作為基址,而且偏移地址可以為通用寄存器或常數(shù)。在存儲(chǔ)器地址計(jì)算時(shí),可以采取兩種方式:一種是線性尋址,即偏移量經(jīng)過(guò)1、2、4、8(分別對(duì)應(yīng)字節(jié)、半字、字和雙字尋址)處理后直接加到基址上;另一種是循環(huán)尋址,即偏移量在經(jīng)過(guò)1、2、4、8(分別對(duì)應(yīng)字節(jié)、半字、字和雙字尋址)處理后,還要以循環(huán)緩沖區(qū)的長(zhǎng)度取模數(shù)后加到基址上。由AMR寄存器選擇是線性尋址還是循環(huán)尋址,并指定循環(huán)緩沖區(qū)的長(zhǎng)度。3.3.2句法格式C6000匯編代碼的基本形式為:標(biāo)號(hào) : 并行符號(hào) 條件 指令 功能單元 操作數(shù) ;注釋3.3.3 延遲間隙C6000指令的執(zhí)行具有延遲間隙(Delay Slots)。延遲間隙在數(shù)量上等于指令的源操作數(shù)被讀取直到執(zhí)行的結(jié)果可以被訪問(wèn)所需要的指令周期數(shù)。延遲間隙等于一個(gè)指令的執(zhí)行或結(jié)果獲得的潛在周期。所有TMS320C62X系列和TMS320C67X系列DSPs指令都有一個(gè)功能單元潛在周期,這意味著每個(gè)周期均可有一條新指令在功能單元中開始。3.3.4 指令分類匯編代碼的指令包括偽指令和命令助記符。一 匯編器偽指令是匯編語(yǔ)言程序的一個(gè)重要內(nèi)容,它給程序提供數(shù)據(jù)并控制匯編過(guò)程。匯編器偽指令可完成以下工作:將代碼和數(shù)據(jù)匯編進(jìn)指定的段;在存儲(chǔ)器中為未初始化的變量保留空間;控制是否產(chǎn)生清單文件;初始化存儲(chǔ)器;匯編條件代碼塊;聲明全局變量;為匯編器指定從中可以獲得宏的庫(kù);考察符號(hào)調(diào)試信息。下面對(duì)一些常用的偽指令的使用方法進(jìn)行分類說(shuō)明。(1)定義段的偽指令這些偽指令指定匯編語(yǔ)言程序的段,包括以下幾種:.bss .data.sect.text(2)初始化常數(shù)的偽指令以下一些偽指令為當(dāng)前的段中保留指定的位數(shù):.byte,.char.field.float.half, . half, .int ,.uint, .short, .ushort , .word .uword(3)對(duì)準(zhǔn)段程序計(jì)數(shù)器的偽指令.align偽指令將段程序計(jì)數(shù)器對(duì)準(zhǔn)1字到128字的邊界。(4)引用其他文件的偽指令,包括:.copy.include.def.global.ref二 命令助記符是真正的處理器命令,它執(zhí)行實(shí)際的程序操作。它包括算術(shù)操作指令、邏輯操作指令、程序控制指令和加載存儲(chǔ)指令四大類,詳細(xì)的指令形式和執(zhí)行操作分別介紹如下:a 、算術(shù)操作指令C6X的算術(shù)指令很豐富,而且運(yùn)算功能強(qiáng)大。包括取絕對(duì)值指令、加法指令、減法指令、乘法指令、比較類指令以及特殊應(yīng)用指令。(1)取絕對(duì)值類指令A(yù)BS src2,dst ;ABS(src2)dst,取src的絕對(duì)值放入dst中。(2)加/減法類指令這里只對(duì)加法類指令詳細(xì)介紹:不帶飽和的有符號(hào)或者無(wú)符號(hào)的整數(shù)加法指令A(yù)DDUADDU src1, src2,dst ;src2被加到src1上,結(jié)果保存到dst中。使用尋址模式的整數(shù)加法指令A(yù)DDAB/ADDAH/ADDAWADDAB/ADDAH/ADDAW src2, src1,dst ;src1分別按字節(jié)(1,B)、半字(2,H)或字(4,W)尋址模式與src2相加,結(jié)果放到dst中。如果src2為A4A7或B4B7,src1還可以按循環(huán)尋址模式(ARM指定)與src2相加。(3)乘法類指令MPY兩個(gè)低16位的有符號(hào)或無(wú)符號(hào)整數(shù)相乘指令MPYMPYU/US/SU src1,src2,dst 源操作數(shù)src1和src2相乘,結(jié)果放在目標(biāo)寄存器dst中。默認(rèn)情況下,源操作數(shù)為無(wú)符號(hào)數(shù)。后綴U表示兩個(gè)無(wú)符號(hào)數(shù)相乘,US表示src1是無(wú)符號(hào)而src2是有符號(hào)數(shù),SU反之。一個(gè)高16位和一個(gè)低16位的有符號(hào)或無(wú)符號(hào)整數(shù)相乘指令 MPYHLU/ MPYHULS/MPYHSLU src1,src2,dst兩個(gè)高16位的有符號(hào)或無(wú)符號(hào)整數(shù)相乘指令MPYH(U/US/SU)src1,src2,dst一個(gè)低16位和一個(gè)高16位的有符號(hào)或無(wú)符號(hào)整數(shù)相乘指令MPYLH(U)/MPYLUHS/MPYLSHU src1,src2,dstb、 邏輯操作指令邏輯運(yùn)算指令包括與或異或、移位指令,分別敘述如下。(1)位與指令A(yù)NDAND src1, src2,dst ;將操作數(shù)src1和src2進(jìn)行位與運(yùn)算,結(jié)果保存到dst中。(2)位清零指令CLRCLR src2,csta,cstb,dst或者CLR src2,src1,dstsrc2操作數(shù)中,由csta和cstb指定的字段被清零。csta和cstb可以是常數(shù),也可以由scr1寄存器的低10位說(shuō)明,0位4位代表cstb的值,5位9位代表csta的值。csta指明src2要清零的最低位,cstb指明src2要清零的最高位。換句話說(shuō),csta和cstb分別代表 src2中要清零字段的起始和結(jié)束位置。(3)移位類指令 向左移位指令SHLSHL src2,src1,dst源操作數(shù)src2向左移位,移位的個(gè)數(shù)為源操作數(shù)src1中的值,結(jié)果保存在目標(biāo)寄存器dst中。向右移位指令SHRSHR src2,src1,dst 源操作數(shù)src2向右移位,移位的個(gè)數(shù)為源操作數(shù)src1中的值,結(jié)果進(jìn)行符號(hào)擴(kuò)展保存在目標(biāo)寄存器dst中。邏輯右移位指令 SHRU SHRU src2,src1,dst 源操作數(shù)src2向右移位,移位的個(gè)數(shù)為源操作數(shù)src1中的值,結(jié)果進(jìn)行零擴(kuò)展保存在目標(biāo)寄存器dst中。c、 程序控制指令程序控制指令包括跳轉(zhuǎn)指令、中斷返回指令和空操作指令,分別敘述如下。(1)跳轉(zhuǎn)類指令使用位移跳轉(zhuǎn)指令BB label一個(gè)21位的常數(shù)左移2位,與包含跳轉(zhuǎn)指令的取指包中第一條指令的地址相加,結(jié)果保存在程序取指包計(jì)數(shù)器(PFC)中。編譯器和連接器會(huì)根據(jù)下列公式自動(dòng)地計(jì)算cst的值:cst=(label-PCE1)2使用寄存器跳轉(zhuǎn)指令BB src2Src2在PFC寄存器中。從中斷返回的指令B IRP ;IRPPFC,PGIEGIE,從可屏蔽中斷返回B NRP ;NRPPFC,1NMIE,從不可屏蔽中斷返回(2)空操作類指令空操作指令NOPNOP .count源操作數(shù)src被編碼為count-1。在src+1個(gè)指令周期中,CPU沒(méi)有任何操作。其中count的最大值是9。多個(gè)空操作指令I(lǐng)DLEIDLE指令執(zhí)行無(wú)限多個(gè)NOP,直到遇到中斷服務(wù)或者一個(gè)跳轉(zhuǎn)指令發(fā)生時(shí)才停止空操作。d、 加載存儲(chǔ)指令 加載存儲(chǔ)指令是把源操作數(shù)從源存儲(chǔ)器送到目的操作數(shù)的存儲(chǔ)器中。包括從存儲(chǔ)器取數(shù)指令、向存儲(chǔ)器存數(shù)據(jù)指令和轉(zhuǎn)移類指令等。(1)從存儲(chǔ)器取數(shù)指令LDBU/LDHU/LDWLDB/LDH/LDW 間接尋址,dstLDBU/LDHU/LDW指令可以從存儲(chǔ)器讀取有符號(hào)或無(wú)符號(hào)數(shù),其中地址偏移量可以是5位無(wú)符號(hào)數(shù)、寄存器偏移或者15位無(wú)符號(hào)數(shù)。(2)向存儲(chǔ)器存數(shù)據(jù)指令STB/STH/STW與取數(shù)據(jù)指令類似,向存儲(chǔ)器存數(shù)據(jù)指令的偏移量也可以是5位無(wú)符號(hào)數(shù)、寄存器偏移或者15位無(wú)符號(hào)數(shù)。STB/STH/STW src, *+baseRoffsetR或STB/STH/STW src, *+B14/B15ucst15(3)轉(zhuǎn)移類指令將數(shù)據(jù)從一個(gè)寄存器轉(zhuǎn)移到另一個(gè)寄存器指令 MVMV src,dst將數(shù)據(jù)在控制寄存器和通用寄存器之間轉(zhuǎn)移指令MVCMVC src2,dst注意:使用MVC指令向ISR或ICR寄存器中寫入數(shù)據(jù)時(shí)會(huì)有一個(gè)延遲間隙。將一個(gè)16位有符號(hào)數(shù)轉(zhuǎn)移到通用寄存器并且進(jìn)行符號(hào)擴(kuò)展指令MVKMVK cst,dst將一個(gè)16位常量進(jìn)行符號(hào)擴(kuò)展,結(jié)果保存到目標(biāo)寄存器中。將一個(gè)16位常量轉(zhuǎn)移到通用寄存器的高16位指令MVKH/MVKLHMVKH/MVKLH cst,dst使用MVKH可以將一個(gè)32位常量的高16位裝載到目標(biāo)寄存器中。使用MVKLH可以將一個(gè)32位常量的低16位裝載到目標(biāo)寄存器中。將一個(gè)16位常量進(jìn)行符號(hào)擴(kuò)展轉(zhuǎn)移到通用寄存器指令MVKLMVKL cst,dst 4 應(yīng)用程序設(shè)計(jì)4.1應(yīng)用程序一:高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)4.1.1概述本系統(tǒng)設(shè)計(jì)的要求:實(shí)現(xiàn)對(duì)信號(hào)頻率在30MHz以下的模擬信號(hào)的采樣,并分析信號(hào)的頻譜,將頻譜結(jié)果通過(guò) USB 接口傳送到計(jì)算機(jī)保存和顯示。由于本案例采用的是高速模數(shù)轉(zhuǎn)換器,為了使處理器的速度跟上AD的速度,DSP每處理一批數(shù)據(jù),在處理數(shù)據(jù)的時(shí)間內(nèi),停止對(duì)數(shù)據(jù)的采樣,DSP 處理完該批數(shù)據(jù)后,然后啟動(dòng) AD,開始下一批數(shù)據(jù)的采樣。并且在處理數(shù)據(jù)之前將這些數(shù)據(jù)保存到FIFO中。此外,信號(hào)處理的算法編成程序保存到外部的Flash中,供DSP上電讀程序到其內(nèi)部RAM單元,全速運(yùn)行程序。系統(tǒng)的基本框圖由 AD、FIFO、DSP 以及 USB 接口組成,其框圖如圖所示。4.1.2器件的選擇對(duì)于 AD 轉(zhuǎn)換器,選取的標(biāo)準(zhǔn)主要決定于采樣頻率和位數(shù),以及價(jià)格、供貨周期、應(yīng)用情況等其他因數(shù)。根據(jù)對(duì)各種 AD 芯片的查閱,選擇 TI 公司的 AD 轉(zhuǎn)換芯片 ADS5422。根據(jù)AD和DSP的接口,可選擇美國(guó)IDT公司的FIFO芯片IDT72V2113,由于有1M多的數(shù)據(jù)量,而且IDT72V2113只有512K9bit的數(shù)據(jù)單元,所以必須做字長(zhǎng)和字深擴(kuò)展。根據(jù)數(shù)據(jù)的處理時(shí)間,選擇TMS320C6203B型號(hào)的DSP。USB選擇CY7C68031。Flash稱為閃速存儲(chǔ)器,是一種高速的、電擦除、電改寫的非易失性的存儲(chǔ)器。選擇128K8bit的閃速存儲(chǔ)器SST29LE010。4.1.3 接口設(shè)計(jì)使用TMS320C6203B的32bit外部擴(kuò)展總線接口連接AD;使用TMS320C6203B的定時(shí)器輸出信號(hào)TOUT0提供精確穩(wěn)定的時(shí)鐘給AD,控制AD的采樣頻率,并且該時(shí)鐘可以根據(jù)定時(shí)器參數(shù)由軟件設(shè)置,增加AD采樣頻率的靈活性。在DSP內(nèi)部寄存器中,將多通道緩沖串口(MBSP)的引腳配置成通用的I/O引腳,使用DR0 、DR1以及DX0引腳讀入或?qū)懭階D的控制信號(hào)OVR、DV以及OE。 FIFO與TMS320C6203B的外部擴(kuò)展總線的XCE3空間,數(shù)據(jù)通過(guò)DMA方式從FIFO傳送到TMS320C6203B的片內(nèi)ROM。FLASH的地址和數(shù)據(jù)總線連接到TMS320C6203B的EMIF接口總線上,F(xiàn)lash的片選信號(hào)連接到DSP的CE1引腳,配置成DSP的CE1空間,此外FLASH讀寫信號(hào)分別連接到EMIF接口的讀寫信號(hào)引腳上。TMS320C6203B通過(guò)EMIF接口的CE2空間對(duì)USB進(jìn)行讀寫操作。4.1.4 程序部分上電后,TMS320C6203B進(jìn)行初始化,外部擴(kuò)展總線的/XCE3空間設(shè)置為同步FIFO讀模式,DMA通道0配置為每次傳輸含8幀,每幀128BYTE,同步事件設(shè)置為外部中斷4,觸發(fā)極性為高電平;手動(dòng)啟動(dòng)DMA通道0。設(shè)置DX0為低電平;隨著數(shù)據(jù)不斷寫入FIFO,當(dāng)FIFO中的數(shù)據(jù)量大于128Byte時(shí),F(xiàn)IFO的確將錯(cuò)就錯(cuò)空白標(biāo)志 信號(hào) (/PAE)由低電平變?yōu)楦唠娖?,使得TDS320C6203B的外部中斷信號(hào)有效,從而觸發(fā)DMA傳輸;TMS320C6203B的DMA通道0開始通過(guò)外部擴(kuò)展總線讀取8*128BYTE的數(shù)據(jù),存儲(chǔ)于內(nèi)部RAM中,然后向TMS320C6203B發(fā)送中斷,通知TMS320C6203B處理數(shù)據(jù);TMS320C6203B處理完數(shù)據(jù)以后,重新啟動(dòng)DMA通道0,進(jìn)行下一次DMA傳輸;如此循環(huán),直到處理完所有的數(shù)據(jù)。程序流程圖如下:YNNY開始初始化啟動(dòng)采樣采樣結(jié)束?打開FIFO讀入數(shù)據(jù)外部中斷信號(hào)到?從FIFO讀數(shù)據(jù)DSP處理數(shù)據(jù)輸出數(shù)據(jù)到USB輸出結(jié)果結(jié)束結(jié)束?4.2應(yīng)用程序二:IIR數(shù)字濾波器的DSP實(shí)現(xiàn)4.2.1 數(shù)字濾波器的基本介紹濾波器可廣義的理解為一個(gè)信號(hào)選擇系統(tǒng),它讓某些信號(hào)成分通過(guò)又阻止或衰減另一些成分。濾波器可分為三種:模擬濾波器、采樣濾波器和數(shù)字濾波器。而從網(wǎng)絡(luò)結(jié)構(gòu)或者單位脈沖響應(yīng)分類,可以分為無(wú)限脈沖響應(yīng)(IIR)和有限脈沖響應(yīng)(FIR)濾波器。 這里將介紹的就是無(wú)限脈沖響應(yīng)(IIR)低通數(shù)字濾波器,它屬于一個(gè)離散系統(tǒng),主要采用遞歸結(jié)構(gòu)。數(shù)字濾波器的傳遞函數(shù):對(duì)IIR數(shù)字濾波器的差分方程的一般形式:兩邊同時(shí)進(jìn)行雙邊z變換得:得IIR數(shù)字濾波器的傳遞函數(shù):由上式可推得:4.2.2 IIR數(shù)字濾波器DSP程序的設(shè)計(jì)經(jīng)常用來(lái)設(shè)計(jì)IIR濾波器的方法是借助于模擬器的設(shè)計(jì)方法進(jìn)行。其設(shè)計(jì)步驟是:先將給定的數(shù)字濾波器的指標(biāo)轉(zhuǎn)換成模擬低通原型濾波器的指標(biāo),并得到滿足這些指標(biāo)要求的模擬低通原型濾波器的傳遞函數(shù)Ha(s),然后將Ha(s)按某種方法轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù)H(z),最后將數(shù)字低通原型濾波器轉(zhuǎn)換成所要求的數(shù)字濾波器。本程序完成的是一個(gè)三階切比雪夫型低通數(shù)字濾波器的濾波功能,為了簡(jiǎn)化匯編語(yǔ)言的匯編過(guò)程,程序中需要濾波的輸入信號(hào)數(shù)據(jù)是由Matlab生成的,此輸入信號(hào)是個(gè)雙正弦信號(hào),頻率分別是62.5Hz和250Hz。程序中的參數(shù)b0、b1、b2、b3和a1、a2、a3也是將濾波器性能指標(biāo)輸入Matlab,然后調(diào)用Matlab中的切比雪夫型函數(shù)生成的。濾波后,輸入信號(hào)為250Hz的頻率成分會(huì)被削弱。關(guān)于Matlab如何得到這兩部分?jǐn)?shù)據(jù)并不是研究的內(nèi)容,在此不多做解釋。運(yùn)用直接型結(jié)構(gòu),IIR濾波器的系統(tǒng)函數(shù)表示為:對(duì)應(yīng)的差分方程為:假如M=N,則由此差分方程可得到如下圖所示的信號(hào)流程圖:-a1-a2-aN-1aN-aNz-1z-1z-1z-1y(n)b0b1b2z-1z-1z-1z-1x(n)根據(jù)差分方程的信號(hào)流程圖進(jìn)行編程,由于現(xiàn)在的參數(shù)和輸入數(shù)據(jù),所以在程序一開始就將輸入數(shù)據(jù)和參數(shù)放在定義好的存儲(chǔ)空間里,程序的主體就是進(jìn)行乘加運(yùn)算。程序流程圖如圖所示。開 始將A0清零寄存器A2指向inputdata:寄存器A3指向filterdata;寄存器B4指向 b4; 寄存器B3指向b3寄存器B2指向b2; 寄存器B1指向b1;寄存器B7指向a3; 寄存器B6指向a2;寄存器B5指向a1; 濾波個(gè)數(shù)保存到寄存器B0輸入4個(gè)源數(shù)據(jù)依次到A4、A5、A6、A7,并
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)廢水處理技術(shù)與工程實(shí)踐
- 工業(yè)污染治理的技術(shù)手段與實(shí)踐
- 工業(yè)建筑設(shè)計(jì)風(fēng)格與案例分析
- 工業(yè)廢水處理現(xiàn)狀及發(fā)展趨勢(shì)分析
- 工業(yè)污染防治與公眾參與
- 工業(yè)自動(dòng)化中的仿真技術(shù)探索
- 工業(yè)物聯(lián)網(wǎng)的發(fā)展與應(yīng)用案例
- 工業(yè)節(jié)能減排與綠色制造
- 工業(yè)遺址改造與再利用
- 工作中如何提高專注力
- 甘肅電投筆試題
- 《車用動(dòng)力電池液冷板技術(shù)條件》
- 2025版國(guó)家開放大學(xué)法學(xué)本科《知識(shí)產(chǎn)權(quán)法》期末紙質(zhì)考試第二大題多項(xiàng)選擇題題庫(kù)
- 中醫(yī)藥膳學(xué)知識(shí)學(xué)習(xí)考試題庫(kù)500題(含答案)
- 《九型人格培訓(xùn)》課件
- 中國(guó)文化概觀-終結(jié)性考核-國(guó)開(SC)-參考資料
- 五年級(jí)下冊(cè)語(yǔ)文作文范文1-8單元
- 工業(yè)廠房電氣工程施工方案
- 人教版九年級(jí)全一冊(cè)英語(yǔ)期末學(xué)情評(píng)估測(cè)試卷(含答案)
- 檢驗(yàn)科生物安全手冊(cè)
- 2024年海南省中考數(shù)學(xué)試題卷(含答案解析)
評(píng)論
0/150
提交評(píng)論