第一篇:DSP复习总结(精)
一.数字信号处理概述
1.DSP的优势:可控性强,稳定度高,精度高,抗干扰性强,实现自适应性,数据压缩, 大规模集成。
2.实时数字信号处理:信号处理速度必须大于等于输入信号更新的速度,而且信号输入到
处理后输出的延迟必须足够的小
实时取决因素:芯片速度,运算量(数据率,算法复杂度
3.DSP子系统实现方式:通用CPU,加速处理模块,单片机,专用DSP芯片,可编程FPGA 器件,通用可编程DSP芯片
3.DSP系统典型处理方法:数据流处理。块处理 矢量处理
4.定点与浮点DSP芯片 定点: 小数Xf转换为定点数Xd:Xd=int(Xf×2Q 定点数Xd转换为小数Xf:Xf=float(Xd×2-Q 0.25的Q15表示法——0.25×215=8192=0x2000 0x4623的Q15表示小数——17955×2-15=0.547943 第一位为符号位
浮点: bit3bit3bit2bit2bit S e f 浮点数=(-1S×2(e-127×1.f-0.75=-(0.112=-(1.1×2-1=(-11×(1.1×2(126-127-0.75的IEEE单精度浮点格式数为:(BF400000H 5.DSPs芯片特点
算数单元:硬件乘法器是DSPs区别于早期通用微处理起的重要标志 多功能单元使DSP在单位时间内完成更多的操作,提高了程序执行速度 总线结构:哈弗总线结构
流水技术:是提高DSPs程序执行效率的另一个重要手段 专用寻址单元:地址的计算不再额外占用CPU时间 片内存储器:程序存储,数据存储,CACHE 丰富的外设
6.DSP处理器实现高速运算途径 ⏹硬件乘法器及乘加单元 ⏹高效的存储器访问 ⏹数据格式 ⏹零循环开销 ⏹多个执行单元
⏹数据流的线性I/O ⏹专门的指令集
6.DSP评价方法:传统性能评价 MIPS-----百万指令每秒 MOPS-----百万操作每秒 MFLOPS-----百万浮点操作每秒 MACS-------乘加次数每秒 完整应用评价 核心算法评价
7.选型依据:速度,精度,芯片资源,开发工具,支持多处理器,功耗与电源管理,成本。
8.哈佛总线结构包括6条总线:PAB(程序地址总线,DRAB(数据读地址总线,DW AB(数据写地址总线,PRDB(程序读地址总线,DRDB(数据读总线,DWEB(数据写总线
第二章.TMS320C200 DSP处理器 1.内部结构
三个主要组成部分:中央处理单元,存储器,外设
同系列芯片具有相同的中央处理单元、总线结构和指令集。片内存储器以及外设有所区别
中央处理单元:中央算术逻辑部分(算术逻辑运算,由累加器存放结果,输出数据定标移
位器进行移位
输入定标部分(将来自存储器的16位数据左移变成32位送往中央算数逻 辑单元 乘法部分
辅助寄存器算数单元(寻址+运算 状态寄存器
2.C2000总线结构特点
(1采用各自独立的数据地址总线分别用于数据读(DBAB和数据写(DW AB,因此CPU的读写可在一个周期内进行
(2 独立的程序空间和数据空间允许CPU同时访问程序指令和数据。3.引脚
DS(output:外部数据存储器选通引脚 PS(output :外部程序存储器选通引脚 IS(output :外部IO空间存储器选通引脚 R/W(output :读写选择信号
STRB(output :外部存储器访问选通引脚 READY(input :外设准备好信号
MP/MC(input:工作模式选择引脚。A0~A15:16位地址线 D0~D15:16位数据线
4.程序地址产生:程序计数器(利用16位的程序计数器PC对内部和外部程序存储器寻址
堆栈(16位宽、8级深度的硬件堆栈。功能:保存返回地址与重要数据 微堆栈(16位宽,1级深。功能:保存返回地址。无指令对微堆栈操作。流水线操作(4个独立阶段:取指令(Fetch、指令译码(Decode、取操作 数(Operand和执行指令(Execute。5.转移调用和返回指令
转移(跳转:使控制转换到新的地址单元
调用:使控制转换到新的地址单元,将返回地址压入堆栈 返回:使栈顶的地址弹出到程序计数器PC中
6.重复指令RPT:它的下一条指令重复被执行,执行次数是重复指令中操作数加一。
例如:RPT #N INST1 INST2 运行结果:INST1执行N+1次
7.中断控制(1中断分类
触发源角度:硬件中断(内部,外部,软件中断(指令触发 DSP管理中断角度:可屏蔽中断,不可屏蔽中断(2中断矢量表
又称为中断地址,表明中断发生后,若DSP响应中断,指令执行的地址。(3可屏蔽中断设置
中断标志寄存器IFR:中断请求到达CPU时为1 中断屏蔽寄存器IMR:为0,屏蔽中断 为1,中断
中断控制寄存器ICR:(4可屏蔽中断响应流程
中断请求-----中断响应-------中断服务(5非屏蔽中断
硬件非屏蔽中断:RS,NMI 软件非屏蔽中断:INTR k,NMI,TRAP(6中断服务程序ISR 中断服务程序是用户编写的,是对中断事件做出响应的子程序。
CPU 接收到中断请求并响应之后,就根据中断矢量内容转移到相应的中断服务程序ISR 中
(7复位:优先级最高的中断,属于非屏蔽外部中断(硬件 复位操作至少需要6个时钟周期 8.存储器与I/O 空间
(1存储器类型:程序存储空间,数据存储空间,IO 空间(2片内存储器与片外存储器
片内:速度快,功耗低,运行稳定,访问效率高。片内存储器类型:片内双访问存储器—DARAM 片内单访问程序/数据存储器—SARAM 掩膜型片内存储器—ROM 闪速存储器—FLASH 片外:容量大(3程序存储空间
功能:程序存储器存放程序的代码、表格信息、固定操作数。程序运行时只读。控制信号引脚:PS ,STRB, 扩展:两片8K ×8位存储器构成8Kx16位的静态存储器与C2000相连(4数据存储空间
功能:存放DSP 运行时所需要的数据,程序运行时可读写。
控制信号引脚:DS :当外部总线正被数据存储器使用时,DS 为低电平。STRB :当外部总线正被使用时,STRB 为低电平。BR :当访问全局数据空间时,BR 为低电平。
扩展:2个8K 8bit 的RAM 完成8K 16bit 静态存储器与C2000的接口 本地数据空间:直接寻址,间接寻址
全局数据空间:用于保存与其他处理器共用的数据,引脚BR ,低电平访问全局(5I/O 空间 功能:输入输出
控制信号引:IS :当外部总线正被IO 空间使用时,IS 为低电平。STRB :当外部总线正被使用时,STRB 为低电平。访问方式:IN、OUT 指令(6程序引导
功能:在复位时,DSP 内部的引导程序把用户程序从外部的8位数据空间存储器中引导到内部的16位程序空间的RAM 中,从而开始运行用户程序
条件:DSP 复位时,BOOT 引脚必须为0。(7存储器配置 9.片内外设(1时钟产生器
(2定时器
定时器中断频率为
1(1(1++⨯=PRD TDDR f f clkout1TINT PRD为16位定时器周期寄存器;TDDR为4位(不超过15定时器除数寄存器;设置:PRD,TCR(3等待状态发生器
等待状态产生的两种方式:使用READY信号(低电平有效灵活,可以产生任 为任意外部设备产生等待周期
设置片内等待状态发生器(WSGR:方便,可靠;为某一空间设置整体的等待周期(4同步串行口
基本信号:时钟信号CLKX,帧同步信号FSX,数据信号DX.中断信号:发送中断XINT,接受中断RINT DSP与串口的访问方式:查询,中断 同步串行口发送模式: 利用内部帧同步的突发模式(FSM=1,TXM=1 利用外部帧同步的突发模式(FSM=1,TXM=0 利用内部帧同步的连续模式(FSM=0,TXM=1 利用外部帧同步的连续模式(FSM=0,TXM=0
同步串行口接收模式: 突发模式接收 连续模式接收(4异步串行口
基本信号:数据信号TX,TR,握手信号IO0~IO3 9.通用IO引脚 BIO,XF,IO0~IO3 第三章.TMS320C2000软件环境 1.寻址方式(1立即寻址 短立即数寻址方式
RPT #99;RPT后面的指令重复执行100次 长立即数寻址方式
ADD #16384,2;累加器与数值16384左移2位后相加(2直接寻址
必须首先对DP进行设置以确定数据页面,然后再书写进行某种操作的指令,该指令的操作数将确定数据页面内部的特定偏移单元。其步骤如下: LDP #20H;初始化数据页面指针
ADD 5Dh;累加器与当前数据页面内偏移量5DH单元的内容相加,结果存入累
加器中(3间接寻址
利用8个16位的辅助寄存器AR7~AR0,可提供灵活多变且功能强大的间接寻址方式。
LAR AR1,#289H MAR *,AR1 ADD *;ACC<=ACC+289H@DS C2000提供了4种修改方法供间接寻址选择
(1无增量或减量。指令使用当前AR内容作为数据存储器地址,指令执行完成后,当前AR 的内容保持不变。ADD *;ACC=ACC+(ARx(2加1或减1。指令使用当前AR内容作为数据存储器地址,然后将当前AR内容加1或减
1。ADD *+ ADD *-;ACC=ACC+(ARx, ARx=ARx-1(3加或减一个变址量。AR0中的值即是这个变址量。指令使用当前AR内容作为数据存储
器地址,然后将当前AR的内容和AR0的值相加或相减,结果送到当前AR中。
ADD *0+ ADD *0-;ACC=ACC+(ARx, ARx=ARx-AR0(4位翻转加或减一个变址量。AR0中的值即是这个变址量,指令使用当前AR内容作为数
据存储器地址,然后将当前AR内容与AR0的值位翻转后相加或相减,结果送到当前AR 中。
ADD *BR0+;ACC=ACC+(ARx, ARx=ARx+rc(AR0 ADD *BR0-2.汇编语言格式
[标号][:] 助记符[操作数1,操作数2,…][;注释]
例如: SYM1.set 2;符号SYM1等于2 BGN: LDP SYM1;将2装入DP.word 016H;初始化一个字为16h NOP;空操作
BCND BGN,BIO;引脚BIO为低电平跳转BGN LDP SYM+1;SYM1+1装入到DP
3.伪指令宏指令
4.COFF—公共目标文件格式
块的定义:目标文件中最小的单位,一个块就是最终在TMS320存储器映像中占据连续空间的一块代码或数据。
已初始化块:.text.data.sect.asect 未初始化块:.bss.usect 链接器的一个主要功能是将块定位到目标存储器中。
汇编器的主要任务是为确定汇编语言程序的各部分分别属于哪个特定的段。第四章.DSP系统设计 1.具体技术指标
采样频率-------由信号频率,带宽决定
由采样频率确定任务书中最复杂算法所需最大时间以及系统对实时性要求判断是能否完成工作。
片内RAM容量及是否扩展-----由数据量及程序长度决定 16/32位,定点/浮点-----------由系统精度决定
根据系统用途是计算还是控制,来决定对输入输出端口的要求。2.DSP目标板设计要素 步骤: 第一步:算法分析与优化
第二步:DSP的选择 第三步:DSP配置
第四步:模拟数字混合电路设计 第五步:系统电路设计
第六步:系统对软件的编写与调试 第七步:系统测试与验证 3.硬件设计步骤
确定硬件方案--------器件选型--------原理设计----------PCB版图设计--------硬件调试
(系 统 分 析 |(系 统 综 合
原理设计是DSP 系统集成中关键的一步,其成功与否是DSP 系统能否正常工作的最重要的一个因素。
3.软件设计步骤 4.系统集成
系统集成是将软硬件结合起来,并组装成一台样机,在实际系统中运行,进行系统测试。
5.高精度ADC 转换器结构:逐次逼近方式, Σ-Δ调制方式 积分方式
高速ADC 转换器结构:并行比较型
串-并比较型 分路转换型
6.高精度ADC 转换器应用: 精度与速度存在矛盾
对电源,接地,电路布局的要求都极为严格 外部电路的匹配 与后续电路之间的隔离 串行输出方式
高速ADC 转换器的应用: 电平逻辑的匹配 时序逻辑的匹配 高速器件的接地 高速器件的去耦
7.高速ADC 器件的选择:速度与精度折衷 保证裕量 避免全速运行
8.性能测试:动态有效位(ENOB 是用来衡量数据采集系统实际工作时有效的位数,它是用分辨率来衡量实际工作时ADC 的噪声均方值与理想ADC 标识分辨率情况下的量化噪声。
采用FFT 方法进行测试,具体方案是:(a 采用单频正弦信号输入到ADC;(b 对ADC 输出结果进行快速傅里叶变换FFT ,计算SINAD(Signal-to-Noise and Distortion Ratio ,信号噪声加失真比。
(c 有效位数ENOB=(SINAD-1.76/6.02。8.实时数据存储
双端口RAM :双端口存储器是一种专用存储芯片,设有两组物理地址、数据和读写控][log 10噪声能量能基频10量信号 SINAD 制信号。两个CPU可以通过这些控制信号同时访问双端口存储器,实现数据共享
(1双端口RAM构成的乒乓存储器 工作特点: 人为的将双端口存储器分成两部分,使得存储器的读写操作分时工作,即同一时刻内存储器的两部分处于不同的读写状态。
对A写数据时,则DSP从B中读取数据;对B写数据时,则DSP从A中读取数据;有效的增加了DSP运算处理时间,提高了系统的实时性(2先进先出存储器FIFO FIFO是一种先进先出的存储器,即先读入的数据先读出。FIFO器件常用作数据缓冲器,充当两个不同速率的系统之间的数据接口。
FIFO的共性:没有地址线,只有读写时钟,内部地址依赖于对读写时钟的计数。采用满、空、半满标志来标识存储状态。
9.高速实时信号的产生:数据存储型,相位累加型
10.高速电路定义:线传播延时大于数字信号驱动端上升时间的1/2,则可认为此类信号是高速信号并产生传输线效应。
从本质上讲,高速数字系统的设计的核心问题是如何确保系统时序的正确。11.信号的完整性:指信号线上信号的质量,主要包括反射、振铃、地弹和串扰 12.传输线效应:反射信号、串扰、过冲与下冲、电磁辐射
串扰:在一根信号线上有信号通过时,在PCB板上与之相邻的信号线就会感应出相关信号,这种现象叫做串扰。
串扰解决途径:加宽走线间距 导线尽可能接近地线 差分布线技术 正交布线
合理布局布线。。13.避免传输线效应的方法: 严格控制关键走线的长度 抑制电磁干扰
合理规划走线的拓扑结构 电源去耦技术
14.高速PCB技术
第五章.可编程逻辑器件在DSP系统中的应用 1.ASIC(专用集成电路 优势:体积小容量大 功耗低 可靠性高 保密性强 在线可编程能力
各种先进的开发手段大大缩短了开发周期 2.FPGA(现场可编程门阵列
既继承了门阵列逻辑器件密度高和通用性强的优点,又具备可编程逻辑器件的可编程特性。FPGA结构:查找表型,多路开关型
主要包括:可编程逻辑模块(CLB,可编程输入输出模块IOB,可编程内部互联PI 3.DSP与FPGA DSP:依赖于指令的串行执行完成算法功能,易于实现跳转、调用等功能 FPGA:依赖与内部的逻辑资源的自由并行组合实现算法功能 DSP与FPGA的方案选择依据:系统的取样速率 系统是否已经使用C语言编制的程序 数据率?
多少个条件操作? 是否使用浮点 所需要的库能否获得 4.DSP+FPGA结构
DSP+FPGA结构最大的特点是结构灵活,有较强的通用性,适于模块化设计,从而能够提高算法效率;同时其开发周期较短,系统易于维护和扩展
1.哈佛总线:PAB,DRAB,DWAB,DRAB,PRDB,DWEB 2.硬件设计:ADC.DAC.内存、电源、通信、逻辑控制、人机接口、总线 3.高速总线:PCI,PCB,VME 4.FPGA内部模块:可编程逻辑模块CLB,可编程输入输出模块IOB,可编程内部互联PI 5.DSP子系统:通用CPU,加速处理模块,专用DSP芯片,通用可编程DSP,可编程FPGA,单片机。
6.FPGA与DSP选取依据:正确选择单点接地与多点接地,分开数字模拟电路,加粗地线,将地线构成闭环回路
7.高速电路PCB布线原则:合理选择层数,缩短高频器件管脚间引线,减少连接过程用孔,减少管脚引线弯折,各类信号走线不能形成环路
8.高速ADC性能指标:动态有效位(ENOB,采用FFT测试 9..text.data.sect.asect||||||.usect.bss
第二篇:dsp——期末复习总结
Dsp原理及应用
1.简述DSP芯片的主要特点。答:
(1)采用哈佛结构。Dsp芯片普遍采用数据总线和程序总线分离的哈佛结构或者改进的哈佛结构,比传统处理器的冯诺依曼结构有更快的指令执行速度。
(2)采用多总线结构。可同时进行取指令和多个数据存取操作,并由辅助寄存器自动增减地址进行寻址,使CPU在一个机器周期内可多次对程序空间和数据空间进行访问,大大地提高了dsp的运行速度。
(3)采用流水线技术。每条指令可通过片内多功能单元完成取指、译码、取操作数和执行等多个步骤,实现多条指令的并行执行。
(4)配有专用的硬件乘法-累加器。在一个指令周期内可完成一次乘法和一次加法。(5)具有特殊的dsp指令。如:c54x中的FIRS和LMS指令,专门用于完成系数对称的FIR滤波器和LMS算法。
(6)硬件配置强。具有串行口、定时器、主机借口、DMA控制器、软件可编程等待状态发生器等片内外设,还配有中断处理器、PLL、片内存储器、测试接口等单元电路,可以方便地构成一个嵌入式自封闭控制的处理系统。(7)省电管理和低功耗。(8)运算精度高。
2.TI公司的DSP产品目前有哪三大主流系列?各自的应用领域是什么? 答:
(1)TMS320C2000系列,称为DSP控制器,集成了flash存储器、高速A/D转换器以及可靠的CAN模块及数字马达控制的外围模块,适用于三相电动机、变频器等高速实时工控产品等需要数字化的控制领域。
(2)TMS320C5000系列,这是16位定点DSP。主要用于通信领域,如IP电话机和IP电话网关、数字式助听器、便携式声音/数据/视频产品、调制解调器、手机和移动电话基站、语音服务器、数字无线电、小型办公室和家庭办公室的语音和数据系统。
(3)TMS320C6000系列,采用新的超长指令字结构设计芯片。其中2000年以后推出的C64x,在时钟频率为1.1GHz时,可达到8800MIPS以上,即每秒执行90亿条指令。其主要应用领域为:1.数字通信:完成FFT、信道和噪声估计、信道纠错、干扰估计和检测等;2.图像处理:完成图像压缩、图像传输、模式及光学特性识别、加密/解密、图像增强等。
3.简述TMS320C54x的DARAM与其它存储器有什么区别?
答:DARAM由一些分块组成。每个DARAM块在单周期内能被访问2次。4.请详细描述冯·诺依曼结构和哈佛结构,并比较它们的不同。答:
(1)冯诺依曼结构,采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,工作速度较慢。(2)哈佛结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
5、TMS320C54x 系统,有哪几种寻址方式?每种寻址方式写一条指令。答:
(1)立即寻址:LD
#80H,A
;立即数指令;
(2)绝对寻址:
MVKD 2000H, *AR5
;数据存储器数据数据存储器
;2000H为数据存储器地址
(3)累加器寻址:READA 2000H
;程序存储器数据数据存储器
;累加器A中存放的是程序存储器地址
;2000H是数据存储器地址(4)直接寻址:ADD 20H, B
;
操作数地址=DP左移7位+20H , CPL=0 操作数地址=SP
+20H , CPL=1(5)间接寻址:LD *AR2+, A
;
(6)存储器映像寄存器寻址:LDM 39H, A
;数据存储器数据累加器A
;SPSD0累加器A(7)堆栈寻址:PSHM ST0 6.请描述FIRS指令的功能。答:
FIRS Xmem,Ymem,pmad
;有限冲激响应(FIR)滤波器指令
;pmadPAR ;如果 RC>0 ;B+AH x(PAR)B ;((Xmem)+(Ymem))<<16 A ;PAR+1 PAR ;RC-1 RC FIRS指令实现一个对称的有限冲激响应(FIR)滤波器。首先Xmem和Ymem相加后的结果左移16位放入累加器A中。然后累加器A的高端(32~16位)和由pmad寻址得到的Pmem相乘,乘法结果与累加器B相加并存放在累加器B中。在下一个循环中,pmad加1.一旦循环流水线启动,指令成为单周期指令。
7.FFT蝶形运算对输入序列倒序采用何种寻址方式?AR0中应存放什么值? 答:
(1)间接寻址中的位倒序寻址方式。FFT运算主要实现采样数据从时域到频域的转换,要求采样点输入是倒序时,输出是顺序;若输入是顺序,则输出是倒序,采用位倒序寻址方式正好符合FFT算法的要求。
(2)AR0存放的整数值为FFT点数的一半。8.简述主机接口(HPI)的通讯过程。答:
TMS320C54X的主机接口(HPI)是一个8位并行接口,通过8根外部数据线HD(0~7)实现DSP与其他总线或CPU进行通信。当TMS320C54X与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至TMS320C54X。当主机使用HPI寄存器执行数据传输时,HPI控制逻辑自动执行对TMS320C54X内部的双寻址RAM的访问,以完成数据处理。9.进行块重复操作要用到哪几个寄存器?块重复可否嵌套? 答:
RPT:循环执行一条指令
RPTB:循环执行一段指令,即块循环指令(1)进行块重复操作的循环次数由块循环计数器(BRC)确定,需要利用两个寄存器:块重复起始地址寄存器(RSA)、块重复结束地址寄存器(REA)。(2)由于使用了不同的寄存器,因此可以实现循环嵌套。
10.TMS320C54x的CPU主要由哪几个部分构成?它们的功能是什么? 答:
(1)40位算术逻辑运算单元ALU:可完成宽范围的算术、逻辑运算;
(2)2个40位的累加器A和B:可以作为ALU或MAC的目标寄存器存放运算结果,也可以作为ALU或MAC的一个输入;
(3)支持—16~31位移位范围的桶形移位寄存器:用于累加器或数据区操作数的定标,将输入数据进行0~31位的左移和0~16位的右移;
(4)乘法-累加单元MAC:可在一个流水线周期内完成1次乘法运算和1次加法运算;(5)比较。选择和存储单元CSSU:用于完成Viterbi算法中的加法/比较/选择(ACS)操作;
(6)指数编码器EXP:用于支持指数运算指令的专用硬件,可以在单周期内执行EXP指令,求累加器中指数的指数值;
(7)CPU状态和控制寄存器:包括ST0、ST1和PMST,这些寄存器都是存储器映像寄存器,可以很方便对它们进行数据操作:1.将它们快速地存放到数据存储器;2.由数据存储器对它们进行加载;3.用子程序或中断服务程序保存和恢复处理器的状态。
11.已知中断向量TINT=13H,中断向量地址指针IPTR=111H,求中断向量地址是多少?
12.DSP的仿真器的作用是什么? 答:
(1)下载程序;
(2)样机资源可视化,应用程序调试;
(3)控制样机运行方式:单步执行、执行到断点或者全速执行。
第三篇:DSP原理及应用复习总结
DSP芯片的主要结构特点:哈佛结构、专用的硬件乘法器、流水线操作、特殊的DSP指令、快速的指令周期。
中央处理器的体系架构分为:冯·诺依曼结构和哈佛结构 冯·诺依曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。可以减轻程序运行时的访存瓶颈。
基础特性分类:静态DSP芯片、一致性的DSP芯片。数据格式分类:定点DSP芯片、浮点DSP芯片。用途分类:通用型DSP芯片、专用型DSP芯片。处理数据位数分类:16/32位 TMS320F2812芯片封装方式两类:179引脚的GHH球形网格阵列BGA封装、176引脚的LQFP封装。
DSP内部总线分为:地址总线和数据总线。注意:DSP外部总线:即DSP芯片与外扩存储器的总线接口,包括19根地址线和16根数据线。
时序寄存器XTIMINGx主要用于设置读写时序参数;配置寄存器XINTCNF2主要完成选择是种,设置输入引脚状态及写缓冲器深度;控制寄存器XBANK用于设置可增加周期的特定区,以及设置增加的周期数。
命令文件CMD是DSP运行程序必不可少的文件,用于指定DSP存储器分配。由两个伪指令构成,即MEMORY(定义目标存储器的配置)和SECTIONS(规定程序中各个段及其在存储器中的位置)。
28X系列DSP时钟和系统控制电路包括:振荡器、锁相环、看门狗和工作模式选择等
锁相环和振荡器的作用是为DSP芯片中的CPU及相关外设提供可编程的时钟芯片内部的外设分为告诉我社和低速外设,可以设置不同的工作频率看门狗模块用于监控程序的运行状态,它是提高系统可靠性的重要环节。
28xDSP片上晶振电路模块允许采用内部振荡器或外部时钟源为CPU内核提供时钟
DSP处理器内核有16根中断线,包括和NMI两个不可屏蔽中断和INT1至INT14等14个可屏蔽中断(均为低电平有效)。PIE中断系统共分12组,每组有8个中断复用1个CPU中断。采用三级中断机制:外设级、PIE级、CPU级
PIE中断工作原理:当某外设产生中断,IF被置1,IE也被置1,发送到PIE控制器,中断标志PIEIFRx.v被置1,中断请求发送到CPU,CPU级IFR中对应INTx被置1,IER和INTM被使能,CPU响应中断请求。
CPU定时器用户只能用T0,通用定时器是EV中的都可以用;CPU定时器只有周期中断,而EV中的通用定时器可以有上溢中断、下溢中断、周期中断、比较中断四种。
功能控制寄存器:GPxMUX、GPxDIT、GPxQUAL。
数据寄存器:GPxSET寄存器设置每个引脚为高电平;GPxCLEAR清除每个引脚信号;GPxTOGGLE反转触发每个引脚信号;GPxDAT读写每个引脚信号
事件管理器包括:通用定时器、圈比较PWM单元、捕获单元以及正交编码脉冲电路QEP 全比较PWM单元产生脉宽调制信号可以控制直流电机或步进电机的转速;捕获单元对光电编码器的输出信号进行测量可以计算电机的转速;正交编码脉冲电路根据增量编码器信号计算电机的旋转方向等信息。
通用定时器的寄存器:控制寄存器(决定通用定时器的操作模式,例如选择计数模式、时钟、预分频系数、比较寄存器的重装载条件)、全局控制寄存器(规定了通用定时器针对不同时间采取的动作、读取计数方向、定义ADC的启动信号)、比较寄存器(与通用定时器的计数值不断比较,匹配时,相应引脚跳变,请求中断)和周期寄存器(决定定时器的计数周期)是双缓冲的
通用定时器的中断:上溢中断、下溢中断、比较匹配、周期匹配
每个通用定时器都支持4种计数模式:停止/保持模式、连续递增计数模式、定向递增/递减计数模式和连续递增/递减计数模式。
EV模块各有3个全比较器,每个比较器对应两路PWM输出
每个比较单元包括3个比较寄存器CMPRX,各带一个映像寄存器;1个比较控制寄存器;1个动作控制寄存器;6路带三态输出的PWM引脚以及控制和中断逻辑。
较单元的输入包括来自控制寄存器的控制信号,通用定时器1的时钟信号及下溢信号、周期匹配信号和复位信号。比较单元输出信号是一个比较匹配信号,如果比较操作被使能的话,比价匹配信号将中断标志置位,并在对应的PWM引脚上产生跳变。比较单元的工作过程:通用定时器1的计数值不断地与比较寄存器的值进行比较,当发生匹配时,该比较单元的两个输出引脚发生跳变;ACTRA寄存器定义在发生比较匹配时每个输出引脚为高有效电平或低有效电平。
PWM单元对称/不对称波形发生器、可编程死区单元DBU、PWM输出逻辑和空间向量SVPWM状态机组成。ADC模块的特点:12位模数转换内核,内置双采样/保持器;顺序采样模式或并行采样模式;模拟输入电压范围0-3v;快速的转换时间,最高采样率12.5MSPS;16通道模拟信号输入; 并行采样:AdcRegs.ADCTRL3.bit.SMODE_SEL=1;顺序采样为0 双排序AdcTegs.ADCTRL1.bit.SEQ_CASC=0;级联排序为1 AdcRegs.ADCMAXCONV.all=0x0033并双;7并级;77顺双;F顺级 AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0 ADC工作模式:连续模式和启动/停止模式。ADC电源:上电、掉电、关闭模式。
上电顺序:给参考电源上电、给adc内部参考电源电路供电、adc模块完全供电后,等20μs才能执行第一次模数转换。
28x DSP的输入信号电压不能高于3.3V,模拟信号需经过调理后进入DSP的AD转换输入端口,未使用的模数转换器输入引脚,都要连接模拟地,否则会带来噪声信号
电源管理电路设计:多电源正确连接;不允许有电源引脚悬空;减少噪音和互相干扰,数电和模电单独供电,接地也分开,最终通过一个磁珠在单点连接
DSP编程语言特点:c语言:具有良好可读性和可移植性,开发率高;汇编语言:高的运行效率,常用语时间要求比较苛刻的地方,比如终端服务子程序。
头文件的作用:是c语言不可缺少的部分,是用户程序和函数库之间的纽带;头文件使用:用户程序只要按照头文件中的接口声明来调用库功能,编译器就会从库中提取相应的代码 C语言程序框架包含有寄存器结构定义文件、外设头文件、器件的宏与类型定义等,通过使用头外设文件,可以容易控制片内外设。
DSP程序包括:头文件包含、函数声明、宏定义、主函数main()和中断服务子程序
主函数的编程步骤:1初始换系统控制2清除所有中断并初始化PIE向量表3初始化所有用到的外设4开中断5编写用户代码 #include “DSP281x_Device.h”
#include “DSP281x_Examples.h”
interrupt void cpu_timer0_isr(void); void main(void)// {
InitSysCtrl(); DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable(); EALLOW;
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS;InitGpio();InitCpuTimers();
ConfigCpuTimer(&CpuTimer0,100,1000000);
StartCpuTimer0();IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
EINT;
ERTM; …… }
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
第四篇:DSP考试复习总结最终版
第一章 TMS320LF240X 系列芯片的特点: ① 采用高性能 CMOS 技术,使得供电电压降为 3.3V,减少了控 制器的功耗;30MIPS 的执行速度使得指令周期缩短到 33ns(30MHz),从而提高了控制器的实时控制能力。② 基于 TMS320C2XX DSP 的 CPU 核,保证了 F240X 系列 DSP 代码与 TMS320 系列 DSP 代码兼容。③ 片内有高达 32K 字的 FLASH 程序存储器、高达 1.5K 字的数 据/程序 RAM、544 字双口 RAM(DRAM)和 2K 字的单口 RAM(SRAM)④ 两个事件管理器模块 EVA 和 EVB,每个包括:两个 16 位通 用定时器;8 个 16 位脉宽调制通道;3 个捕获单元,片内光电编 码器接口电路,16 通道 A/D 转换器。⑤ 可扩展的外部存储器(LF2407)总共 192K 字空间;64K 程序 存储器空间; 64K 字 I/O 寻址空间; 64K 字数据存储器空间。⑥ 10 位 A/D 转换器最小转换时间为 500ns,可选择由两个事件 管理器来触发的两个 8 通道输入 A/D 转换器或一个 16 通道 A/D 转换器。⑦ 控制器局域网 CAN2.0B; ⑧ 串行通信接口 SCI 模块。⑨ 16 位串行外设 SPI 接口模块; ⑩ 基于锁相环的时钟发生器。11 高达 40 个可单独编程或复用的 I/O 引脚 GPIO; 12 5 个外部中断(两个电机驱动保护、复位和两个可屏蔽中断。13 电源管理包括 3 种低功耗模式,能独立地将外设器件转入低 功耗工作模式。系统配置: 用来对 DSP 片内的功能模块进行用户配置,根据具 体用途来进行模块定制。中断模块:主要包括-中断优先级和 中断向量表、外设中断扩展控制器(PIE)、中断向量、中断响应的 流程、中断响应的时间、CPU 中断寄存器、外设中断寄存器、复 位、无效地址检测、外部中断控制寄存器。TMSLF240x DSP 具有 16 位地址线,可访问三个独立的地址空 间:1)程序存储器空间-64K 字;2)数据存储器空间-64K 字; 3)I/O 空间-64K 字。DSP 引脚从性质上分为:事件管理器 A(EVA)、事件管理器 B(EAB)、A/D 转换器 ADC、CAN SCI SPI、外部中断和时钟、振 荡器、PLL、FLASH、引导程序及其他、仿真和测试、地址、数 据和存储器控制信号、续表、供电电源。第二章 系统控制和状态寄存器 1(SCSR1),SCSR1 映射到数据存储器 空间的 7018h 位15:保留; 位14: CLKSRC,为CLKOUT引脚输出时钟源的选择位,0-CLKOUT 引脚输出CPU时钟;1-CLKOUT引脚输出WDCLK时钟。位13、12:LPM1,LPM0,低功耗模式选择,指明在执行IDLE 指令 后进入哪一种低功耗模式。00-进入IDLE1(LPM0)模式;01-进 入IDLE2(LPM1)模式;1x-进入 HALT(LPM2)模式。位11-9:CLK PS2-CLK PS0,(PLL)时钟预定标选择位,选择输 入时钟频率fin的倍频系数。000-4;001-2;010-1.33;011 -1;100-0.8;101
第五篇:DSP各种知识点总结
DSP芯片的特点:(1).哈佛结构(程序空间和数据空间分开)(2).多总线结构.(3)流水线结构(取指、译码、译码、寻址、读数、执行)(4)多处理单元.(5)特殊的DSP指令(6).指令周期短.(7)运算精度高.(8)硬件配置强.(9)DSP最重要的特点: 特殊的内部结构、强大的信息处理能力及较高的运行速度。2 三类TMS320:(1)TMS320C2000适用于控制领域(2)TMS320C5000应用于通信领域(3)TMS320C6000应用于图像处理 DSP总线结构: C54x片内有8条16位主总线:4条程序/数据总线和4条对应的地址总线。1条程序总线(PB):传送自程序储存器的指令代码和立即操作数。3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所需要的代码 4存储器的分类: 64k字的程序存储空间、64K字的数据存储空间和64K字的I/O空间(执行4次存储器操作、1次取指、2次读操作数和一次写操作数。
5存储器空间分配 片内存储器的形式有DARAM、SARAM、ROM。RAM安排到数据存储空间、ROM构成程序存储空间。(1)程序空间:MP/MC=1
40000H~FFFFH 片外
MP/MC=0 4000H~EDDDH 片外
FF00H~FFFFH 片内 OVLY=1 0000H~007FH 保留
0080H~007FH 片内
OVLY=0 0000H~3FFFH片外(2)数据空间:DROM=1 F000H~F3FFH 只读空间 FF00H~FFFH保留
DROM=0 F000H~FEFFH 片外
6数据寻址方式
(1)立即寻址(2)绝对寻址<两位>(3)累加器寻址(4)直接寻址@<包换数据存储器地址的低7位>优点:每条指令只需一个字(5)间接寻址*按照存放某个辅助寄存器中的16位地址寻址的AR0~AR7(7)储存器映像寄存器寻址(8)堆栈寻址
7寻址缩写语 Smem:16位单寻址操作数 Xmem Ymem 16位双
dmad pmad PA16位立即数(0-65535)scr源累加器 dst目的累加器 lk 16位长立即数
8状态寄存器ST0 15~13ARP辅助寄存器指针 12TC测试标志位 11C进位位 10累积起A的一出标志位OVA 9OVB 8~0DP数据存储器页指针
9状态寄存器ST1 CPL:直接寻址编辑方式
INTM =0开放全部可屏蔽中断 =1关闭
C16 双16位算数运算方式
10定点DSP 浮点DSP:定点DSP能直接进行浮点运算,一次完成是用硬件完成的,而浮点需要程序辅助。
11重复操作:重复执行单条指令,程序块重复操作(可以响应中断)12复位操作:处理器从FF80h处取指 13中断:两大类:(1)可屏蔽:立即响应(2)非屏蔽:(满足下列条件才能响应)①优先级别最高②状态寄存器ST1中的INTM位为0③中断屏蔽寄存器IMR中的相应位为1 三个阶段:(1)接受中断请求(2)响应中断(3)执行中断服务程序
14复位的三种方式:上电复位,手动复位,软件复位
15常用汇编命令:.bss为未初始化的变量保留空间;usect在一个未初始化的有命名的段中为变量保留空间;.data通常包含了初始化的数据;.sect定义已初始化的带命名段,其后的数据存入该段;.text该段包含了可执行的代码;title.接在后面的是程序名;int用来设置一个或多个16位无符号整型常数;word用来设置一个或多个16位带符号整型常数 16.DSP系统的特点:(1)精度高、抗干扰能力强,稳定性好。(2)编程方便、易于实现复杂算法(含自适应算法)。(3)可程控。(4)接口简单。(5)集成方便。
17.CPU部分:①先进的多总线结构(1条程序总线、3条数据总线和4条地址总线)。②位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器。③17×17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算。④比较、选择、存储单元(CSSU):用于加法/比较选择。⑤指数编码器:可以在单个周期内计算40位累加器中数值的指数。⑥双地址生成器:包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)存储器空间
192 K字可寻址存储空间:64 K字程序存储空间、64 K字数据存储空间及64 K字I/O空间 ⑦功能结构上分:运算部件和控制部件 18.累加器:目的寄存器 用来存放从ALU或乘法器/加法器单元输出的数据。19.桶形移位器:立即数;asm,T低6位
20.TMS320C54X有两个通用引脚bio监视外部 xf 握手信号
21.COFF3.公共目标文件格式——COFF COFF的核心概念:使用代码块(段)和数据块(段)编程,而不是指令或数据简单的顺序编写。段的定义:就是在编写汇编语言源程序时,采用的代码块或数据块,它占据存储器的某个连续空间。21.COFF包含的三个缺省段 1text 2data 3bss 22.DSP指令系统:助记符和代数
23.Dsp开发工具:代码生成工具和代码调节工具 24.Dsp按照用途分类:通用型和专用型
AR3+是加2或者减2 25.1狭义理解为数字信号处理器,广义理解为数字信号处理方法
26.程序计数器的直可通过复位操作、顺序执行指令、分支转移、累加器转移、块重复、子程序调用、从累加器调用子程序、中断操作改变
27.MMR写操作流水线冲突时,采用推荐指令和插入空操作指令
28.定时器: 3个16位存储器映射寄存器组成:定时器寄存器(TIM)、定时器周期寄存器(PRD)、定时器控制寄存器(TCR)。
.title “example.asm”
;用双引号括起的源程序名
.mmregs
;定义存储器映射寄存器的替代符号
STACK
.usect “STACK”, 10h
;在数据存储器中留出16个单元作为
;堆栈区,名为STACK
.bss
a, 4
.bss
x, 4
;在数据存储器中空出4个存储单元存放
;变量x1,x2,x3和x4..bss
y, 1
.def
start
;在此模块中定义,可为别的模块引用
.data
;紧跟其后的是已初始化数据
table:
.word 1, 2, 3, 4
;在程序存储器标号为table开始的8个单
.word 8, 6, 4, 2
;元存放初始化数据
.text
;紧跟其后的是汇编语言程序正文
start:
STM
#0, SWWSR
;SWWSR置0,不插等待周期
S
STM
#STACK+10H,SP
;设置堆栈指针
STM
#a, AR1
;AR1指向a的首地址
RPT
#7
;从程序存储器向数据存储器
MVPD
table, *AR1+
;重复传递共8个数据
CALL
SUM
;调用惩罚累加子程序 end:
B
end
;循环等待
SUM:
STM
#a, AR3
;将洗漱的首地址附给AR3
STM
#x, AR4
;降变量x的首地址附给AR4
RPTZ
A, #3
;降累加器清零,重复执行下条指令4次
MAC
*AR3+, *AR4+, A
;乘法累加运算
STL
A, @y
;结果送往变量y的存储单元
RET
.end
;结束汇编,汇编器将忽略
5.堆栈用法:
压入操作:SP先减1,然后再将数据压入栈顶。
弹出操作:数据弹出后,再将SP加1。堆栈设置: size
.set 100 stack.usect “STK”, size
;自定义一个名为STK的保留空间,共100个单元
STM
#stack+size, SP;将这个保留空间的高地址(#stack+size)赋给SP,作为栈底,【例4.14】 对数组x[5]中的每个元素加1。
.bss
x, 5 begin:
LD
#1, 16, B
STM
#4,BRC
;BRC赋值为4
STM
#x,AR4
RPTB
next-1
;next-1为循环结束地址
ADD
*AR4,16,B,A
STH
A,*AR4+ next:
LD
#0, B
…
用next-1作为结束地址是恰当的。如果用循环回路中最后一条指令(STH指令)的标号作为结束地址,若最后一条指令是单字指令也可以,若是双字指令,就不对了。
【例4.15】 编写一段程序,首先对数组x[20]赋值,再将数据存储器中的数组x[20]复制到数组y[20]。
.title “exp15.asm”
.mmregs
STACK
.usect “STACK”, 30h
.bss
x, 20
.bss
y, 20
.data
table:
.word 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
.def start
.text Start:
STM
#x, AR1
RPT #19
MVPD
table, *AR1+;程序存储器传送到数据存储器
STM #x, AR2
STM
#y, AR3
RPT
#19
MVDD *AR2+, *AR3+;数据存储器传送到数据存储器 end:
B end
.end
计算 z=x+y-w LD @x,A ADD @y,A SUB @W, A STL A,@z 计算y=mx+b LD @m,T MPY @x,A ADD @b,A STL A,@y 计算 y=x1*a1+x2*a2 LD @x1,T MPY @a1,B LD @x2,T MAC @a2,B STL B,@y STH B, @y+1 找出最大值,并存放在累加器A中 STM #a,AR1 STM #x,AR2 STM #2, AR3 LD
*AR1+,T MPY *AR2+,A
;第一个成绩累加器A中 Loop LD *AR1+.T
MPY *AR2+,B ;其他乘积在累加器B中
MAX A
;累加器A和B比较,选大的存在A中
BANZ loop,*AR3 ;此循环中共进行三次乘法比较 数组 x【5】={1,2,3,4,5}初始化
.data TBL
.word
1,2,3,4,5
.bss
x,5
.text
STM
#x,AR5
RPT
#4
MVPD
TBL,*AR5+