解: .title “FIR1.ASM” .mmregs .def start x .usect “x”,5 PA0 .set 0 PA1 .set 1 .data
COEF:.word 1*32768/10 ;定义a4= 0.1 .word -3*32768/10 ;定义a3= -0.3 .word 5*32768/10 ;定义a2=-0.5 .word -3*32768/10 ;定义a1= -0.3 .word 1*32768/10 ;定义a0=-0.1
.text
start: SSBX FRCT STM #x+5,AR2 STM #4,AR0 LD #x+1,DP PORTR PA1,@x+1 FIR1: RPTZ A,#4
MACD *AR2-,COEF,A STH A,*AR2 PORTW *AR2+,PA0 BD FIR1
PORTR PA1,*AR2+0 .end
6、试用线性缓冲区和间接寻址方法实现题6.5算法的FIR滤波器。(参考课本P162~P163,只是对课本一些参数稍作修改便是答案) 解: .title “FIR2.ASM” .mmregs .def start .bss y,1 xn .usect “xn”,5 b0 .usect “a0”,5 PA0 .set 0 PA1 .set 1 .data
table: .word 1*32768/10 ;定义a4= 0.1 .word -3*32768/10 ;定义a3= -0.3 .word 5*32768/10 ;定义a2= 0.5 .word -3*32768/10 ;定义a1= -0.3 .word 1*32768/10 ;定义a0= 0.1 .text
start: SSBX FRCT STM #b0,AR1
RPT #4
MVPD table,*AR1+ STM #xn+4,AR2 STM #b0+4,AR3 STM #5,BK STM #-1,AR0 LD #xn,DP PORTR PA1,@xn FIR2: RPTZ A,#4
MAC *AR2+0%,*AR3+0%,A STH A,@y PORTW @y,PA0 BD FIR2
PORTR PA1,*AR2+0% .end 7、~12、略
第七章
1、试列举主机与PHI通信的连接单元?并分别说明它们的功能。(参考课本P200 7.1’C54x的主机接口)
2、已知 TMS320C54X 的 CLKOUT 频率为 4MHz。 ①在 SAM 工作方式下,主机的时钟频率是多少?
解:在 SAM 工作方式下,主机频率可达 3.2MHz 或 2.4MHz。
②在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗? 答:在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。 3、试分别说明下列有关定时器初始化和开放定时中断语句的功能。
①STM #0040H,IFR(课本有误,此处应为STM #0080H,IFR)解:清除外部中断 2 标志位。
②STM #0080H,IMR解:允许定时器 T1 或 DMAC1 中断(使用哪一种中断由 DMA 通道优先级和使能控制寄存器 DMPREC 控制。在复位以后,中断被配置为定时器 T1 中断)。 ③RSBX INTM解:使能所有可屏蔽中断。
④STM #0279H,TCR 解: 设置定标计数器的值 PSC 为 9; 定时器分频系数为 9; 以 PRD 中的值加载 TIM, 以 TDDR中的值加载 PSC;定时器停止工作。
4、假设时钟频率是40Mhz,试编写在XF端输出一个周期为2ms的方波程序段。
(参考课本P207程序,只要将课本程序中STM #1599,TIM0和STM #1599,PRD0改为STM #3999,TIM0和STM #3999,PRD0即可。注意计算到的Tt=1ms(高电平和低电平各1ms,故周期为2ms)。定时器基本计算公式在课本P206)
解:(定时半周期=CLKOUT*(TDDR+1)*(PRD+1); 1/2T=(1/40M)*(9+1)*(3999+1)=1ms)
;abc1.asm
;定时器0寄存器地址
TIM0 .set 0024H PRD0 .set 0025H TCR0 .set 0026H
;K_TCR0:设置定时器控制寄存器的内容
K_TCR0_SOFT .set 0b ;Soft=0 K_TCR0_FREE .set 1b ;Free=1 K_TCR0_PSC .set 1001b ;PSC=9H K_TCR0_TRB .set 1b ;TRB=1 K_TCR0_TSS .set 0b ;TSS=0 K_TCR0_TDDR .set 1001b ;TDDR=9
K_TCR0 .set K_TCR0_SOFT| K_TCR0_FREE| K_TCR0_PSC| K_TCR0_TRB|
K_TCR0_TSS| K_TCR0_TDDR ;初始化定时器0
;Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms) STM #0010H,TCR0 STM #3999,TIM0 STM #3999,PRD0 STM #K_TCR0,TCR0 STM #0080H,IFR STM #0080H,IMR RSBX INTM RET
;定时器0的中断服务子程序:通过引脚XF给出
t0_flag .usect “vars”,1 ;若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
5、TMS320C54x的串口有哪几种类型?答:课本P213(7.3 ’C54x的串行口) 6、试叙述标准串行接口数据的发送程序。 7、试分别说明下列语句的功能。 ① 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 的值。 由采样率发生器产生帧同步信号, 使能串口发送器。
8、已知中断向量 TINT=013H,中断向量地址指针 IPTR=0111H,求中断向量地址。 解:中断向量地址=(100010001B)<<9+(10011)<<2=88CCH
第八章
1、一个典型的DSP系统通常有哪些部分组成?画出原理框图。 答:(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)。(2)原理框图:课本P267 图8.5.1 2、DSP系统硬件设计过程都有哪些步骤?
答:第一步:确定硬件实现方案; 第二步:器件的选择; 第三步:原理图设计; 第四步: PCB 设计; 第五步:硬件调试;
3、在TMS320C54x芯片中,能否从一种分频方式直接切换到另一种分频方式,写出切换步骤。
4、一个DSP系统采用TMS320C54x芯片,而其他外部接口芯片采用5V器件,试为该系统设计一个合理的电源。(参考课本P249 8.2.1电源电路的设计)
5、试为DSP系统设计一个复位电路,要求该电路具有上电复位、手动复位和监视系统运行等功能。答:课本P252(图8.2.7和图8.2.8,监视系统:“看门狗”电路) 6、将TMS320C5402芯片从2分频切换到4分频方式,试编写相应的程序。 答:(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式(PLL方式),然
后再切换到4分频。)
STM #F007H,CLKMD ;切换到PLL*1方式
Status: LDM CLKMD,A ;测试PLLSTATUS位
XOR #F007H,A ;异或-->相同为0,不同为1
BC Status,ANEQ ;若A≠0,则转移,表明还没有切换到PLL方式
;若A=0,则顺序执行,已切换到PLL方式
STM #F000H,CLKMD ;切换到4分频方式
7、TMS320VC5402外接一个128K×16位的RAM,其结构如题图8.1所示。试分析程序区和数据区的地址范围,并说明其特点。 解:图中接法RAM的前64K字(0000H—FFFFH)为程序区,后64K字(10000H—1FFFFH) 说明: 程序区和数据区地址均为0000H—FFFFH
如果内部RAM设置为有效,则相同地址的外部RAM自动无效。 当外部RAM的存取速度达不到全速运行要求时,需要根据速度设置插入的等待状 态数。
8、TMS320VC5402外接一个128K×16位的RAM,采用混合程序区和数据区扩展法,连
接电路如题图8.2所示。试分析程序区和数据区的地址范围。 答:程序和数据都存储在同一片SRAM中,不论程序还是数据都可以访问8000H—FFFFH中的任一地址。为了保证系统的正确运行,需将这32K字空间划分为程序区和数据区,可以是程序占据8000H-BFFFH前16K字,数据占据C000H-FFFFH后16K字,也可是程序占8K,数据占24K等。划分完全取决于应用程序的需要,可以灵活掌握,但必须确保程序和数据区的相互分离,以免形成冲突。
9、Inte128F400B3是一种64K×16位的Flash存储器,其控制逻辑信号如图表8.1,试将该
存储器作为DSP的外部数据存储器进行扩展。若要将该芯片进行程序存储器扩展,该如何连接?
题表8.1 Intel128F400B3的控制逻辑信号
引脚 功能 引脚 —RP功能 —OE —WE 答:
—CE片选 输出使能 写控制
复位 写保护 电源 —WPVpp 3.3V __ WP Vpp I/O15~I/O0 A15~A0 _____ TMS320VC5402 D15~D0 A15~D0 __ R/W ___ DS ___ RS 10、~13、略 16 16 WE ___ CE ___ ___ RP OE Intel28F400B3 复位电路 GND