DSP技术原理及应用_第1页
DSP技术原理及应用_第2页
DSP技术原理及应用_第3页
DSP技术原理及应用_第4页
DSP技术原理及应用_第5页
已阅读5页,还剩290页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP技术原理及应用,河北工业大学信息工程学院,目录,第1章 绪论 第2章 TMS320C54x的结构原理 第3章 TMS320C54x硬件系统设计 第4章 TMS320C54x指令系统 第5章 DSP软件开发与设计,第一章绪论,要求: 掌握:数字信号处理及数字信号处理器的基本概念和特点。选择dsp芯片的要素。 熟悉:定点DSP的数据格式 了解:现有各种型号DSP芯片的特征及其用途,尤其是TI公司的DSP芯片。数字信号处理器的发展及应用。,第一章绪论,DSP有两种理解:,一、广义的理解:digital signal processing数字信号处理,二、狭义的理解:digital signal

2、 processor数字信号处理器,1.1数字信号处理: 他是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,得到符合需要的信号形式。,在通用的计算机上用软件实现。 在通用计算机系统上加上专用的加速处理机实现。 用通用的单片机实现。 用通用的可编程DSP芯片实现。 用专用的DSP芯片实现。 用/CPLD/FPGA实现。,1、数字信号处理的实现方法:,2、数字信号处理系统的一般组成,抗混叠滤波器将输入信号X(t)中比主要频率高的信号分量滤除,避免产生信号频谱的混叠现象。 A/D将输入的模拟信号转换为DSP芯片可接收的数字信号。 DSP芯片对A/D输出

3、的信号进行某种形式的数字处理。 D/A经过DSP芯片处理的数字样值经D/A转换为模拟量,然后进行平滑滤波得到连续的模拟信号。,3、数字信号处理系统的一般设计过程,1.2 数字信号处理器DSP,DSP:是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。,1.DSP的主要特点:,哈佛结构 :,冯诺曼结构:将指令、数据存储在同一个存储器中,统一编址,译码指令计数器提供的地址来区分是指令还是数据。取指令和取数据都访问统一存储器,数据吞吐率低。,基本哈佛结构:程序和数据存储在不同的存储空间,程序存储空间和数据存储空间是两个相互独立的存储空间,每个存储空间独立

4、编址,独立访问。,冯诺曼结构,基本哈佛结构,改进哈佛结构,多总线结构 对DSP来说,总线越多,可以完成的功能就越复杂。 流水线结构 如四级流水线的操作图:,DSP主要特点续,多处理单元 DSP内部一般都包括有多个处理单元,如算术逻辑运算单元(ALU)、辅助寄存器运算单元(ARAU)、累加器(ACC)以及硬件乘法器(MULT)单元等。它们可以在一个指令周期内同时进行运算。,利用这种流水线结构,加上执行重复操作,保证了数字信号处理中用得最多的乘法累加运算可以在单个指令周期内完成。,DSP主要特点续,特殊的DSP指令 在DSP的指令系统中,设计了一些特殊的DSP指令。例如TMS320C54x中的FI

5、RS和LMS指令,则专门用于系数对称的FIR滤波器和LMS算法。,指令周期短 DSP广泛采用亚微米CMOS制造工艺,如TMS320C54x,其运行速度可达200MIPS。 TMS320C55x,其运行速度可达400MIPS。 TMS320C6414T的时钟为1GHz,运行速度达到8000 MIPS。,运算精度高 DSP的字长有16位、24位、32位。为防止运算过程中溢出,累加器达到40位。此外,一批浮点DSP,例如TMS320C3x、TMS320C4x、 TMS320C67x、 TMS320F283x、 ADSP21020等,则提供了更大的动态范围。,DSP主要特点续,硬件配置强 新一代DSP

6、的接口功能愈来愈强,片内具有定时器、串行口、主机接口(HPI)、DMA控制器、软件控制的等待状态产生器、锁相环时钟产生器、A/D转换以及实现在片仿真符合IEEE 1149.1标准的测试仿真接口,使系统设计更易于完成。 (9) 低功耗 许多DSP芯片都可以工作在省电方式,大大降低了系统功耗。,2、DSP的分类,按基础特性分:DSP芯片的工作时钟(主频)和指令类型,DSP的分类有三种方式:按基础特性分、按数据格式分、按用途分,静态DSP芯片:该类型在某时钟频率范围内都能正常工作,除计算速度有变化外,没有性能上的下降。如日本OKI电器公司的DSP和TI公司的TMS320C2XX系列;,一致性DSP:

7、两种或更多的DSP芯片,其指令集、机器代码及管脚结构相互兼容。如美国TI公司的TMS320C54X。,2、DSP的分类(续), 按数据格式分:DSP对数据的处理有两种格式:定点数据格式和浮点数据格式。,定点DSP芯片:数据以定点格式参加运算。 浮点DSP芯片:数据以浮点格式参加运算。不同浮点DSP所采用的浮点格式可能不同。,按用途分: 通用型:适合普通的DSP应用。 专用型:为特定的功能、运算而设计的。如数字滤波、卷积、FFT等。如TMS320C24x适合自动控制;MOTOLORA公司的DSP56200专用于数字滤波。,3、DSP的选择,选择DSP芯片时应考虑如下几个因素:,DSP芯片的运算速

8、 度:运算速 度可以 用 以 下几种性能指标来衡量; 指令周期:即执行一条指令所需要的时间,通常以ns为单位。 MAC时间:即完成一次乘法和一次加法时间。 FFT执行时间:即运行一个N点FFT程序所需时间。 MIPS:每秒执行百万条指令。 MOPS:每秒执行百万次操作。 MFLOPS:每秒执行百万次浮点操作。 BOPS:每秒执行十亿次操作。 DSP芯片的硬件资源; DSP芯片的运算精度:参加运算的数据字长越长精 度 越高。 DSP芯片的功耗; DSP芯片的开发工具; DSP芯片的价格;DSP芯片发展迅速,价格下降也很快。 其它。封装形式、质量标准、供货情况、生命周期等。,1.3 定点DSP的数

9、据格式,在定点处理器中,数据采用定点表示方法,定点表示并不意味着就一定是整数表示。 它有两种基本表示方法:整数表示方法和小数表示方法。 整数表示方法主要用于控制操作、地址计算和其他非信号处理的应用。 小数表示方法则主要用于数字和各种信号处理算法的计算中。,8位定点整数表示方法:,8位定点小数表示方法:,结果=2-1+2-2+2-3=0.875,结果=26+24+22+21+20=87,定点数的表示法,定点数最常用的是Q表示法,或Qm.n表示法。n表示数的2补码的整数部分;m表示数的2补码的小数部分;1位符号位;数的总字长为m+n+1位。表示数的整数范围为(-2n 2n-1),小数的最小分辨率为

10、2-m 。,几种常用的Q表示法的格式:,0.15 格式:Q0.15 格式的字长为16位。,定点数的整数形式。最高位为符号S,接下来的Ix为15位2补码的整数 ,表示数的范围为(-215215-1),最小的分辨率为1。,12.3格式: Q12.3 格式的字长为16位。,最高位为符号S,接下来的3位为2补码的整数位,高位在前,后面的12位为2补码小数位。Q12.3格式表示数的大致范围为(-8,7),小数的最小分辨率为2-12 。,Q15格式 Q15格式的字长为16位,其每位的具体表示如下:,最高位为符号S,接下来的为2补码的15位小数位,小数点紧接着符号位,无整数位。 Q15格式表示数的范围为(-

11、1,1),小数的最小分辨率为2-15 。 对于16位的定点处理器TMS320C54x来说,Q15是在程序设计中最常用的格式。TI公司提供的数字信号处理应用程序库DSPLIB就主要采用这种数据格式。,定点数格式的选择,定点格式表示数的范围和数据的精度是确定的。表示数的范围越大,数据的精度越低,也就是说,数的范围与精度是一对矛盾。对16位的数据来说,动态范围最大的格式为整数Q.15,精度(或分辨率)最高的格式为Q15。,定点格式的选择实际上就是根据Qm.n表示方法确定数据的小数点位置。,定点格式数据的转换,有2种转换的方法:,若数已经是某种动态范围较小的Qm.n格式,为了与动态范围较大的Qm.n格

12、式数进行运算,则可根据运算结果的动态范围,直接将数据右移,将数据转换成结果所需的Qm.n格式,这时原来格式的最低位将被移出,高位则进行符号位扩展。这在某些情况下会损失动态范围较小的格式的数据的精度。,若十进制数没有表示成任何形式的二进制数,则要表示成Qm.n格式。 先将数乘以2n变成整数,然后再将整数转换成相应的Qm.n格式。,例如设y=-0.625,若要表示成Q.15格式,先将-0.625乘以215 得到-20480,再将-20480表示成2的补码数B000H,这也就是-0.625的Q.15格式表示;若要将-0.625表示成Q12.3格式,则将-0.625乘以212 得到-2560,表示成2

13、的补码数为F600H,这也就是-0.625的Q12.3格式表示。,例如,若5.625+0.625=6.25,5和结果6.25需要采用Q12.3格式才能保证其动态范围,若0.625原来用Q15格式表示,则需要先将他表示成Q12.3后,再进行计算,自然,最后的结果也为Q12.3。,1.4 DSP芯片的发展及应用,1、DSP的发展史 20世纪60年代以前,数字信号处理技术是一门应用十分狭窄的技术,只能应用在导弹和语音识别等有限的几种系统中。60年代中期快速傅立叶算法的出现和大规模集成电路的发展,奠定了硬件完成数字信号处理算法和数字信号处理理论实用化的重要技术基础。 DSP的发展分三个阶段 第一阶段(

14、1980年前后):DSP雏形阶段 第二阶段(1990年前后):DSP成熟阶段 第三阶段(2000年至今) :DSP完善阶段,2、DSP的技术展望,1)系统级集成DSP是潮流 2)可编程DSP是主导产品 3)追求更高的运算速度 4)定点是主流,3、DSP的应用,信号处理系统:数字滤波(FIRIIR)、自适应滤波器、快速付立叶变换、相关运算、谱分析、卷积、加窗、波形产生等。 通信:调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、多路复用、波形产生等。 语音:语音编码、语音合成、语音识别、语音增强、语音邮件、语音存储等。 图形/图像:二维/三维图形处理、图像压缩与传输、图像增强、动画、机器人视

15、觉等。 军事:保密通信、雷达处理、声纳处理、导航、导弹制导等。 仪器仪表:频谱分析、函数发生、锁相环、地震处理等。 自动控制:引擎控制、声控、自动驾驶、机器人控制、磁盘控制等。 医疗:助听、超声设备、诊断工具、病人监护等。 家用电器:高保真音响、音乐合成、音调控制、玩具与游戏、数字电话/电视等。,DSP/多核处理器主要的生产厂家,TI (德仪): Zilog: ADI: Agere: Freescale: LSI Logic: ST(意法半导体) : Lucent(朗讯): Analog Device(模拟器件): Motorola: Samsung: Microchip: Intel: AM

16、D: ,1.5 TMS320系列DSP发展概述(TI公司),C2000 DSP,以达到0.05mW/MIPs的最低 功耗性能比而具有最长的电池 寿命。 最佳的代码密度 兼容C54x DSP软件,工作频率将达到1.1GHz 最好的DSP编译器, 便于 使用 兼容C62x DSP软件,可扩展性能达到400MIPs 最佳的C/C+ 控制代码效率 兼容C24x DSP软件,C5000 DSP,C6000 DSP,德州仪器强大的通用DSP平台,Motor Control DSP,Personal DSP,Broadband Infrastruc-ture DSP,C2000系列DSP产品规划,TMS32

17、0LF2407DSP与TMS320C28x DSP的方框图,TMS320C28x是到目前为止用于数字控制领域性能最好的DSP芯片。32位的定点DSP核,最高速度可达400MIPS,可以在单个指令周期内完成3232位的乘累加运算,具有增强的电机控制外设、高性能的模/数转换能力和改进的通信接口,具有8GB的线性地址空间,采用低电压供电(3.3V外设/1.8V CPU核),与TMS320C24x源代码兼容。该系列芯片已投放市场。,C5000系列DSP产品规划,TMS320C5000系列特性比较,C6000系列DSP产品规划,OMAP,TI增强型ARM 925,TI的TMS320C55x DSP,DS

18、P/BIOS Bridge,用户接口 先进的操作系统,MPEG 4编解码器 H263 编解码器,AMR 编解码器 MP3 编解码器,非实时任务,OMAP平台对数字信息终端的意义,实时任务,所针对多媒体应用 无线视频和图像处理 无线高级语音应用 无线音频处理 图形和视频显示加速处理 因特网网页生成接入 无线数据处理 全球卫星定位系统 (GPS ) 短距离无线通信应用 (SDW) ARM 和DSP 操作系统,第二章TMS320C54x的结构原理,掌握: TMS320C54X的总线结构、存储器系统;CPU存储器映射寄存器状态寄存器 熟悉:CPU的组成,TMS320C54X的内部结构 了解:TMS32

19、0C54X的主要特性,第二章TMS320C54x的结构原理,2.1 TMS320C54x的内部结构及主要特性,2.1.1 TMS320C54x的内部结构,(1)CPU:包括算术逻辑单元、乘法器、累加器、移位寄存器、各种专门用途的寄存器、地址发生器、比较选择单元、指数编码器以及内部总线;,(3)片内的外设:包括片内的定时器、各种类型的串口、主机接口、片内的锁相环(PLL)时钟发生器以及各种控制电路; JTAG接口。,(2)存储器系统:包括1624位外接存储器接口、片内的程序ROM、片内的单访问的数据RAM和双访问的数据RAM;,2.1.2 TMS320C54x的主要特性,CPU 先进的多总线结构

20、,具有1条程序存储器数据总线、3条数据存储器数据总线和4条地址总线; 40位算术逻辑单元(ALU),包括40位的桶形移位寄存器和2个独立的40位的累加器; 17位乘17位的并行乘法器与一个40位的专用加法器结合在一起,用于单周期乘累加操作; 比较、选择和存储单元(CSSU),用于Viterbi操作(一种通信的编码方式)中的加/比较选择; 指数编码器用于在单周期内计算40位累加器的指数值; 2个地址生成器,包括8个辅助寄存器和2个辅助寄存器算术单元。,2.1.2 TMS320C54x的主要特性续,(2) 存储器系统 具有16位192 K的基本可寻址空间:64 K字程序空间,64 K字数据和64

21、K字的I/O空间; 片内的存储器结构及容量根据芯片的型号有所不同(见表2-1) (3) 在片外设和专用电路 软件可编程等待状态发生器; 可编程的存储器体转换逻辑; 片内的锁相环(PLL)时钟发生器,可采用内部振荡器或外部的时钟源; 外部总线关断控制电路可用来断开外部数据总线、地址总线和控制信号; 数据总线具有数据保持特性; 可编程的定时器; 直接存储器访问(DMA)控制器; 可与主机直接连接的8位并行主机接口(HPI),有些产品(见表2-1)还包括:扩展的8位并行主机接口(HPI8)和16位并行主机接口(HPIl6); 片内的串口根据型号不同分以下类型(见表2-1): 全双工的标准串口,支持8

22、位和16位数据传送、时分多路(TDM)串口、缓冲串口(BSP)以及多通道缓冲串口(McBSP)。,2.1.2 TMS320C54x的主要特性续,(4) 片内的引导功能 除TMS320C5420外,所有的芯片都具有片内的引导功能,能从片外的存储器将程序引导装入指定的存储器位置。 (5) 指令系统 单指令重复和块重复操作指令; 用于程序和数据管理的存储器块传送指令; 32位长操作数指令; 同时读入2个或3个操作数的指令; 并行存储和装入的算术指令; 条件存储指令; 快速从中断返回的指令; 具有延迟转移和调用指令; 指令的执行采用指令预提取、指令提取、指令译码、访问操作数、读取操作数、执行等6级流水

23、线并行结构,大大提高了指令的执行速度。,2.1.2 TMS320C54x的主要特性续,(6) 执行速度 单指令周期时间分为:25/20/15/12.5/10 ns; 每秒指令数:40/50/66/80/100/200 MIPS。 (7) 电源和功耗 可采用5 V,3.3 V,3.3 V和1.8或3.3 V和2.5 V的超低电压供电,在型号中分别用C、LC 、UC和VC指明,如,TMS320C54x,TMS320LC54x和TMS320UC54x; 可采用功耗下降指令IDLE 1,IDLE 2和IDLE 3控制芯片的功耗; 可控制禁止CLKOUT信号。 (8) 片内的仿真功能 具有符合IEEE

24、1149.1标准的在片仿真接口,可与主机连接,用于系统芯片开发应用。,2.2总线结构,C54x片内有8条16位总线:4条程序数据总线和4条地址总线。,3组数据总线(CB、DB和EB):CB和DB传送读自数据存储器的操作数, EB传送写到数据存储器的数据。 CB:双数据读、长数据读(32位)读高16位 DB:单数据读、双数据读、长数据(32位)读低16位、外设读,4组地址总线(PAB、CAB、DAB和EAB):传送执行指令所需的地址。,C54x还有一条在片双向总线,用于寻址片内外围电路。这条总线通过CPU接口中的总线交换器连到DB和EB。利用这个总线读/写,需要2个或2个以上周期,具体时间取决于

25、外围电路的结构。,程序总线(PB):传送取自程序存储器的指令代码和立即操作数。,2.3存储器系统,C54x总的基本存储空间为192 K字,分成3个可选择的存储空间:,64K字的程序存储空间:,64 K字的数据存储空间:,64 K字的IO空间:,存放要执行的指令和执行中要用到的系数表,存放各种数据,用于映射外围设备接口,每64K字可分为512页,每页128字。,在C54x中,片内存储器的型式有DARAM、SARAM和ROM三种:,片内ROM:,片内ROM是程序存储器空间的一部分,有时部分也可用作数据空间的一部分。各类器件的片内ROM容量不同,如表2-3所列。,片内双操作RAM(DARAM):,D

26、ARAM由几个块组成。CPU可在一个周期内对同一DARAM块进行两次读或写操作。DARAM通常划分为数据空间,且主要用于存储数据值;有时也可划分为程序空间,用于存储程序代码。,存储器系统续,片内单操作RAM(SARAM),SARAM也是由几个块组成。一个SARAM块在每个机器周期只可被访问一次,进行读或写操作。SARAM通常被划分为数据空间,且主要用于存储数据值;有时也可被划分为程序空间,用于存储程序代码。,C54x片内存储器映射到程序或数据存储空间通过处理器工作方式状态寄存器(PMST)的3个状态位MP/ MC 、OVLY位、DROM位控制:,OVLY位 若OVLY=1,则片内RAM安排到程

27、序和数据空间; 若OVLY=0,则片内RAM只安排到数据存储空间。,C5402的数据和程序存储器映射图,以及MP/ 、OVLY和DROM 3个状态位的关系:,注意:若用户需要运行BOOT引导程序应选用微计算机模式,C5402片内4K 字ROM区间分配,C5402片内4K 字ROM由TI公司定,不能用来存储用户程序,3、存储器映射寄存器,存储器映射寄存器有两种:,26个CPU内部寄存器、片内外设寄存器,它们被映射在数据存储器的第0页:0000H005BH地址段,寻址存储器映射CPU寄存器操作不需要插入等待周期。 片内外设寄存器用于对片内外设 的控制和存放数据,对它们操作需要2个机器周期。,26个

28、CPU内部寄存器见表2-6所示。暂时不细讲,随遇到随讲,2.3.4 I/O空间,C54x有一个独立编址的I/O存储器空间。它是一个64K字的地址空间(0000hFFFFh),都在片外。 访问I/O是对I/O映射的外部器件进行访问,只有两条指令可以对其寻址: PORTR(读I/O设备)、PORTW(向I/O设备写),PORTR 1000H,*AR1 PORTW *AR1,1000H,2.4中央处理单元CPU,CPU有以下几部分组成: 40位算术逻辑运算单元(ALU); 2个40位累加器; 一个1630位的桶形移位寄存器; 乘法器/加法器单元; 比较、选择和存储单元(CSSU); 指数编码器; C

29、PU存储器映射寄存器; 两个地址发生器;,2.4.1 CPU状态和控制寄存器,C54x有3个状态和控制寄存器: 状态寄存器0(ST0); 状态寄存器1(STl); 处理器工作方式状态寄存器(PMST)。,1、状态寄存器 ST0和ST1 : ST0主要反映寻址要求和计算的中间运行状态。其各位定义如下:,ST0各位的含义,ARP:辅助寄存器指针,用于间接寻址单操作数的辅助寄存器的选择。当DSP处于标准运行方式时(CMPT0),ARP0。,TC:测试控制标志。用来保存ALU的测试位操作结果。同时,可以由TC的状态(0或1)控制条件分支的转移和子程序调用,并判断返回是否执行。BC 2000H,TC(N

30、TC);TC=1 或 TC=0,C:进位标志。加法进位时,置1。减法借位时,清0。当加法无进位或减法无借位的情况下,完成一次加法此标志位清0,完成一次减法此标志位置1。带16位移位操作的加法只能对它置位,而减法只能清0。此时,加减操作不影响进位标志。(C 或NC),OVA:累加器A的溢出标志。当ALU运算结果送入累加器A且溢出时,OVA置l。运算时一旦发生溢出,OVA将一直保持置位状态,直到硬件复位或软件复位后方可解除此状态。(AOV或ANOV),OVB:累加器B的溢出标志。当ALU运算结果送入累加器B且溢出时,OVB置1。运算时一旦发生溢出,OVB将一直保持置位状态,直到硬件复位或软件复位后

31、方可解除此状态。(BOV或BNOV),ST0各位含义续,DP:数据存储器页指针。DP的9位数作为高位将指令中的低7位作为低位结合,形成16位直接寻址方式下的数据存储器地址。这种寻址方式要求STl中的编译方式位CPL0,DP字段可用LD指令加载一个短立即数或从数据存储器加载。,ST1主要反映寻址要求、计算的初始状态设置、IO及中断控 制 。其各位定义如下:,例:LD #1 , DP,ST1各位含义,BRAF:块重复操作标志。此标志置位表示正在执行块重复操作指令。此位清零表示没有进行块操作。,CPL:直接寻址编辑方式标志位,标志直接寻址选用何种指针。此位置位CPL1表示选用堆栈指针(SP)的直接寻

32、址方式。此位清零CPL0表示选用页指针(DP)的直接寻址方式。,XF:XF引脚状态控制位,控制XF通用外部IO引脚输出状态。可通过软件置位或清零控制XF引脚输出电平。,HM:芯片响应HOLD信号时,CPU保持工作方式标志。此位置位表示CPU暂停内部操作。此位清零标志CPU从内部存储器取指继续执行内部操作,外部地址、数据线挂起,呈高阻态。,本次课要求,1掌握:CPU存储器映射寄存器状态寄存器及处理器方式寄存器、地址发生器。 2熟悉:CPU的组成 3了解:组成CPU的各部分的功能,ST1各位含义,OVM:溢出方式控制位。确定溢出时,累加器内容加载方式。此位置位(OVM=1)时,ALU运算发生正数溢

33、出,目的累加器置成正的最大值(007FFFFFFFH);发生负数溢出置成负的最大值(FF80000000H)。此位清零(OVM=0)直接加载实际运算结果。此位可由指令SSBX和RSBX置位或清零。,SXM:符号位扩展方式控制位,确定符号位是否扩展。SXM1表明数据进入ALU之前进行符号位扩展。SXM0表示数据进入ALU之前符号位禁止扩展。此位可由指令SSBX和RSBX置位或清零。,C16:双16位双精度算术运算方式控制位。此位置位C161表示ALU工作于双16位算术运算方式。此位清零C160表示ALU工作于双精度算术运算方式。,FRCT:小数方式控制位。此位置位(FRCT1)乘法器输出自动左移

34、1位,消去多余的符号位。,ST1各位含义,CMPT:间接寻址辅助寄存器修正方式控制位。此位置位CMPT1,除AR0外,当间接寻址单个数据存储器操作数时,可通过修正ARP内容改变辅助寄存器ARl一AR7的选择。此位清零CMPT0,ARP必须清零,且不能修正。,注意:1、ST0、ST1中某一位若可以复位或置位,均可用指令 RSBX 和 SSBX。 2、对其中几位赋值均可用LD指令,如 LD #立即数,DP(ASM,IPTR),ASM:累加器移位方式控制位。占5位,规定从-16至15的移位数(2的补码),可以用LD指令(短立即数)对ASM加载。,微处理器/微型计算机工作方式位MP/MC MP/MC0

35、 :微计算机模式, 允许使能并寻址片内ROM MP/MC1:微处理器模式, 不能利用片内ROM 复位时,采样MP/MC引脚上的逻辑电平,并且将MP/MC位置成此值。直到下一次复位,不再对MP/MC引脚再采样。RESET指令不影响此位。MP/MC位也可以用软件的办法置位或复位,2. 处理器工作模式状态寄存器PMST,IPTR:中断向量指针;指示中断向量所驻留的128字程序存储器的位置。在自举加载操作情况下,用户可以将中断向量重新映象到RAM。,2、处理器工作模式状态寄存器PMST(续),OVLY:RAM重复占位位。OVLY可以允许片内双寻址数据RAM块映射到程序空间。 OVLY0 只能在数据空间

36、而不能在程序空间寻址片内RAM OVLY1 片内RAM可以映象到程序空间和数据空间,但是数据页0(0h7Fh)不能映象到程序空间,AVSI:地址可见位。AVIS允许/禁止在地址引脚上看到内部程序空间的地址线。 AVIS=0,外部地址线不能随内部程序地址一起变化。控制线和数据不受影响,地址总线受总线上的最后一个地址驱动。 AVIS=1, 让内部程序存储空间地址线出现在C54X的引脚上,从而可以跟踪内部程序地址。而且,当中断向量驻留在片内存储器时,可以连同IACK引脚一起对中断向量译码,2、处理器工作模式状态寄存器PMST(续),DROM:数据ROM位。DROM可以让片内ROM映象到数据空间。DR

37、OM位的值为: DROM=0 片内ROM不能映象到数据空间 DROM=1 片内ROM的一部分映象到数据空间,CLKOFF:CLKOUT时钟输出关断位。 CLKOFF1时,CLKOUT的输出被禁止,且保持为高电平,SMUL:乘法饱和方式位。 SST:存储饱和位 仅LP器件有这两个状态位,所有其它器件上此位均为保留位。,2.4.2算术逻辑单元ALU,X输入端的数据: 移位器的输出(32位或16位数据存储器操作数以及累加器中的数值,经移位器移位后输出)。 来自数据总线DB的数据存储器操作数。,Y输入端的数据: 累加器A中的数据。 累加器B中的数据。 来自数据总线CB的数据存储器操作数。 T寄存器中的

38、数据。,ALU控制信号: SXM:当状态寄存器STl的SXM0时,则不包含数据存储器操作数的位添0;当SXM1时,则不包含数据存储器操作数的位进行符号位扩展。 C16:状态寄存器STl的C16=1,ALU在单个周期内可以进行特殊的双16位算术运算。 OVM:OVM=0,则累加器直接加载ALU的结果。 OVM=1,则根据溢出方向,用32位最大正数 00 7FFFFFFFh(正向溢出)或最大负数FF 80000000h(负向溢出)加载累加器。 溢出发生后,相应的溢出标志位(OVA或OVB)置1,直到复位或执行溢出条件指令或溢出标志位(OVA/OVB)被清除。,2.4.3累加器A和B,累加器A和B都

39、可以配置成乘法器/加法器或ALU的目的寄存器。,40位的累加器A、B可以分成三部分分别映射在数据存储空间的0页:,AL:8H,AH:9H,AG:AH,BL:BH,BH:CH,BG:DH,1、累加器的作用: 累加器A和B都可以配置成乘法器/加法器或ALU的目的寄存器。 提供ALU的另一个输入 可作为乘法器(只有A)/加法器的输入,2、A、B操作: AL、AH、AG、BL、BH、BG都可以用PSHM、POPM指令进行堆栈操作。 A、B装载数据可用LD指令 A、B数据保存可以利用STH、STL、STLM和SACCD等指令或者用并行存储指令。 在存储前可以对累加器的内容进行移位操作。右移时,AG和BG

40、中的各数据位分别移至AH和BH;左移时,AL和BL中的各数据分别移至AH和BH,低位添0。,2.4.3累加器A和B续,例如:假设累加器AFF 4321 1234h,执行带移位的STH和STL指令后,数据存储单元TEMP中的结果如下: STH A,8,TEMP ;TEMP=2112h STH A,-8,TEMP ;TEMP=FF43h STL A,8,TEMP ; TEMP=3400h STL A,-8,TEMP ;TEMP=2112h,LD #1234,A PSHM A POPM A,累加器移位和循环移位 累加器移位或循环移位的指令共有如下6条: SFTA(算术移位) SFTL(逻辑移位) S

41、FTC(条件移位) ROL(累加器循环左移) ROR(累加器循环右移) ROLTC(累加器带TC位循环左移),2.4.4桶形移位器,桶形移位器(40位)用来为输入的数据进行定标,可以进行以下操作: ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标; 对累加器的值进行算术或逻辑移位; 对累加器归一化处理; 对累加器的值存储到数据存储器之前进行定标。,40位桶形移位器的输入端来自: DB,取得16位输入数据; DB和CB,取得32位输入数据; 40位累加器A或B。,40位桶形移位器的输出端接至: ALU的一个输入端; 经过MSW/LSW(最高有效字/最低有效字)写选择单元至EB总线。,

42、2.4.4桶形移位器续,桶形移位寄存器的控制: 1、操作数带符号位不带符号位扩展控制:ST1寄存器的SXM位: 当SXM1时,执行符号位扩展。 2、移位位数的控制: 指令中的移位数就是移位的位数。正值表示左移,负值表示右移。移位数可以用以下方式定义: 指令操作数中给定的一个4或5位的立即数值表示一个移位数值,范围为(-1615)。 状态寄存器STl的累加器移位方式(ASM)位,共5位,表示一个范围为 -1615的移位数。 T寄存器中最低6位的数值表示一个范围为-1631的移位数。,例如: ADD A,-4,B ;累加器A右移4位后加到累加器B ADD A,ASM,B ;累加器A按ASM规定的移

43、位数移位后加到累加器B NORM A ;按T寄存器中的数值对累加器归一化,可移位位数的最大范围是-16 31,2.4.5 乘法器/加法器单元,硬件乘法器是17位*17位,它与一个40位专用加法器相连。乘法器/加法器单元可以在一个流水线状态周期内完成一次乘法累加(MAC)运算。,乘法器能够实现如下方式乘法运算: 有符号数乘法,每个16位操作数扩展成17位有符号数; 无符号数乘法,每个16位操作数前面加一个0; 无符号数与有符号数,一个16位操作数前面加一个0,另一个16位操作数符号扩展成17位有符号数。相乘运算。,2.4.5 乘法器/加法器单元,乘法器的输入信号: 乘法器的输入端包括输入端XM和

44、输入端YM。 输入端XM数据来自: T寄存器。 累加器A的3216位。 DB总线传送过来的数据存储器操 作数。 输入端YM的数据来自: 累加器A的3216位 由DB总线和CB总线传送过来的数据存储器操作数 由PB总线传送过来的程序存储器操作数。, 乘法器的输出: 乘法器的输出加到加法器的输入端XA,累加器A或B则是加法器的另一个输入。最后结果送往目的累加器A或B。,2.4.5 乘法器/加法器单元,乘法器/加法器的控制: 1、乘法器工作控制:状态寄存器STl中的FRCT位1时,小数相乘方式,乘法结果左移1位,以消去多余的符号位。FRCT=0时,整数相乘方式。,2、乘法运算的饱和处理 : 当SMU

45、L1时,在用MAC或MAS指令进行累加或减以前,对乘法结果作饱和处理。 仅当OVM=1和FRCT1时,SMUL位才起作用,3、加法运算的饱和处理 : 当OVM1时,在用MAC或MAS指令进行累加或减以后,对加法减法结果作饱和处理,然后保存到累加器A或B。 ALU运算发生正数溢出,目的累加器置成正的最大值(007FFFFFFFH);发生负数溢出置成负的最小值(FF80000000H) 如果发生溢出则ST1的OVA位或OVB位置1。,4、乘加结果的舍入(圆整)处理: 如MAC、MAS等指令,如果带后缀R,就对结果进行舍入处理,即加215至结果,并将目的累加器的低16位清0。,2.4.6 比较、选择

46、和存储单元,CSSU可对累加器的高位字和低位字进行比较,使状态寄存器ST0中的测试位/控制标志位(TC)和暂存寄存器TRN保持传送纪录状态,并选取累加器中最大的数送至数据存储器中。加速Viterbi蝶形运算。,从左图可见CMPS指令只能对A或B累加器操作。,例如:CMPS A ,*AR1 ;if(A(31-16)A(15-0) then ;A(3116)(*AR1);TRN1;0TRN(0);0TC ;Else A(150)(*AR1);TRN1;1TRN(0);1TC,2.4.7 指数编码器,指数编码器是一个专用硬件,专门用于在单个周期内执行EXP指令,并将累加器中数的指数值以2的补码形式(

47、-1631)存放到T寄存器中。,例如: LD #5H,A EXP A ;(冗余符号位 - 8)T寄存器, ;冗余符号位=40 - 包含一位符号位的有效位数, ;T=001CH(28) NORM A ;对累加器归一化(A按T中值移位,左移28位) ;A=00 5000 0000H,EXP指令:将累加器的内容取指数值,也就是为消去多余符号位而将累加器中的数值左移的位数。结果以补码形式存入T寄存器(bit0-bit5),其值的范围为-16到31),针对编码器有两条指令:EXP指令和NORM指令,NORM指令:对累加器归一化(累加器按T中值移位),2.4.8地址发生器,C54X有两个地址发生器:程序地

48、址发生器、数据地址发生器。,1、数据地址发生器:数据地址发生器为存入数据存储器的信息操作产生地址。,组成: AR0到AR7 八个辅助寄存器 ARAU0和ARAU1辅助寄存器算术单元 (可在每个周期产生两个数据存储器地址) BK循环缓冲寄存器 ST1的bit(15-13)ARP用于选择辅助寄存器AR0-AR7 DP数据存储器页指针 SP堆栈指针寄存器,2.4.8地址发生器续,程序地址发生器 :为程序存储器的信息操作产生地址。,组成:共有6个寄存器: 程序计数器(PC):PC中保存的某个内部或外部程序存储器的地址,就是即将取指的某条指令、某个16位立即操作数或系数表在程序存储器中的地址。 重复计数

49、器(RC):内容为重复指令RPT后边的操作数(自动装载)。 RPT #n 块重复计数器(BRC):设置程序代码块重复执行的次数。 STM #立即数,BRC 块重复起始地址寄存器(RSA): 块重复指令RPTB后边第一条指令的地址(自动装载) 块重复结束地址寄存器(REA): 内容为块重复指令RPTB的操作数(自动装载) REA装入的同时, ST1(BIT15)BRAF=1 。RPTB pmad 扩展程序计数器(XPC):用以寻址扩展的程序存储空间。 C548以上的芯片有,有6条专用扩展程序空间寻址指令 FB extpmad; extpmad (15-0)PC, extpmad (19-16)X

50、PC,加载PC的几种途径,2.5片内外设,C54x 片内外设包含如下几部分:,外部总线操作; 通用I/O口(引脚); 定时器; 时钟发生器; 主机接口; 同步串行接口; 时分复用串行接口(TDM); 软件可编程等待状态发生器; 可编程存储器组切换模块。 (10)JTAG接口,2.5.1 通用I/O口,通用I/O口有两个:跳转控制输入引脚BIO和外部标志输出引脚XF,跳转控制输入引脚BIO :该引脚可用于监视外部接口器件的状态 。程序可以根据引脚BIO输入状态有条件地跳转 用于对时间要求严格的循环中, 在其执行时不能够被外部中断打断的时候 。,执行指令: XC n,BIO;如果引脚BIO为低电平

51、(条件满足),则执行后面的一条单字指令或一条双字指令或2条单字指令。(n=1 or 2),外部标志输出引脚XF 外部标志输出引脚XF可以用于向外部接口器件发出信号。 XF信号可以由软件控制。通过对STl(bit13)中的XF位置1或清0, XF引脚输出为高电平和低电平,亦即CPU向外部发出1和0信号。 执行指令: SSBX XF ;对XF置位 RSBX XF ;对XF复位,2.5.2 定时器,片内硬件定时器是软件可编程的,可用于周期性的产生中断。定时器可以用来产生外部接口电路的采样时钟。,它包含三个存储器映射寄存器: TIM定时寄存器(0024H):加载定时值,减1计数器 ; 30H PRD定

52、时周期寄存器(0025H):存放定时时间常数 ; 31H TCR定时器控制寄存器(0026H):存储定时器的控制及状态位; 32H,TCR定时器控制寄存器各位含义:,54x的定时器有一个4位预定标器PSC(等于TCR中的TDDR bit0-3)。 预定标器PSC:定时分频系数,对片内定时器的输入时钟(CLKOUT)分频,由TCR中的TDDR (bit0-3)加载。,2.5.2 定时器,定时器的工作过程: 定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲,预定标计数器PSC减1,当PSC减至0,下一个脉冲到来时,PSC产生借位。借位信号分别控制定时计数器TIM减1和重新将TDDR的内容加载预

53、定标计数器PSC,每次定时计数器TIM 减为0时产生定时中断TINT, 同时重新用PRD值装载TIM 。,定时器的基本定时时间可由下式计算: 定时周期CLKOUT(TDDR+1)(PRD+1),当系统复位时,TIM和PRD都为FFFFH,TCR 中的TDDR全部清零。 当使用定时器时,必须对其进行初始化 。,定时器的使用,初始化定时器的步骤如下: 对寄存器TCR中的TSS位置1,停止定时器工作; 装入TIM初值; 装入PRD初值; 装入TCR初始化TDDR和启动定时器;使TSS清0使能定时器,使TRB置位,重新装入定时初值。 对IFR中的TINT位置1,可以清除挂起(尚未处理完的)定时中断;

54、对IMR中的TINT位置1,使能定时器中断; 使ST1状态寄存器INTM位清0,开放所有的中断。,定时器的使用,用定时器可以实现方波发生器、脉冲频率监测器、周期信号周期监测等功能。,ORM #0010h,TCR0 ;停止定时器0 STM #799,TIM0 STM #799,PRD0 STM #K_TCR0,TCR0 ;启动定时器0中断;TCR0=0269H ST #0FFFFh,IFR ;初始化中断 ORM #0008h,IMR RSBX INTM,例如:用定时器设计一个周期为4ms的方波信号发生器。 假设DSP主频为4MHZ(TCLKOUT=250ns), 方波信号周期为4ms,那么定时中

55、断周期应为T=2ms,每中断一次,输出端电平取反一次。 定时中断周期T=TCLKOUT*(TDDR+1)*(PRD+1), 假设TDDR=9,那么PRD=799(031FH).,;K_TCR0设置定时器0控制寄存器的内容 K_TCR0_SOFT .set 0b11 K_TCR0_FREE .set 0b10 K_TCT0_PSC .set 1001b6 K_TCT0_TRB .set 1b5 K_TCT0_TSS .set 0b4 K_TCT0_TDDR .set 1001b0 K_TCR0 .set K_TCR0_SOFT|K_TCR0_FREE|K_TCT0_PSC| K_TCT0_TRB

56、|K_TCT0_TSS|K_TCR0_TDDR ;初始化定时器0,t0_flag .usect “vars”,1 ;当前XF输出电平标志位,如果 t0_flag=1,则XF=1;如果t0_flag=0,则XF=0 timout: 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 RETE,.sect “.vector” rst: b _c_int00 nop nop .s

57、pace 18*4*16 tint0:b timout,2.5.3时钟发生器,时钟发生器由振荡器和锁相环(PLL)组成。时钟发生器要求硬件有一个参考时钟输入。PLL通过专用器件使源时钟信号与某一因子相乘产生内部CPU时钟,因而应采用比CPU工作频率低的源时钟信号。,外部参考时钟输入可以用如下两种方式提供: 与内部振荡器共同构成时钟振荡电路。将晶体跨接于C54x 的两个时钟输入引脚Xl与X2/CLKIN之间,构成内部振荡器的反馈电路。 直接利用外部时钟。将一个外部时钟信号直接连接到X2/CLKIN引脚,Xl引脚悬空。此时内部振荡器不起作用。,锁相环PLL因子配置 可以通过外部硬件设置或内部软件编

58、程控制: 外部硬件设置:由引脚CLKMD1CLKMD2CLKMD3配置,见表2-14 内部软件编程:由时钟模式寄存器CLKMD(0058H)配置。见表2-15,锁相环PLL因子可以倍频或分频: 倍频模式:输入时钟乘以从0.25至15共31档比例系数之一; 分频模式:输入时钟CLKIN 2分频或4分频;,2.5.4软件可编程等待状态发生器,软件可编程等待状态发生器使外部总线周期扩展至7个机器周期,以便与片外的慢速存储器或I0设备接口;该控制由软件等待周期寄存器 (SWWSR)实现。,软件等待周期寄存器 (SWWSR)16位,他在数据区的映像地址为0028h。,对于片外存储器的存取,可编程等待状态

59、发生器(SWWSR)可指定07个等待状态,这既适用于每个32k字的程储器块和数据存储器块,也适用于64k字的I/O空间。这些字块在SWWSR中都有一个对应定义等待状态控制的3位字段。,软件等待状态寄存器SWWSR(无程序扩展空间),C548及以上型号软件等待周期寄存器(SWWSR)位,2.5.5可编程存储体转换逻辑,当访问程序或数据存储器的存储体边界时,可编程存储体转换逻辑会自动插入一个周期。当存储过程由程序存储器转向数据存储器时,也会插入一个周期。 转换的存储体的大小由存储体转换控制寄存器(BSCR)确定。(映射地址29H),BSCR各位符号如下:,各位功能:,表2-20:BNKCMP和存储器组的大小,表2-21:当EXIO=1时的信号状态,2.5.6 HPI主机接口,主机接口为一个8位并行接口,是与主微处理器(其它的DSP、微处理器等)通信的接口。通过c54x和主微处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论