DSP原理与应用(张卫宁)课后习题答案(2)

2019-08-31 14:31

解:运行Coef.m文件,生成滤波器所需系数文件。Coef.m文件内容如下: n=79;

b=fir1(n,0.1);

fid=fopen('FIRCoef.inc','wt');

fprintf(fid,'%s %s %s\\n','FIRCoef',' .sect',' \fprintf(fid,' %s\\n',''); for j=1:1:(n+1)

fprintf(fid,' %s %6.0f\\n','.word',round(b(j)*16384)); end

fclose(fid)

用循环缓冲区实现的参考程序如下:

;FIR滤波器的参考程序,使用循环缓冲区法。 .title \ .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 \

FIR_DP .usect \d_filin .usect \d_filout .usect \fir_coff_table .usect \d_data_buffer .usect \FIR_Dinbuf .usect \FIR_Doutbuf .usect \ .asg AR0, FIR_INDEX_P .asg AR4,FIR_DATA_P .asg AR5,FIR_COFF_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .copy \ .copy \ .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 ;--------------------------------------------------------------------

samples 据。 fir_filter:

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 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 ; 从输入数据缓冲区读入数据,准备处理。 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片内外设、接口及应用

1、已知TMS320C54X的CLKOUT频率为4MHz,那么, ①在SAM工作方式下,主机的时钟频率是多少?

解:在SAM工作方式下,主机频率可达3.2MHz或2.4MHz。

②在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率有关吗? 答:在HOM工作方式下,主机的时钟频率与TMS320C54X的时钟频率无关。

2、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对5402处理器)。 ①STM #0004H,IFR

解:清除外部中断2标志位 ②STM #0080H,IMR

解:允许定时器T1或DMAC1中断(使用哪一种中断由DMA通道优先级和使能控制寄存器DMPREC控制。在复位以后,中断被配置为定时器T1中断)。 ③RSBX INTM

解:使能所有可屏蔽中断。 ④STM #0279H,TCR 解:设置定标计数器的值PSC为9;定时器分频系数为9;以PRD中的值加载TIM,以TDDR中的值加载PSC;定时器停止工作。 3、试分别说明下列语句的功能。 ① STM #SPCR10,SPSA0 STM #0001H,BSP0

解:对串口控制寄存器SPCR10赋值。不使用数字循环返回模式,接收数据DRR[1,2]采用右对齐方式,连续时钟方式,DX使能判断,接收中断由RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。 ②STM #SPCR20,SPSA0 STM #0081H,BSP0

解:对串口控制寄存器SPCR20赋值。串口使用软件模式,帧同步逻辑、采样率发生器复位,由发送准备好XRDY驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。

③STM #SPCR20,SPSA0 ORM #01000001B,BSP0

解:修改串口控制寄存器SPCR20的值。由采样率发生器产生帧同步信号,使能串口发送器。

4、已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。 解:中断向量地址=(100010001B)<<9+(10011)<<2=88CCH

第八章

1、一个典型的dsp系统通常有哪些部分组成?画出原理框图? 答:一个完整的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)。 输 I/O口 出 输 抗混入 放大电叠滤A/D转D/A转平滑DSP 换器 换器 路 波器 滤波 存储器 2、dsp系统硬件设计过程都有哪些步骤? 答:第一步:确定硬件实现方案; 第二步:器件的选择; 第三步:原理图设计; 第四步:PCB设计; 第五步:硬件调试;

第九章

工程项目的管理

CCS开发环境对用户系统采用工程项目的集成管理,使用户系统的开发和调试变得简单明了。在开发过程中,CCS会在开发平台中建立不同独立程序的跟踪信息,通过这些跟踪信息对不同的文件进行分类管理,建立相应的文件库和目标文件。

一个工程项目包括源程序、库文件、链接命令文件和头文件等,它们按照目录树的结构组织在工程项目中。工程项目构建(编译链接)完成后生成可执行文件。 9.1 CCS集成开发环境都有哪些功能?

答:CCS集成开发环境。此环境集编辑,编译,链接,软件仿真,硬件调试和实时跟踪等功能于一体,包括编辑工具,工程管理工具和调试工具等。

9.3 在CCS的所有窗口中,都含有一个关联菜单。怎样打开这个关联菜单? 答,只要在该窗口中单击右键就可以打开关联菜单。 9.4 CCS软件为用户提供哪几种常用的工具条?

答:标准工具条,编辑工具条,项目工具条和调试工具条

9.6 CCS软件可为用户提供各种窗口,常用的窗口都有哪些?怎样打开? 答:反汇编窗口,存储器窗口,寄存器窗口,观察窗口,

反汇编窗口:主要用来显示反汇编后的指令和调试所需的符号信息,包括反汇编指令,指令所存放的地址和相应的操作码。当程序装入目标处理器或仿真器后,CCS会自动打开反汇编窗口。存储器窗口:可以直接显示存储器的内容。在调试程序的过程中,可直接观察存储器的内容来确定程序的正确性。

9.7 一个工程项目都包含有哪些文件?怎样建立一个新的工程项目?

答:一个工程项目包括源程序,库文件,链接命令文件和头文件等,它们按照目录树的结构组织在工程项目中。见课本(P358)

9.8 CCS软件为用户构建工程项目提供了哪几种操作?这些操作有什么不同?

答:1,编译文件:编译文件仅完成对当前源文件的编译,不进行链接。2,增加性构建:增加性构建仅对修改的源文件进行编译,先前编译过,没有修改的文件不再进行编译。 3,全部重新构建:是对当前工程项目中的所有文件进行重新编译,重新链接,形成输

出文件。4,停止构建:停止当前的构建进程。

9.9 怎样使用CCS软件来调试程序?其都有哪些步骤? 答:CCS开发环境提供了异常丰富的调试手段。当完成工程项目构建,生成目标文件后,就可以进行程序的调试。一般的调试步骤为:1、装入构建好的目标文件;2、设置程序断点,探测点和评价点;3、执行程序;4、程序停留在断点处,查看寄存器和内存单元的数据,并对中间数据进行在线(或输出)分析。 反复上述过程直到程序达到预期的功能为止。

9.10 在CCS软件中,程序运行控制经常需要哪些操作?CCS提供了四种实时运行程序的操作,它们分别是哪些操作?各有什么不同?

答:在调试程序的过程中,经常需要复位,执行,单步执行等操作。1、装载文件2、复位目标处理器3、单步运行4、实时运行 第7章程序

;初始化定时器0

;根据定时长度计算公式:Tt=T* (TDDR+1) * (PRD+1)

;给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns ;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms) STM #1599,TIM0 STM #1599,PRD0

STM #K_TCR0,TCR0 ;启动定时器0中断 RET

;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的占空比 ;为50%的方波波形

t0_flag .usect “vars”,1 ;当前XF输出电平标志位 ;若t0_flag=1,则XF=1 ;若t0_flag=0,则XF=0 time0_rev: PSHM TRN PSHM T PSHM ST0 PSHM ST1

BITF t0_flag,#1 BC xf_out,NTC SSBX XF

ST #0,t0_flag B next xf_out: RSBX XF

ST #1,t0_flag next: POPM ST1 POPM ST0 POPM T POPM TRN RETE (3)方波发生器程序清单

周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。 ;abc1.asm


DSP原理与应用(张卫宁)课后习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南京市文具办公用品批发企业名录2018版594家 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: