DSP课后习题答案.pdf_第1页
DSP课后习题答案.pdf_第2页
DSP课后习题答案.pdf_第3页
DSP课后习题答案.pdf_第4页
DSP课后习题答案.pdf_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 绪论 1、简述 DSP 系统的构成和工作过程。 答:DSP 系统的构成: 一个典型的 DSP 系统应包括抗混叠滤波器、数据采集 A/D 转换器、数字信号处理器 DSP、 D/A 转换器和低通滤波器等。 DSP 系统的工作过程: 将输入信号 x(t)经过抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠。 经过采样和 A/D 转换器,将滤波后的信号转换为数字信号 x(n)。 数字信号处理器对 x(n)进行处理,得数字信号 y(n)。 经 D/A 转换器,将 y(n)转换成模拟信号; 经低通滤波器,滤除高频分量,得到平滑的模拟信号 y(t)。 9、简述 DSP 系统的设计步骤。 答:明确设计任务,确定设计目标。 算法模拟,确定性能指令。 选择 DSP 芯片和外围芯片。 设计实时的 DSP 芯片系统。 硬件和软件调试。 系统集成和测试。 第二章 TMS320C54x 硬件结构 1、 TMS320C54X 芯片的基本结构都包括哪些部分? 答:中央处理器 内部总线结构 特殊功能寄存器 数据存储器 RAM 程序存储器 ROM I/O 口 串行口 主机接口 HPI 定时器 中断系统 2、TMS320C54X 芯片的 CPU 主要由哪几部分组成? 答:40 位的算术运算逻辑单元(ALU) 。 2 个 40 位的累加器(ACCA、ACCB) 。 1 个运行-16 至 31 位的桶形移位寄存器。 1717 位的乘法器和 40 位加法器构成的乘法器-加法器单元(MAC) 。 比较、选择、存储单元(CSSU) 。 指令编码器。 CPU 状态和控制寄存器。 3、TMS320VC5402 共有多少可屏蔽中断?它们分别是什么?RS和NMI属于哪一类中断 源? 答:TMS320VC5402 有 13 个可屏蔽中断,RS和NMI属于外部硬件中断。 4、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水冲突? STLM A,AR0 STM #10,AR1 LD *AR1,B 解:流水线图如下图: 1 2 3 4 5 6 7 8 9 预取 指 取指 译码 寻址 读数 执行 STLM A,AR0 写写 AR1 预取 指 取指 译码 寻址 读数 执行 STM #10,AR1 (1st Word) 写写 AR2 写写 AR2 预取 指 取指 译码 寻址 读数 执行 STM #10,AR1 (2nd Word) 预取 指 取指 译码 寻址 读数 执行 LD *AR1,B 读读 AR2 解决流水线冲突: 最后一条指令(LD *AR1,B)将会产生流水线冲突,在它前面加入一条 NOP 指令可以解 决流水线冲突。 5、试根据等待周期表,确定下列程序段需要插入几个 NOP 指令。 LD GAIN, T STM #input,AR1 MPY *AR1+,A 解:本段程序不需要插入 NOP 指令 STLM B,AR2 STM #input ,AR3 MPY *AR2+,*AR3+,A 解:本段程序需要在 MPY *AR2+,*AR3+,A 语句前插入 1 条 NOP 指令 MAC x, B STLM B,ST0 ADD table, A, B 解:本段程序需要在 ADD table, A, B 语句前插入 2 条 NOP 指令 第三章 TMS320C54x 指令系统 1、已知(80H)=50H,AR2=84H,AR3=86H,AR4=88H。 MVKD 80H,*AR2 MVDD *AR2,*AR3 MVDM 86H, AR4 运行以上程序后,(80H)、 (84H) 、*AR3 和 AR4 的值分别等于多少? 解:(80H)=50H,(84H)=50H,*AR3=50H,AR4=50H 2、已知,(80H)=20H、 (81H)=30H。 LD #0,DP LD 80H,16,B ADD 81H,B 运行以上程序,B 等于多少? 答: (B)=00 0000 0000H 3、阅读以下程序,分别写出运行结果。 .bss x,4 .data table:.word 4,8,16,32 STM #x,AR1 RPT #2 MVPD table,*AR1+ 解:数据表 table 中的常量 4 传送到以变量 x 的地址为地址的存储单元中;数据表 table 中 的常量 8 传送到以变量 x+1 的地址为地址的存储单元中;数据表 table 中的常量 16 传送到 以变量 x+2 的地址为地址的存储单元中; .bss x,4 .data table: .word 4,8,16,32 STM #x,AR1 RPT #2 MVPD table,*+AR2 解:数据表 table 中的常量 4 传送到以变量 x+1 的地址为地址的存储单元中;数据表 table 中的常量 8 传送到以变量 x+2 的地址为地址的存储单元中;数据表 table 中的常量 16 传送 到以变量 x+3 的地址为地址的存储单元中; 第四章 汇编语言程序的开发工具及 CCS 集成开发环境 1、软件开发环境有哪几种?在非集成开发环境中,软件开发常采用哪些部分? 答:可以在两种开发环境中进行 C54X 的开发:非集成的开发环境和集成的开发环境。在非 集成开发环境中,软件开发常采用:编辑、汇编、链接、调试等部分。 2、链接器对段是如何处理的? 答: 链接器将一个或多个 COFF 目标文件中的各种段作为链接器的输入段, 经过链接后在一 个可执行的 COFF 输出模块中建立各个输出段, 通过情况下是将不同目标文件中的同名段进 行合并,并为各个输出段分配进具体的存储器中。 3、链接器能完成什么工作?链接器命令文件中,MEMORY 命令和 SECTIONS 命令的任务是 什么? 答:链接器将各个目标文件合并起来,并完成如下工作: (1)将各个段配置到目标系统的存储器。 (2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。 (3)解决输入文件之间的未定义的外部引用。 MEMORY 命令的作用: MEMORY 命令用来建立 DSP 应用系统中的存储器模型。 通过这条命令, 可以定义系统中所 包含的各种形式的存储器,以及它们占用的地址范围。 SECTION 命令的作用: 说明如何将输入段结合成输出段; 在可执行程序中定义输出段; 规定输出段在存储器中的存 储位置;允许重新命名输出段。 第五章 TMS320C54x 的汇编语言程序设计 1、伪指令和注释有什么差别?它们在程序中的作用一样吗? 答: 伪指令用于为程序提供数据并指示汇编程序如何汇编程序, 是汇编语言程序的一个重要 内容。汇编伪指令主要完成以下工作: (1)将代码和数据汇编进指定的段 (2)为未初始化的变量在存储器中保留空间 (3)控制清单文件是否产生 (4)初始化存储器 (5)汇编条件代码块 (6)定义全局变量 (7)为汇编器指定可以获得宏的库 (8)考察符号调试信号 注释是程序的任选项。注释可以由 ASCII 码和空格组成。注释在汇编源清单中要显示,但 不能影响汇编。注释在程序中的作用是说明程序语句的含义,以便对软件进行维护。 2、在堆栈操作中,PC 当前地址为 4020H,SP 当前地址为 1013H,运行 PSHM AR7 后,PC 和 SP 的值分别是多少? 解:SP=1012H; PC=4021H 3、试编写 0.25(-0.1)的程序代码。 参考程序如下: .title “FracAmp.asm“ .mmregs .global _c_int00 .bss x,1 .bss y,1 .bss z,1 .data AmpCoef: .word 25*32768/100 .word -1*32768/10 .text _c_int00: ssbx FRCT stm #x,ar1 rpt #0x1 mvpd #AmpCoef,*ar1+ stm #x,ar2 stm #y,ar3 mpy *ar2,*ar3,A sth A,*ar1 Wait: b Wait .end 4、将定点数 0.00125 用浮点数表示。 解:A=28H;T=19H 8、试写出以下两条指令的运行结果: EXP A A=FFFD876624 T=0000 则以上指令执行后,B、T 的值各是多少? 解: A=0xFFFD876624;T=5 NORM B B=420D0D0D0D, T=FFF9 则以上指令执行后,B、T 的值各是多少? 解:B=0x841A1A1A, T=FFF9 第六章 应用程序设计 1、 FIR 滤波器的算法为 y(n)=a0x(n)+a1x(n-1)+a2x(n-2)+a3x(n-3)+a4x(n-4),试用线性缓冲区和直 接寻址方法实现。 解:参考教材 P179P181。 2、FIR 低通滤波器的截止频率为0.2 n ,其输出方程为: 79 0 ( )() i i y na x ni 。 存放 079 aa的系数表以及存放数据的循环缓冲区设置在 DARAM 中,如图 6.1 所示。试用 MATLAB 中的 fir1 函数确定各系数 ai,用循环缓冲区实现。 解:运行 Coef.m 文件,生成滤波器所需系数文件。Coef.m 文件内容如下: n=79; b=fir1(n,0.1); fid=fopen(FIRCoef.inc,wt); fprintf(fid,%s %s %sn,FIRCoef, .sect, “FIRCOEF“); fprintf(fid, %sn,); for j=1:1:(n+1) fprintf(fid, %s %6.0fn,.word,round(b(j)*16384); end fclose(fid) 用循环缓冲区实现的参考程序如下: ;FIR 滤波器的参考程序,使用循环缓冲区法。 .title “fir_main.asm“ .mmregs .global _c_int00 K_FIR_BFFR .set 80 K_FIR_INDEX .set 1 K_FRAME_SIZE .set 256 stack_len .set 100 stack .usect “STACK“,stack_len FIR_DP .usect “fir_vars“,0 d_filin .usect “fir_vars“,1 d_filout .usect “fir_vars“,1 fir_coff_table .usect “fir_coff“,K_FIR_BFFR d_data_buffer .usect “fir_bfr“,K_FIR_BFFR ; buffer size for the filter FIR_Dinbuf .usect “fir_dinbuf“,K_FRAME_SIZE FIR_Doutbuf .usect “fir_doutbuf“,K_FRAME_SIZE .asg AR0, FIR_INDEX_P .asg AR4,FIR_DATA_P .asg AR5,FIR_COFF_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .copy “FIRInput.inc“ .copy “FIRCoef.inc“ .text _c_int00: ssbx INTM ; INTM=1,禁止所有可屏蔽中断 ssbx FRCT ;- stm #0, CLKMD ; 切换 CPU 内部 PLL 到分频模式 Clk_Status: ldm CLKMD, A and #01b, A bc Clk_Status, ANEQ ;检查是否已经切换到分频模式? stm #0x07ff,CLKMD ;设置 DSP 时钟 16.384MHZ ;- nop stm #0x3FF2,PMST stm #0x7FFF,SWWSR stm #0xF800,BSCR stm #0x0000, IMR ; 禁止所有可屏蔽中断 stm #0xFFFF, IFR ; 清除中断标志 stm #stack+stack_len,SP ;设置堆栈指针 nop STM #FIR_Dinbuf,AR1 RPT #(K_FRAME_SIZE-1) MVPD #FIRIn,*AR1+ ;以上 3 行的功能是把模拟数据拷贝到内存中。 STM #fir_coff_table,FIR_COFF_P RPT #K_FIR_BFFR-1; MVPD #FIRCoef,*FIR_COFF_P+ ;把滤波器常数拷贝到内存中。 STM #K_FIR_INDEX,FIR_INDEX_P STM #d_data_buffer,FIR_DATA_P ; load cir_bfr address for the recent samples RPTZ A,#K_FIR_BFFR STL A,*FIR_DATA_P+ ;清除滤波器缓冲区,所有数据存储单元置 0。 STM #(d_data_buffer+K_FIR_BFFR-1), FIR_DATA_P ; STM #fir_coff_table, FIR_COFF_P; AR5 指向滤波器系数缓冲区最低地址。 STM #FIR_Dinbuf,INBUF_P AR6 指向输入数据缓冲区,准备读入数据。 STM #FIR_Doutbuf,OUTBUF_P ; AR7 指向输出数据缓冲区,准备读出数 据。 ;修改数据页指针 LD #FIR_DP,DP STM #K_FRAME_SIZE-1,BRC ; 程序执行 256 次。 RPTBD fir_filter_loop-1 STM #K_FIR_BFFR,BK ; LD *INBUF_P+, A ; 从输入数据缓冲区读入数据,准备处理。 fir_filter: STL A,*FIR_DATA_P+% ;读入最新数据 RPTZ A,(K_FIR_BFFR-1) MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A ; 累加处理。 STH A, *OUTBUF_P+ ; 把数据输出到输出缓冲区,可以验证结果。 fir_filter_loop Wait b Wait .END 第七章 TMS320C54x 片内外设、接口及应用 2、已知 TMS320C54X 的 CLKOUT 频率为 4MHz,那么, 在 SAM 工作方式下,主机的时钟频率是多少? 解:在 SAM 工作方式下,主机频率可达 3.2MHz 或 2.4MHz。 在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗? 答:在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。 3、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对 5402 处理器) 。 STM #0004H,IFR 解:清除外部

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论