DSP原理及应用考试要点详述解析Word文件下载.docx
- 文档编号:20300580
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:24
- 大小:1.82MB
DSP原理及应用考试要点详述解析Word文件下载.docx
《DSP原理及应用考试要点详述解析Word文件下载.docx》由会员分享,可在线阅读,更多相关《DSP原理及应用考试要点详述解析Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
✦CVdd,电压+1.8V,为CPU内核提供专用电源
✦DVdd,电压+3.3V,为各I/O引脚提供的电源
✦Vss,接地
控制引脚
引脚名称
引脚序号
功能说明
MSTRB*
24
外部存储器选通信号,总开关。
RS*
98
复位引脚,低电平有效。
在正常工作情况下,此引脚至少保持2个CLKOUT周期的低电平
PS*
20
外部程序存储器
DS*
21
数据存储器
IS*
22
I/O空间选择信号
3TMS320C54X芯片的总线组成情况,以及各总线的功能
✦1组程序总线PB传送取自程序存储器的指令代码和立即操作数。
✦3组数据总线CB(HW)、DB(LW)用来传送从数据存储器读出的数据;
EB用来传送写入存储器的数据。
✦4组地址总线PAB、CAB、DAB、EAB用来提供执行指令所需的地址
4算术逻辑单元ALU对输入数据的符号扩展及运算结果的溢出处理
符号扩展
溢出处理(发生溢出时)
✦若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器
✦若OVM=1,则对ALU的运行结果进行调整。
✧当正向溢出时,将32位最大正数007FFFFFFFH装入累加器;
✧当负向溢出时,将32位最小负数FF80000000H装入累加器。
✦
状态寄存器ST0中与目标累加器相关的溢出标志OVA或OVB被置1。
5累加器A、B的组成、两个累加器的区别、累加器内容的保存(移位、保存)
累加器A和B的区别是
✦AH可以用作乘法器的一个输入,使用
MPYA指令。
✦只能使用累加器A寻址程序空间。
带移位的累加器存储操作
✧移位操作是在存储累加器内容的过程中同时完成的
✧移位操作是在移位寄存器中完成的,累加器的内容保持不变
6桶形移位器的作用、移位数的形式、MAC单元的特点
作用40位桶形移位寄存器主要用于累加器或数据区操作数的定标
移位数有3种形式
✦立即数,取值范围:
-16~15.
✦状态寄存器ST1中的移位方式位ASM,花计5位,取值范围:
✦数据暂存器T中的低6位数值,取值范围:
-16~31.
特点MAC单元具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1次加法运算
7CPU的3个状态和控制寄存器(主要位的作用及设置)
这些寄存器都是存储器映像寄存器,位于数据存储器空间的第0页,访问速度最快。
1)状态寄存器0(ST0)
主要反映处理器的寻址要求和计算机的中间运行状态
2)状态寄存器1(ST1)
主要用于反映处理器的寻址要求、设置计算的初始状态、I/O及中断控制。
3)工作方式状态寄存器PMST
8TMS320C54X芯片的可寻址存储空间(程序、数据、I/O空间)各64k字
程序存储空间:
用来存放要执行的指令和指令执行中所需要的系数表(数学用表);
数据存储空间:
用来存放执行指令所需要的数据;
I/O存储空间:
用来提供与外部存储器映射的接口,可以作为外部数据存储空间使用
9片内存储器的3种形式以及SARAM(单寻址RAM)、DARAM(双寻址RAM)的特点
✦64千字的程序存储空间
✦64千字的数据存储空间
✦64千字的I/O空间
103个状态位对片内存储器映射到程序存储空间和数据存储空间的作用
最大可用程序空间:
MP/MC*=0OVLY=1DROM=0
最大可用数据空间:
MP/MC*=1OVLY=0DROM=1
11引导程序(自举加载程序)的作用
OOTLOADER(引导程序)是一段芯片出厂时固化在ROM中的程序代码。
芯片上电时,引导程序便将片外EPROM中的用户代码,引导入片内RAM或片外快速RAM中执行。
12定时器定时时间的计算
CLKOUT×
(TDDR+1)×
(PRD+1)
13程序存储空间的分页扩展、数据存储器的分页管理
程序存储空间的分页扩展
所有’C54X芯片的数据空间和I/0空间的寻址范围都是64K,程序空间的寻址能力根据地址线的不同而不同。
地址线数目为16、20、23,则相应的程序存储器寻址空间为64K、1M、8M。
为了实现分页扩展,增加程序计数器扩展寄存器XPC来保存页地址(即A16~AX),页内地址(64K内)用程序计数器PC保存。
数据存储器包括
✦CPU寄存器——特殊功能寄存器(OOOOH~OO1FH)
✦片内外设寄存器(0020H~OO5FH)
✦32字暂存器SPRAM(0060H~007FH)
✦896字DARAM(0080H~03FFH)
CHAP3
1各种寻址方式特点及其应用,重在寻址方式的判断,注意有时一个语句可能用到多种寻址方式
立即寻址LD#80H,*A
特点:
指令中含有一个固定的立即数,运行速度较快,但需占用程序存储空间,并且数值不能改变。
用途:
用于表示常数或对寄存器初始化。
绝对寻址
MVKDEXAM1,*AR5|MVPDTABLE,*AR2|PORTRFIFO,*AR5|
LD*(PN),A
指令中包含一个固定的16位地址,能寻址所有数据存储空间,但运行速度慢,需要较大的存储空间。
用于对速度要求较低的场合。
累加器寻址READASmem|WRITASmem
将累加器的内容作为地址去访问程序存储单元,即将累加器中的内容作为地址,用来对存放数据的程序存储器寻址。
用于完成程序存储空间与数据存储空间之间的数据传输。
直接寻址
特点是数据存储器地址由基地址(数据页指针DP或堆栈指针SP)和领衔地址共同构成,共16位。
特点
✦直接寻址的优点:
每条指令只需要一个字。
✦可在单周期寻址128个单元;
✦寻址速度快,能进行流水线并行操作。
主要用于要求运算速度较快的场合。
间接寻址
通过辅助寄存器和辅助寄存器指针来寻址数据空间存储单元,并自动实现增量、减量、变址寻址、循环寻址,共有16种修正地址的方式。
用途:
用于需要按固定步长寻址的场合。
存储器映像寄存器寻址
主要用于不改变DP、SP的情况下,修改MMR中的内容。
堆栈寻址
当发生中断或子程序调用时,用来自动保存PC内容以及保护现场或传送参数。
2直接寻址(地址的确定,DP赋初值)、倒序寻址(地址的确定)、循环缓冲区的建立(首尾地址的确定)
15~8
7
6~0
操作码
I=0
数据存储器地址(dmad)
I=0,表示指令使用的寻址方式为直接寻址。
位倒序寻址
间接寻址中*ARi+0B/-0B表示位倒序寻址。
AR0=N/2,用于快速傅氏变换算法FFT。
在这种寻址方式中,AR0存放的整数N是FFT点数的一半。
另一个辅助寄存器指向数据存放的物理单元。
当使用位倒序寻址把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右向左。
循环缓冲区的建立
长度为R的缓冲区必须从N位地址的边界开始,即循环缓冲区基地址的N个最低有效位必须为0。
N应满足:
2N>
R的最小整数。
例如:
缓冲区长度R=32,若2N>
32,则N=6。
缓冲区开始的地址:
xxxxxxxxxx000000B
循环缓冲区的尾基地址(EOB)是通过用BK的低N代替ARx的低N位得到
缓冲区长度R=32装入循环缓冲长度寄存器BK中。
3加法(进位)指令、减法(借位)指令、条件减法指令(实现除法),乘法、乘累加指令的操作数来源、分支转移指令、重复操作指令(RPT)、滤波指令(FIRSMAC)
加法指令
ADDSmem,src
src=src+Smem
操作数加到ACC中
ADDCSmem,src
src=src+Smem+C
带有进位的加法
ADDSSmem,src
src=src+uns(Smem)
与ACC进行不带符号扩展的加法
减法指令
SUBSmem,src
src=src-Smem
从累加器中减去操作数
SUBBSmem,src
src=src-Smem-C
累加器与操作数带借位减操作
SUBCSmem,src
If(src-Smem<
<
15)>
0,
src=(src-Smem<
15)<
1+1
Elsesrc=src<
1
条件减法操作
SUBSSmem,src
src=src-uns(Smem)
累加器与符号位不扩展的操作数减操作
乘法指令
MPYSmem,dst
dst=T*Smem
T寄存器与操作数相乘
MPYAdst
dst=T*A(32-16)
T寄存器与累加器A高位相乘
MPYASmem
B=Smem*A(32-16)
T=Smem
操作数与累加器A高位相乘
SQURSmem,dst
dst=Smem*Smem
操作数的平方
SQURA,dst
dst=A(32-16)*A(32-16)
累加器A高位的平方
分支转移指令
分类
指令
说明
无条件
分支转移
B[D]
用该指令指定的地址加载PC
BACC[D]
用累加器的低16位指定的地址加载PC
条件
BC[D]
若满足指令给定条件,用该指令指定的地址加载PC
BANZ[D]
若当前选择辅助寄存器不等于0,用该指令指定的地址加载PC
远程
FB[D]
用该指令指定的地址加载PC和XPC
FBACC[D]
用累加器的低23位指定的地址加载PC和XPC
✦最小均方运算LMS,自适应滤波。
✦Viterbi译码指令DADST、DSADT、CMPS
滤波指令
MAC
普通滤波,重复N次,一个系数,一个输入。
FIRS
系数对称、重复N/2次,一个系数,两个输入。
4数据块移动的实现、除法的实现(整数除法、小数除法),乘法的实现(整数乘法、小数乘法)
加法编程实现TEMP3=TEMP1+TEMP2
法一
法二
LDTEMP2,A
ADDTEMP1,A
STLA,TEMP3
ADDTEMP1,TEMP2,A
STHA,TEMP3
除法编程实现TEMP1/TEMP2=TEMP3…TEMP4
整数除法
小数除法(被除数一定小于除数)
LDTEMP1,B
RPT#15
SUBCTEMP2,B
STLB,TEMP3
STHB,TEMP4
LDTEMP1,16,B
STLB,-1,TEMP3
乘法实现
整数乘法
小数乘法
RSBXFRCT
LDTEMP1,T
MPYTEMP2,A
SSBXFRCT
LDTEMP1,16,A
MPYATEMP2
STHB,TEMP3
5能分析常见的汇编程序、能编写简单的程序片断
CHAP4
1DSP软件的开发过程
编辑、汇编和链接过程
2DSP程序的两种调试模式
✦软件仿真器(simulator)
✦硬件仿真器emulators(XDS510)
3段定义伪指令有哪些,各自作用是什么
未初始化段
◆.bss符号,字数
每调用一次.bss伪指令,汇编器在相应的段保留更多的空间。
◆符号.usect“段名”,字数
每调用一次.usect伪指令,汇编器在指定的命名段保留更多的空间。
已初始化段
◆.text[段起点]
文本段,通常包含可执行代码
◆.data[段起点]
数据段,通常包含初始化数据
◆.sect“段名”[,段起点]
定义初始化的命名段,可以包含可执行代码或数据。
图表描述
助记符及语法格式
.bsssymbol,sizeinwords[,blocking][,alignment]
为未初始化的数据段.bss保留存储空间。
.data
指定.data后面的代码为数据段,通常包含初始化的数据。
.sect“sectionname”
定义初始化的命名段,可以包含可执行代码或数据。
.text
指定.text后面的代码为文本段,通常包含可执行的代码。
symbol.usect“sectionname”,sizeinwords[,blocking][,alignmentflag]
为未初始化的命名段保留空间。
类似.bss伪指令,但允许保留与.bss段不同的空间。
4常见的常数初始化指令、.field指令、定位指令.align
常数初始化指令(把n位值汇编入当前连续的字中)
.byte
把一个或多个8位的值放入当前段中
.int.、word
把一个或多个16位的数值放入当前段中
.Float、.xfloat
把一个或多个32位浮点数放入当前段中
.long.、xlong
把一个或多个32位的值放入当前段中
.string、.pstring
把一个或多个8位字符或字符串放入当前段中
.fieldvalue[,sizeinbits]
初始化一个可变长度的域,将单个值放入当前字的指定位域中
对准段程序计数器的伪指令
◆.align伪指令的操作数必须是在20~216之间且等于2的幂。
操作数为1时,对准SPC到字的边界;
操作数为2时,对准SPC到长字/偶字的边界;
操作数为128时,对准SPC到页面的边界;
没有操作数时,.align伪指令默认为页面边界。
◆.even伪指令等效于指定.align伪指令的操作数为1的情形。
当.even操作数为2时,将SPC对准到下一个长字的边界。
任何在当前字中没有使用的位都填充0。
5链接器命令文件的作用与含义、链接器命令文件的编写(能结合程序和链接器命令文件判断输入、输出或特殊段的存放地址)
链接器的任务:
根据链接命令文件(.cmd),将一个或多个COFF目标文件链接起来,生成存储器映像文件(.map)和可执行文件(.out)。
(分配存储单元,将目标文件中的段重新定位到目标系统的存储器中)
链接命令文件的作用:
用来为链接器提供链接信息,可将链接操作所需的信息放在一个文件中,这在多次使用同样的链接信息时,可以方便地调用。
链接伪指令:
◆MEMORY——用来指定目标存储器结构。
MEMORY
{
PAGE0:
name1[(attr)]:
origin=constant,length=constant;
PAGEn:
namen[(attr)]:
}
存储区间:
存储页面区间名称区间属性起始地址区间长度
◆SECTIONS——用来控制段的构成与地址分配。
SECTIONS
name:
[property,property,property,…]
段名:
定义输出段的名称。
属性:
定义该段的内容和存储器的分配。
链接器为段在目标存储器中分配两个地址:
加载的地址——由装入存储器分配完成
执行程序的地址——由运行存储器分配完成
通常,这两个地址是相同的。
CHAP6
1计算滤波系数的MATLAB语句
b=fir1(n,Wn)
b=fir1(n,Wn,‘ftype’)
b=fir1(n,Wn,Window)
b=fir1(n,Wn,‘ftype’,Window)
n:
滤波器的阶数;
Wn:
滤波器的截止频率;
ftype:
用来决定滤波器的类型,
当ftype=high时,可设计高通滤波器;
当ftype=stop时,可设计带阻滤波器。
Window:
用来指定滤波器采用的窗函数类型,其默认值为汉明(Hamming)窗。
其他有Boxcar,Hanning,Bartlett,Blackman,Kasier和chebwin等。
2采用汉明窗设计高通FIR滤波器
低通b=fir1(n,Wn)
高通b=fir1(n,Wn,‘high’)
带通b=fir1(n,[W1W2])
带阻b=fir1(n,[W1W2],‘stop’)
3FIR滤波器的DSP实现的两种方法的特点
基本算法:
采用乘法累加运算。
即不断地输入样本x(n),经过z-1延时后,再进行乘法-累加,最后输出滤波结果y(n)。
(1)线性缓冲区法
线性缓冲区法又称延迟线法。
其方法是:
对于n=N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放最新的N个样本;
滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;
注意:
用线性缓冲区实现z-1运算时,缓冲区的数据需要移动,这样在一个机器周期内需要一次读和一次写操作。
因此,线性缓冲区只能定位在DARAM中。
优点:
在存储器中新老数据的位置直观明了。
(2)循环缓冲区法
对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。
每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。
缺点:
在循环缓冲区中新老数据的位置不是很直观明了,但不需要数据移动,不要求能够进行一次读和一次写的数据存储器,因此可将缓冲区定位在数据存储器的任何区域。
CHAP8
1DSP基本系统的设计,外部程序、数据存储器扩展的设计
基本系统设计
1)电源电路的设计:
大部分采用低电压,双电源。
内核电源CVDD——采用3.3V、2.5V,或1.8V电源;
I/O电源DVDD——采用3.3V供电。
TI公司提供的双电源芯片
TPS73HD301
固定的输出电压:
3.3V,可调的输出电压:
1.2V~9.75V
TPS73HD325
3.3V和2.5V
TPS73HD318
3.3V和1.8V
2)复位电路的设计:
’C54x的复位分为软件复位和硬件复位。
软件复位:
是通过执行指令实现芯片的复位。
硬件复位:
是通过硬件电路实现复位。
硬件复位有以下几种方法:
上电复位
手动复位
自动复位(多用)采用专用的复位芯片
3)时钟电路的设计
使用外部时钟源;
(多用)
使用芯片内部的振荡器。
4)JTAG接口电路的设计
当仿真器和DSP距离大于15.24cm时,JTAG测试接口和仿真插座之间需要加缓冲器。
2程序存储器的扩展
’C54x的地址总线有16~23条,芯片的型号不同其配置的地址总线也不同。
’C5402芯片共有20根地址线,最多可以扩展1M字外部程序存储空间,其中高4位地址线(A19~A16)是受XPC寄存器控制。
3数据存储器的扩展
CHAP9(结合实验)
1setupCCS的作用
选择仿真模式,选择芯片型号。
2建立工程文件的过程(汇编源程序的工程文件的组成、C程序的工程文件的组成)
Include文件夹,包含了以.h为扩展名的文件(即C语言文件中的头文件等)。
Libraries文件夹,存放所有以.lib为扩展名的库文件。
Source文件夹,包含所有扩展名为.c和.asm的源文件。
工程项目文件,是工程项目的管理文件,以.mak为扩展名。
链接命令文件,以.cmd扩展名,直接显示在工程项目文件下。
3断点、探针点的作用
断点(BreakPoint)可以暂停程序的运行,以便观察程序的状态,检查或修正变量,查看调用的堆栈、存储器和寄存器的内容等。
探测点(ProbePoint)是一种设置在源文件某条语句上的特殊断点。
每个探测点都有相应的属性,可同用户来设定,主要用来与一个外部文件的读/写相关联。
4外部数据的输入
利用CCS提供的探测点可以自动完成外部文件读/写操作。
FILE->
FILEI/O->
FILEINPUT->
ADDFILE
将探测点与文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 应用 考试 要点 详述 解析