第一章 绪论
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 位的桶形移位寄存器。
④17×17 位的乘法器和 40 位加法器构成的乘法器-加法器单元(MAC)。
⑤比较、选择、存储单元(CSSU)。
⑥指令编码器。
⑦CPU 状态和控制寄存器。
3、TMS320VC5402 共有多少可屏蔽中断?它们分别是什么? RS 和 NMI 属于哪一类中断
源?
答:TMS320VC5402 有 13 个可屏蔽中断, RS 和 NMI 属于外部硬件中断。
4、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水冲突?
STLM A,AR0
STM
LD
解:流水线图如下图:
#10,AR1
*AR1,B
1
预取
指
STLM
A,AR0
STM
#10,AR1
(1st Word)
STM
#10,AR1
(2nd Word)
LD *AR1,B
3
2
取指 译码 寻址 读数 执行
4
5
6
7
8
9
写
AR1
取指 译码 寻址 读数 执行
预取
指
写
AR2
写
AR2
取指 译码 寻址 读数 执行
预取
指
取指 译码 寻址 读数 执行
预取
指
读
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)=200030H
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
.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 的地址为地址的存储单元中;
x,4
第四章 汇编语言程序的开发工具及 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
.word 25*32768/100
.word -1*32768/10
.text
AmpCoef:
_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
b Wait
.end
Wait:
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
第七章 TMS320C54x 片内外设、接口及应用
2、已知 TMS320C54X 的 CLKOUT 频率为 4MHz,那么,
①在 SAM 工作方式下,主机的时钟频率是多少?
解:在 SAM 工作方式下,主机频率可达 3.2MHz 或 2.4MHz。
②在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率有关吗?
答:在 HOM 工作方式下,主机的时钟频率与 TMS320C54X 的时钟频率无关。
3、试分别说明下列有关定时器初始化和开放定时中断语句的功能(针对 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;定时器停止工作。
7、试分别说明下列语句的功能。
1 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