DSP总结(附程序)1.数字信号处理器也称DSP芯片,是一种特别适合于进行数字信号处理运算的微处理器,主要应用是实时快速地实现各种数字信号处理算法。
2.DSP芯片的主要特点:1。
哈佛结构;2.多总线结构;3.流水线结构;4。
多处理单元;5。
特殊的DSP指令;6.指令周期短;7.运算精度高; 8.硬件配置强3.选择DSP芯片时应考虑的因素:1)DSP芯片的运算速度:这是一项很重要的性能指标,决定系统实时性问题。
运算速度可以用以下几种性能指标来衡量:①指令周期:执行一条指令所需要的时间,通常以毫秒为单位。
② MAC时间:完成一次乘法和一次加法的时间.③ FFT执行时间:运行一个N点FFT程序所需的时间。
④ MIPS:每秒执行百万条指令。
⑤ MOPS:每秒执行百万次操作.⑥ MFLOPS:每秒执行百万次浮点操作.⑦ BOPS:每秒执行十亿次操作。
2)DSP芯片的硬件资源:如片内ROM和RAM的大小,外部可扩展的程序、数据和空间,总线接口和I/O接口等。
3)DSP芯片的运算精度:参加运算的数据字长越长精度越高。
一般DSP字长16位,如TI公司的TMS320系列;有的定点芯片字长为24位,如MOTOLORA公司的MC56001。
浮点芯片为32位。
4)DSP芯片的功耗。
4.TMS320C54x是16位定点数字信号处理器.TMS320C54x的体系结构采用改进的哈佛结构,程序与数据分开存放,内部具有8条高度并行的总线。
片内集成有片内的存储器和片内的外设以及专门用途的硬件逻辑,并配备有功能强大的指令系统,使得该芯片具有很高的处理速度和广泛的应用适应性。
再加上采用模块化设计以及先进的集成电路技术,芯片的功耗小,成本低,自推出以来已广泛地应用于诸如移动通信、数字无线电、计算机网络以及各种专门用途的实时嵌入系统和仪器仪表中。
5.TMS320C54x的硬件结构基本有三大块:1)CPU 包括算术逻辑运算单元、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址生成器以及内部总线;2)存储器系统包括16~24位外接存储器接口、片内的程序ROM、片内单访问的数据RAM和双访问的数据RAM;3)片内的外设与专用硬件电路包括片内的定时器、各种类型的串口、主机接口、片内的锁相环(PLL)时钟发生器以及各种控制电路.6.TMS320C54x的主要特性—-CPU部分1)先进的多总线结构.2)40位算术逻辑单元(ALU)。
3)17位×17位并行乘法器与一个40位专用加法器相连。
4)比较、选择、存储单元(CSSU)。
5)指数编码器可以在单个周期内计算40位累加器中数值的指数。
6)双地址生成器包括8个辅助寄存器和两个辅助寄存器算术运算单元(ARAU)。
7.TMS320C54x的主要特性—-存储器系统(内核中的汇编)具有16位192K字的可寻址空间:1)64 K字程序存储器2)64 K字数据存储器3)64K字I/O空间4)在C548、C549、C5402、C5410和C5420中程序存储器可以扩展。
5)不同型号芯片的片内存储器的结构及容量也不同.8.TMS320C54x的主要特性——在片外设和专用电路⑧可与主机直接连接的8位并行主机接口(HPI),有些产品还包括扩展的8位并行主机接口(HPI8)和16位并行主机接口(HPI16)⑨片内的串口根据型号不同可分为全双工的标准串口、支持8位和16位数据传送、时分多路(TDM)串口、缓冲串口(BSP)以及多通道缓冲串口(McBSP)9.TMS320C54x的主要特性——电源和功耗①可采用5v(C),3.3v(LC),3v(UC)1.8v或2.5v(VC)的超低电压供电②可采用功能下降指令IDLE1、IDLE2和IDLE3控制芯片的功耗.③可控制禁止CLKOUT信号10.’C54x片内存储器简介:(1)片内ROM:1)多用作程序存储空间的一部分;2)2K容量的ROM含一个TI公司定义的引导装入程序,用于将程序;3)快速引导入片内或片外的快速RAM中;4)大容量ROM可划分为数据及程序空间;5)较大的ROM属于通用的ROM,可以利用TI公司提供的合适工具和方法;6)将目标文件格式的代码和数据固化到ROM中。
(2)片内双访问RAM(DARAM):1)DARAM由几个块组成;2)各DARAM块在每个机器周期内可被访问两次;3)常被划分为数据空间存储数据值;4)也可划分为程序空间存储程序代码;5)’C5416片内含64K字程序/数据DARAM,分8块,每块8K字.11.’C54x的外部程序存储器可寻址64K字的存储空间。
他们的片内ROM、双寻址RAM(DARAM)以及单寻址RAN(SARAM),都可以通过软件映像到程序空间。
档存储单元映像到程序空间时,处理器就能自动地对它们所处的地址范围寻址.12.TMS320C54x存储器由3个独立的可选择空间组成:程序空间、数据空间和I/O空间.在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映像外围设备都可以驻留在片内或者片外。
3个空间的总地址范围为192K字。
程序存储器空间存放要执行的指令和执行中所用的系数表,数据存储器存放执行指令所要用的数据。
I/O存储空间与存储映像外围设备接口,可以作为附加的数据存储空间使用.在’C54x中片内存储器的形式有DARAM、SARAM和ROM3种,取决于芯片的型号。
RAM总是安排到数据存储空间,但也可以构成存储空间。
ROM一般构成程序存储空间,也可以部分安排数据存储空间。
’C54x的3个状态位:MP/位、OVLY位和DROM位.13.2K字程序空间(F800H~FFFFH)中包含以下内容(TI公司定义的):1)自举加载程序从串行口、外部存储器、I/O口,或者主机接口自举加载;2)256字律压扩表;3)256字A律压扩表;4)256字正弦函数值查找表;5)中断向量表。
14.CPU(中央处理单元)的基本组成:1)40位算术逻辑单元(ALU)2)2个40位累加器3)一个16~30位的桶形移位寄存器4)乘法器/加法器单元5)比较、选择和存储单元(CSSU)6)指数编码器7)CPU状态和控制寄存器8)两个地址发生器15.40位桶形移位寄存器的输入端来源:(数据来源)1)DB取得16位输入数据;2)DB和CB取得32位输入数据;3)40位累加器A和B。
桶形移位器的功能框图16.程序地址发生器(PAGEN)共有5个寄存器:1)程序计数器(PC)2)重复计数器(RC)3)块重复计数器(BRC)4)块重复起始地址寄存器(RSA)5)块重复结束地址寄存器(REA)17.完整的片内外设配置包括通用I/O引脚、定时器、时钟发生器、主机接口(HPI)、软件可编程等待状态发生器、串行通信接口和可编程存储器切换逻辑等.18.锁相环电路(PLL)通过设定芯片的3个时钟模式引脚CLKMD1、CLKMD2和CLKMD3的电平,可以选择片内振荡时钟与外部参考时钟的倍频.19.软件的时钟频率调节方式灵活方便,可以设置以下两种时钟模式之一:①倍频模式,输入时钟乘以从0。
25~15共31档比例系数之一;②分频模式(DIV),输入时钟CLKIN2分频或4分频.20.HPI接口:TMS320C54x片内都有一个主机接口(HPI),而HPI是一个8位的并行口,用来与主设备或主处理器接口.外部主机是HPI的主控者,它可以通过HPI直接访问CPU的存储空间,包括映像存储器。
21.主机接口(HPI)各功能解释:1)HPI存储器(DARAM) HPI RAM主要用于TMS320C54x与主机之间传送数据,也可以用作通用的双寻址数据RAM或程序RAM。
2)HPI地址寄存器(HPIA)它只能由主机对其直接访问,寄存器中存放当前寻址的存储单元的地址。
3)HPI数据锁存器(HPID)它同HPIA一样只能由主机对其直接访问。
4)HPI控制寄存器(HPIC) TMS320C54x和主机都能对它直接访问,它映像在TMS320C54x数据存储器的地址为002CH.5)HPI控制逻辑用于处理HPI与主机之间的接口信号。
22.HPI的2种工作方式:1)共用访问模式(SAM):常用主机和DSP都能访问HPI存储器;异步工作的主机访问可以在HPI内部重新得到同步;主机和DSP的周期发生冲突时(同时读或写),主机具有访问优先权,DSP等待一个周期.2)仅主机访问模式(HOM):只有主机能访问HPI存储器;主机可以以更快速度访问,与'C54x的时钟速率无关,DSP处于复位状态或所有内部外部时钟都停止的IDLE2空闲状态(最小功耗状态)。
23.中断系统:’C54xDSP及支持软件中断,也支持硬件中断.1)由程序指令(INTR、TRAP或RESET)请求的软件中断;2)由外部物理设备信号请求的硬件中断。
该中断有两种形式:①受外部中断口信号触发的外部硬件中断;②受片内外设电路信号触发的内部硬件中断。
24.中断分类:’C54x DSP可支持16个用户可屏蔽中断(SINT15-SINT0)1)可屏蔽中断对’C5402只使用14个可屏蔽中断,这些硬件名为:① INT3-—INT0;② RINT0、XINT0、RINT1和XINT1(串行口中断)③ TINT、TINT1(定时器中断)④ HPINT(主机接口)DMAC0——DMAC5。
2)非屏蔽中断25.处理中断步骤:1)接收中断请求2)应答中断3)执行中断服务程序(ISR)26.重新映象中断向量地址:C54x的中断向量表是可重新定位的,即在DSP复位时,IPTR=1FFH,中断向量新被映象到程序存储器的第511页,中断向量表的起始地址固定为0FF80H,复位后,此表的起始地址可由用户指定.中断向量可重新被映象到程序存储器的任何一个128字页开始的地方(除保留区域外).中断向量地址由PMST中的中断向量指针IPTR(9位)和中断向量号(0~31)左移两位后组成。
27.第4章与第6、7章结合看,编程题……28.(实现求和的)例6-2 计算.程序如下:().title “example2。
asm”.mmregsSTACK 。
usect “STK”,10H ;堆栈的设置.bss x , 5 ;为变量分配6个字的存储空间。
bss y , 1。
def start。
datatable: .word 10,20,30,40,50 ;x1,x2,x3,x4,x5.textstart: STK #0 , SWWSR ;插入0个等待状态LD #1 , DPSTM # STACK+10H,SP ;设置堆栈指针STM # x,AR1 ;AR1指向xRPT #4MVPD table,*AR1+LD # 0,ACALL SUMend: B endSUM: STM # x,AR3STM # x,AR4Loop: ADD *AR3+,A ;程序存储器BANZ loop,*AR4—STL A,@ yRET.end.tit le “example2.asm”。