DSP原理與應(yīng)用課后答案電子工業(yè)出版社.doc
第一章 緒論1、簡(jiǎn)述DSP系統(tǒng)的構(gòu)成和工作過(guò)程。答:DSP系統(tǒng)的構(gòu)成:一個(gè)典型的DSP系統(tǒng)應(yīng)包括抗混疊濾波器、數(shù)據(jù)采集A/D轉(zhuǎn)換器、數(shù)字信號(hào)處理器DSP、D/A轉(zhuǎn)換器和低通濾波器等。DSP系統(tǒng)的工作過(guò)程:將輸入信號(hào)x(t)經(jīng)過(guò)抗混疊濾波,濾掉高于折疊頻率的分量,以防止信號(hào)頻譜的混疊。經(jīng)過(guò)采樣和A/D轉(zhuǎn)換器,將濾波后的信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)x(n)。數(shù)字信號(hào)處理器對(duì)x(n)進(jìn)行處理,得數(shù)字信號(hào)y(n)。經(jīng)D/A轉(zhuǎn)換器,將y(n)轉(zhuǎn)換成模擬信號(hào);經(jīng)低通濾波器,濾除高頻分量,得到平滑的模擬信號(hào)y(t)。9、簡(jiǎn)述DSP系統(tǒng)的設(shè)計(jì)步驟。答:明確設(shè)計(jì)任務(wù),確定設(shè)計(jì)目標(biāo)。算法模擬,確定性能指令。選擇DSP芯片和外圍芯片。設(shè)計(jì)實(shí)時(shí)的DSP芯片系統(tǒng)。硬件和軟件調(diào)試。系統(tǒng)集成和測(cè)試。第二章 TMS320C54x硬件結(jié)構(gòu)1、 TMS320C54X芯片的基本結(jié)構(gòu)都包括哪些部分?答:中央處理器內(nèi)部總線結(jié)構(gòu)特殊功能寄存器數(shù)據(jù)存儲(chǔ)器RAM程序存儲(chǔ)器ROMI/O口串行口主機(jī)接口HPI定時(shí)器中斷系統(tǒng)2、TMS320C54X芯片的CPU主要由哪幾部分組成?答:40位的算術(shù)運(yùn)算邏輯單元(ALU)。2個(gè)40位的累加器(ACCA、ACCB)。1個(gè)運(yùn)行-16至31位的桶形移位寄存器。1717位的乘法器和40位加法器構(gòu)成的乘法器-加法器單元(MAC)。比較、選擇、存儲(chǔ)單元(CSSU)。指令編碼器。CPU狀態(tài)和控制寄存器。3、TMS320VC5402共有多少可屏蔽中斷?它們分別是什么?和屬于哪一類中斷源?答:TMS320VC5402有13個(gè)可屏蔽中斷,和屬于外部硬件中斷。4、試分析下列程序的流水線沖突,畫(huà)出流水線操作圖。如何解決流水沖突?STLM A,AR0STM#10,AR1LD *AR1,B解:流水線圖如下圖:123456789預(yù)取指取指譯碼尋址讀數(shù)執(zhí)行STLM A,AR0寫(xiě)AR1預(yù)取指取指譯碼尋址讀數(shù)執(zhí)行STM #10,AR1(1st Word)寫(xiě)AR2寫(xiě)AR2預(yù)取指取指譯碼尋址讀數(shù)執(zhí)行STM #10,AR1(2nd Word)預(yù)取指取指譯碼尋址讀數(shù)執(zhí)行LD *AR1,B讀AR2解決流水線沖突:最后一條指令(LD *AR1,B)將會(huì)產(chǎn)生流水線沖突,在它前面加入一條NOP指令可以解決流水線沖突。5、試根據(jù)等待周期表,確定下列程序段需要插入幾個(gè)NOP指令。LD GAIN, TSTM #input,AR1MPY *AR1+,A解:本段程序不需要插入NOP指令STLM B,AR2STM #input ,AR3MPY *AR2+,*AR3+,A解:本段程序需要在MPY *AR2+,*AR3+,A語(yǔ)句前插入1條NOP指令MAC x, BSTLM B,ST0ADD table, A, B解:本段程序需要在ADD table, A, B語(yǔ)句前插入2條NOP指令第三章 TMS320C54x指令系統(tǒng)1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。MVKD 80H,*AR2MVDD *AR2,*AR3MVDM 86H, AR4運(yùn)行以上程序后,(80H)、(84H)、*AR3和AR4的值分別等于多少?解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H2、已知,(80H)=20H、(81H)=30H。LD #0,DPLD 80H,16,BADD 81H,B運(yùn)行以上程序,B等于多少?答:(B)=200030H3、閱讀以下程序,分別寫(xiě)出運(yùn)行結(jié)果。.bss x,4.data table:.word 4,8,16,32STM #x,AR1RPT #2MVPD table,*AR1+解:數(shù)據(jù)表table中的常量4傳送到以變量x 的地址為地址的存儲(chǔ)單元中;數(shù)據(jù)表table中的常量8傳送到以變量x+1 的地址為地址的存儲(chǔ)單元中;數(shù)據(jù)表table中的常量16傳送到以變量x+2 的地址為地址的存儲(chǔ)單元中;.bss x,4.datatable: .word 4,8,16,32STM #x,AR1RPT #2MVPD table,*+AR2解:數(shù)據(jù)表table中的常量4傳送到以變量x+1 的地址為地址的存儲(chǔ)單元中;數(shù)據(jù)表table中的常量8傳送到以變量x+2 的地址為地址的存儲(chǔ)單元中;數(shù)據(jù)表table中的常量16傳送到以變量x+3 的地址為地址的存儲(chǔ)單元中;第四章 匯編語(yǔ)言程序的開(kāi)發(fā)工具及CCS集成開(kāi)發(fā)環(huán)境1、軟件開(kāi)發(fā)環(huán)境有哪幾種?在非集成開(kāi)發(fā)環(huán)境中,軟件開(kāi)發(fā)常采用哪些部分?答:可以在兩種開(kāi)發(fā)環(huán)境中進(jìn)行C54X的開(kāi)發(fā):非集成的開(kāi)發(fā)環(huán)境和集成的開(kāi)發(fā)環(huán)境。在非集成開(kāi)發(fā)環(huán)境中,軟件開(kāi)發(fā)常采用:編輯、匯編、鏈接、調(diào)試等部分。2、鏈接器對(duì)段是如何處理的?答:鏈接器將一個(gè)或多個(gè)COFF目標(biāo)文件中的各種段作為鏈接器的輸入段,經(jīng)過(guò)鏈接后在一個(gè)可執(zhí)行的COFF輸出模塊中建立各個(gè)輸出段,通過(guò)情況下是將不同目標(biāo)文件中的同名段進(jìn)行合并,并為各個(gè)輸出段分配進(jìn)具體的存儲(chǔ)器中。3、鏈接器能完成什么工作?鏈接器命令文件中,MEMORY命令和SECTIONS命令的任務(wù)是什么?答:鏈接器將各個(gè)目標(biāo)文件合并起來(lái),并完成如下工作:(1)將各個(gè)段配置到目標(biāo)系統(tǒng)的存儲(chǔ)器。(2)對(duì)各個(gè)符號(hào)和段進(jìn)行重新定位,并給它們指定一個(gè)最終的地址。(3)解決輸入文件之間的未定義的外部引用。MEMORY命令的作用:MEMORY命令用來(lái)建立DSP應(yīng)用系統(tǒng)中的存儲(chǔ)器模型。通過(guò)這條命令,可以定義系統(tǒng)中所包含的各種形式的存儲(chǔ)器,以及它們占用的地址范圍。SECTION命令的作用:說(shuō)明如何將輸入段結(jié)合成輸出段;在可執(zhí)行程序中定義輸出段;規(guī)定輸出段在存儲(chǔ)器中的存儲(chǔ)位置;允許重新命名輸出段。第五章 TMS320C54x的匯編語(yǔ)言程序設(shè)計(jì)1、偽指令和注釋有什么差別?它們?cè)诔绦蛑械淖饔靡粯訂?答:偽指令用于為程序提供數(shù)據(jù)并指示匯編程序如何匯編程序,是匯編語(yǔ)言程序的一個(gè)重要內(nèi)容。匯編偽指令主要完成以下工作:(1)將代碼和數(shù)據(jù)匯編進(jìn)指定的段(2)為未初始化的變量在存儲(chǔ)器中保留空間(3)控制清單文件是否產(chǎn)生(4)初始化存儲(chǔ)器(5)匯編條件代碼塊(6)定義全局變量(7)為匯編器指定可以獲得宏的庫(kù)(8)考察符號(hào)調(diào)試信號(hào)注釋是程序的任選項(xiàng)。注釋可以由ASCII碼和空格組成。注釋在匯編源清單中要顯示,但不能影響匯編。注釋在程序中的作用是說(shuō)明程序語(yǔ)句的含義,以便對(duì)軟件進(jìn)行維護(hù)。2、在堆棧操作中,PC當(dāng)前地址為4020H,SP當(dāng)前地址為1013H,運(yùn)行PSHM AR7后,PC和SP的值分別是多少?解:SP=1012H; PC=4021H3、試編寫(xiě)0.25(-0.1)的程序代碼。參考程序如下:.title "FracAmp.asm".mmregs .global _c_int00.bss x,1.bss y,1.bss z,1.dataAmpCoef:.word 25*32768/100.word -1*32768/10.text_c_int00:ssbx FRCTstm #x,ar1rpt #0x1mvpd #AmpCoef,*ar1+stm #x,ar2stm #y,ar3mpy *ar2,*ar3,Asth A,*ar1Wait:b Wait.end4、將定點(diǎn)數(shù)0.00125用浮點(diǎn)數(shù)表示。解:A=28H;T=19H8、試寫(xiě)出以下兩條指令的運(yùn)行結(jié)果:EXP AA=FFFD876624 T=0000則以上指令執(zhí)行后,B、T的值各是多少?解: A=0xFFFD876624;T=5NORM BB=420D0D0D0D, T=FFF9則以上指令執(zhí)行后,B、T的值各是多少?解:B=0x841A1A1A, T=FFF9第七章 TMS320C54x片內(nèi)外設(shè)、接口及應(yīng)用2、已知TMS320C54X的CLKOUT頻率為4MHz,那么,在SAM工作方式下,主機(jī)的時(shí)鐘頻率是多少?解:在SAM工作方式下,主機(jī)頻率可達(dá)3.2MHz或2.4MHz。在HOM工作方式下,主機(jī)的時(shí)鐘頻率與TMS320C54X的時(shí)鐘頻率有關(guān)嗎?答:在HOM工作方式下,主機(jī)的時(shí)鐘頻率與TMS320C54X的時(shí)鐘頻率無(wú)關(guān)。3、試分別說(shuō)明下列有關(guān)定時(shí)器初始化和開(kāi)放定時(shí)中斷語(yǔ)句的功能(針對(duì)5402處理器)。STM #0004H,IFR解:清除外部中斷2標(biāo)志位STM #0080H,IMR解:允許定時(shí)器T1或DMAC1中斷(使用哪一種中斷由DMA通道優(yōu)先級(jí)和使能控制寄存器DMPREC控制。在復(fù)位以后,中斷被配置為定時(shí)器T1中斷)。RSBX INTM解:使能所有可屏蔽中斷。STM #0279H,TCR解:設(shè)置定標(biāo)計(jì)數(shù)器的值PSC為9;定時(shí)器分頻系數(shù)為9;以PRD中的值加載TIM,以TDDR中的值加載PSC;定時(shí)器停止工作。7、試分別說(shuō)明下列語(yǔ)句的功能。 STM #SPCR10,SPSA0STM #0001H,BSP0解:對(duì)串口控制寄存器SPCR10賦值。不使用數(shù)字循環(huán)返回模式,接收數(shù)據(jù)DRR1,2采用右對(duì)齊方式,連續(xù)時(shí)鐘方式,DX使能判斷,接收中斷由RRDY產(chǎn)生,接收移位寄存器未超載,串口接收器準(zhǔn)備好,使能串口接收器。STM #SPCR20,SPSA0STM #0081H,BSP0解:對(duì)串口控制寄存器SPCR20賦值。串口使用軟件模式,幀同步邏輯、采樣率發(fā)生器復(fù)位,由發(fā)送準(zhǔn)備好XRDY驅(qū)動(dòng)發(fā)送中斷;發(fā)送移位寄存器為空,發(fā)送器未準(zhǔn)備好,使能串口發(fā)送器。STM #SPCR20,SPSA0ORM #01000001B,BSP0解:修改串口控制寄存器SPCR20的值。由采樣率發(fā)生器產(chǎn)生幀同步信號(hào),使能串口發(fā)送器。8、已知中斷向量TINT=013H,中斷向量地址指針I(yè)PTR=0111H,求中斷向量地址。解:中斷向量地址=(100010001B)<<9+(10011)<<2=88CCH