1、DSP技术原理及应用第一章绪论DSP有两种理解:有两种理解:一、广义的理解:一、广义的理解:digital signal processing数字信号处理数字信号处理 二、狭义的理解:二、狭义的理解:digital signal processor数字信号处理器数字信号处理器 1.1数字信号处理:数字信号处理:他是利用计算机或专用处理设备,以数字形式对信号进行采他是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,得到符合需集、变换、滤波、估值、增强、压缩、识别等处理,得到符合需要的信号形式。要的信号形式。在通用的计算机上用软件实现。在通用的计算机上
2、用软件实现。在通用计算机系统上加上专用的加速处理机实现。在通用计算机系统上加上专用的加速处理机实现。用通用的单片机实现。用通用的单片机实现。用通用的可编程用通用的可编程DSP芯片实现。芯片实现。用专用的用专用的DSP芯片实现。芯片实现。用用/CPLD/FPGA实现。实现。1、数字信号处理的实现方法:、数字信号处理的实现方法:2、数字信号处理系统的一般组成 X(t)抗混叠滤波 A/D转换 DSP芯片 D/A转换 平滑滤波 X(n)Y(n)Y(t)抗混叠滤波器将输入信号抗混叠滤波器将输入信号X(t)中比主要频率高的信号分量滤除,中比主要频率高的信号分量滤除,避免产生信号频谱的混叠现象。避免产生信号
3、频谱的混叠现象。A/D将输入的模拟信号转换为将输入的模拟信号转换为DSP芯片可接收的数字信号。芯片可接收的数字信号。DSP芯片芯片对对A/D输出的信号进行某种形式的数字处理。输出的信号进行某种形式的数字处理。D/A经过经过DSP芯片处理的数字样值经芯片处理的数字样值经D/A转换为模拟量,然转换为模拟量,然后进行平滑滤波得到连续的模拟信号。后进行平滑滤波得到连续的模拟信号。3、数字信号处理系统的一般设计过程 DSP 应用要求 定义系统性能指标 选择 DSP 芯片 软件编程 硬件设计 软件调试 硬件调试 系统集成 系统测试和调试 1.2 数字信号处理器DSPDSP:是一种特别适合于进行数字信号处理
4、运算的微处理器,其是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。主要应用是实时快速地实现各种数字信号处理算法。1.DSP的主要特点:的主要特点:哈佛结构哈佛结构:C P U 存 储 器 指令 和 数 据共 用 控 制 总 线 C P U 程 序 存 储 器 数 据 存 储 器 数 据 地 址 总 线 控 制 总 线 程 序 数 据 总 线 数 据 数 据 总 线 数 据 总 线 地 址 总 线 程 序 地 址 总 线 程 序/数 据 数 据 程 序/数 据 数 据 高 速 缓 存 冯诺曼结构:冯诺曼结构:将指令、数据存储在同一个存储器中,统一编
5、址,译稿指将指令、数据存储在同一个存储器中,统一编址,译稿指令计数器提供的地址来区分是指令还是数据。取指令和取数据都访问统一令计数器提供的地址来区分是指令还是数据。取指令和取数据都访问统一存储器,数据吞吐率低。存储器,数据吞吐率低。基本哈佛结构:程序和数据存储在不同的存储空间,程序存储空间和数据基本哈佛结构:程序和数据存储在不同的存储空间,程序存储空间和数据存储空间是两个相互独立的存储空间,每个存储空间独立编址,独立访问。存储空间是两个相互独立的存储空间,每个存储空间独立编址,独立访问。冯诺曼结构基本哈佛结构改进哈佛结构多总线结构多总线结构对对DSP来说,总线越多,可以完成的功能就越复杂。来说
6、,总线越多,可以完成的功能就越复杂。流水线结构流水线结构如四级流水线的操作图:如四级流水线的操作图:DSP主要特点续 时 钟 取 指 译 码 取 操 作 数 执 行 N N+1 N+2 N+3 N N N N+1 N+1 N+2 N-1 N-1 N-1 N-2 N-2 N-3 多处理单元多处理单元 DSP内部一般都包括有多个处理单元,如算术逻辑运算单元内部一般都包括有多个处理单元,如算术逻辑运算单元(ALU)、辅助寄存器运算单元辅助寄存器运算单元(ARAU)、累加器累加器(ACC)以及硬件乘以及硬件乘法器法器(MULT)单元等。它们可以在一个指令周期内同时进行运算。单元等。它们可以在一个指令周
7、期内同时进行运算。利用这种流水线结构,加上执行重复操作,保证了数字信号处利用这种流水线结构,加上执行重复操作,保证了数字信号处理中用得最多的乘法累加运算可以在单个指令周期内完成。理中用得最多的乘法累加运算可以在单个指令周期内完成。DSP主要特点续特殊的特殊的DSP指令指令 在在DSP的指令系统中,设计了一些特殊的的指令系统中,设计了一些特殊的DSP指令。例如指令。例如TMS320C54x中的中的FIRS和和LMS指令,则专门用于系数对称的指令,则专门用于系数对称的FIR滤波器和滤波器和LMS算法。算法。指令周期短指令周期短DSP广泛采用亚微米广泛采用亚微米CMOS制造工艺,如制造工艺,如TMS
8、320C54x,其运行其运行速度可达速度可达200MIPS。TMS320C55x,其运行速度可达其运行速度可达400MIPS。TMS320C6414T的时钟为的时钟为1GHz,运行速度达到运行速度达到8000 MIPS。运算精度高运算精度高DSP的字长有的字长有16位、位、24位、位、32位。为防止运算过程中溢出,累加位。为防止运算过程中溢出,累加器达到器达到40位。此外,一批浮点位。此外,一批浮点DSP,例如例如TMS320C3x、TMS320C4x、TMS320C67x、TMS320F283x、ADSP21020等,等,则提供了更大的动态范围。则提供了更大的动态范围。DSP主要特点续硬件配
9、置强硬件配置强新一代新一代DSP的接口功能愈来愈强,片内具有定时器、串行口、主机的接口功能愈来愈强,片内具有定时器、串行口、主机接口接口(HPI)、DMA控制器、软件控制的等待状态产生器、锁相环时控制器、软件控制的等待状态产生器、锁相环时钟产生器、钟产生器、A/D转换以及实现在片仿真符合转换以及实现在片仿真符合IEEE 1149.1标准的测试标准的测试仿真接口,使系统设计更易于完成。另外,许多仿真接口,使系统设计更易于完成。另外,许多DSP芯片都可以工芯片都可以工作在省电方式,大大降低了系统功耗。作在省电方式,大大降低了系统功耗。2、DSP的分类按基础特性分:按基础特性分:DSP芯片的工作时钟
10、(主频)芯片的工作时钟(主频)和指令类型和指令类型2、DSP的分类(续)按数据格式分:按数据格式分:DSP对数据的处理有两种格式:对数据的处理有两种格式:定点数据格式定点数据格式和浮点数据格式。和浮点数据格式。3、DSP的选择选择选择DSP芯片时应考虑如下几个因素:芯片时应考虑如下几个因素:1.3 定点DSP的数据格式 在定点处理器中,数据采用定点表示方法,在定点处理器中,数据采用定点表示方法,定点表示并不意味定点表示并不意味着就一定是整数表示。着就一定是整数表示。它有两种基本表示方法:整数表示方法和小数表示方法。它有两种基本表示方法:整数表示方法和小数表示方法。整数表示方法主要用于控制操作、
11、地址计算和其他非信号处理整数表示方法主要用于控制操作、地址计算和其他非信号处理的应用。的应用。小数表示方法则主要用于数字和各种信号处理算法的计算中。小数表示方法则主要用于数字和各种信号处理算法的计算中。0 1 0 1 0 1 1 1S26252423222120 0 1 1 1 0 0 0 0S2-12-22-32-42-52-62-7结果=2-1+2-2+2-3=0.875 结果=26+24+22+21+20=87 定点数的表示法 定点数最常用的是定点数最常用的是Q表示法,或表示法,或Qn表示法。;表示法。;n表示数的表示数的2补码补码的小数部分;的小数部分;1位符号位;数的总字长为位符号位
12、;数的总字长为m+n+1位。表示数的整位。表示数的整数范围为数范围为(-2m 2m-1),小数的最小分辨率为小数的最小分辨率为2-n。几种常用的几种常用的Q表示法的格式:表示法的格式:Q0 格式的字长为16位。位数 15 14 13 12 11 10 9.0 值 S I14 I13 I12 I11 I10 I9.I0定点数的整数形式。最高位为符号S,接下来的Ix为15位2补码的整数,表示数的范围为(-215215-1),最小的分辨率为1。Q12 格式的字长为16位。最高位为符号S,接下来的3位为2补码的整数位,高位在前,后面的12位为2补码小数位。Q3.12 格式表示数的大致范围为(-8,7)
13、,小数的最小分辨率为2-12。位数 15 14 13 12 11 10 9.0 值 S I3 I2 I1Q11Q10Q9.Q0Q15格式格式Q15格式的字长为格式的字长为16位,其每位的具体表示如下:位,其每位的具体表示如下:位数 15 14 13 12 11 10 9.0 值 SQ14Q13 Q12Q11Q10Q9.Q0最高位为符号最高位为符号S,接下来的为接下来的为2补码的补码的15位小数位,小数点紧接位小数位,小数点紧接着符号位,无整数位。着符号位,无整数位。Q15格式表示数的范围为(格式表示数的范围为(-1,1),小数的最小分辨率为),小数的最小分辨率为2-15。对于对于16位的定点处
14、理器位的定点处理器TMS320C54x来说,来说,Q15是在程序设计中是在程序设计中最常用的格式。最常用的格式。TI公司提供的数字信号处理应用程序库公司提供的数字信号处理应用程序库DSPLIB就主要采用这种数据格式。就主要采用这种数据格式。定点数格式的选择定点数格式的选择定点格式表示数的范围和数据的精度是确定的。定点格式表示数的范围和数据的精度是确定的。表示数的范围越大,数据的精度越低,也就是表示数的范围越大,数据的精度越低,也就是说,数的范围与精度是一对矛盾。对说,数的范围与精度是一对矛盾。对16位的位的数据来说,动态范围最大的格式为整数数据来说,动态范围最大的格式为整数Q0,精度(或分辨率
15、)最高的格式为精度(或分辨率)最高的格式为Q15。定点格式的选择实际上就是根据定点格式的选择实际上就是根据Qn表示方法确定数据的小数表示方法确定数据的小数点位置。点位置。定点格式数据的转换 有有2种转换的方法:种转换的方法:1.4 DSP芯片的发展及应用 信号处理系统:数字滤波(信号处理系统:数字滤波(FIRIIRFIRIIR)、)、自适应滤波器、快速付立自适应滤波器、快速付立叶变换、相关运算、谱分析、卷积、加窗、波形产生等。叶变换、相关运算、谱分析、卷积、加窗、波形产生等。通信:调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、通信:调制解调器、自适应均衡、数据加密、数据压缩、回波抵消、
16、多路复用、波形产生等。多路复用、波形产生等。语音:语音编码、语音合成、语音识别、语音增强、语音邮件、语语音:语音编码、语音合成、语音识别、语音增强、语音邮件、语音存储等。音存储等。图形图形/图像:二位图像:二位/三维图形处理、图像压缩与传输、图像增强、动三维图形处理、图像压缩与传输、图像增强、动画、机器人视觉等。画、机器人视觉等。军事:保密通信、雷达处理、声纳处理、导航、导弹制导等。军事:保密通信、雷达处理、声纳处理、导航、导弹制导等。仪器仪表:频谱分析、函数发生、锁相环、地震处理等。仪器仪表:频谱分析、函数发生、锁相环、地震处理等。自动控制:引擎控制、声控、自动驾驶、机器人控制、磁盘控制等。
17、自动控制:引擎控制、声控、自动驾驶、机器人控制、磁盘控制等。医疗:助听、超声设备、诊断工具、病人监护等。医疗:助听、超声设备、诊断工具、病人监护等。家用电器:高保真音响、音乐合成、音调控制、玩具与游戏、数家用电器:高保真音响、音乐合成、音调控制、玩具与游戏、数字电话字电话/电视等。电视等。DSP/多核处理器主要的生产厂家 TI(德仪):http:/ Lucent(朗讯):http:/ Device(模拟器件): Motorola:http:/ TMS320系列系列DSP发展概述(发展概述(TI公司)公司)C2000 DSPTI C55x DSP 核心核心:世界上最低功耗性能比世界上最低功耗性能
18、比 mW/MIPS的的DSPs 以达到以达到0.05mW/MIPs的最低的最低 功耗性能比而具有最长的电池功耗性能比而具有最长的电池 寿命寿命。最佳的代码密度最佳的代码密度 兼容兼容C54x DSP软件软件 工作频率将达到工作频率将达到1.1GHz 最好的最好的DSP编译器编译器,便于便于 使用使用 兼容兼容C62x DSP软件软件 可扩展性能达到可扩展性能达到400MIPs 最佳的最佳的C/C+控制代码效率控制代码效率 兼容兼容C24x DSP软件软件C5000 DSPC6000 DSPTI C28x DSP 核心核心:世界上第一颗针对控制进行世界上第一颗针对控制进行优化的优化的DSPTI
19、C64x DSP 核心核心:世界上具有最高性能的世界上具有最高性能的DSPs德州仪器强大的通用德州仪器强大的通用DSP平台平台MotorControl DSPPersonal DSPBroadbandInfrastruc-ture DSPUp To 40 MIPSControl Performance High-Precision Control C242F241LC2404ALF2401ALC2402AMulti-Function,Appliance&Consumer Control F240F243LC2406ALF2402ALF2403ALF2406ALF2407AF2810128-LQ
20、FPF2812176-LQFPF2812179-u*BGA150 MIPS!High-endDerivativesApplicationspecificversionsLowCostversionsCostoptimizedversionsC2812F2801?Long Team?C2810F2806F2808TMS320LF2407DSP与TMS320C28x DSP的方框图 128K 字 Sectored Flash 18K 字 RAM 4K 字 Boot ROM 存 储 器 总 线 中 断 管 理 3232bit 乘法器 32bit 定时器(3)定时 JTAG R-M-W Automic
21、 ALU 32 bit 寄存器组 事件管理器 A 看门狗 watchdog 事件管理器 B 12 bit 模数转换器 ADC 通用输入输出口 GPIO 多通道缓冲串口 McBSP CAN-20B SCI-A SCI-B SPI-串口 C28x 32bit DSP TMS320C28x是到目前为止用于数字控制领域性能最好的是到目前为止用于数字控制领域性能最好的DSP芯片。芯片。32位的位的定点定点DSP核,最高速度可达核,最高速度可达400MIPS,可以在单个指令周期内完成可以在单个指令周期内完成3232位位的乘累加运算,具有增强的电机控制外设、高性能的模的乘累加运算,具有增强的电机控制外设、高
22、性能的模/数转换能力和改进的数转换能力和改进的通信接口,具有通信接口,具有8GB的线性地址空间,采用低电压供电的线性地址空间,采用低电压供电(3.3V外设外设/1.8V CPU核核),与,与TMS320C24x源代码兼容。该系列芯片已投放市场。源代码兼容。该系列芯片已投放市场。D(150)A(150)Data RAM 2.5K W ords Program Flash 32K W ords CAN SCI SPI A/D Converter 10bits 16 Channels 8-Level Hardware Stack 40bit ACCB 32-bit accumulator Shift
23、er L(0-7)16-bit T Register 16X16 Multiply Shifter L(0,1,46)32-bit P Register 32 bit ALU C2xLP DSP Core Program/Data/I/O Buses Boot ROM 256 W ords 16-bit Barrel Shifter(L)Evet Manager 2 Times 5 Compares 8 PWM Outputs Dead Band Logic 3 Input Captures 2 QEP Channels WD Timer Evet Manager 2 Times 5 Comp
24、ares 8 PWM Outputs Dead Band Logic 3 Input Captures 2 QEP Channels 8 Auxiliary Register Repeat Count MulticoreApplicationEnhancedDSP+RISCFeature IntegrationPower Efficiency/System DensityCode CompatibleOMAP5910C55x+ARM9C5509A400 MIPS,USBC5510320-400MIPSC55xTM DSPMulticoreOMAPTMC55x+ARM9C55xTM DSPIn
25、SiliconAnnouncementRoadmapTNET30104800 MIPSC5420200 MIPSC5421200 MIPSC5441532 MIPSC5470C54x+ARM7C5501600 MIPSC5502400-600 MIPSC540980-160 MIPSC5410A100-160MIPSC5416120-160MIPSC540150 MIPSC5402100-160MIPSC5404120 MIPSC5407120 MIPSC54CST120 MIPSC54V90120 MIPSC5503 64KB RAMC5507 128KB RAMLow cost Finge
26、rprintC5471C54x+ARM7 TMS320C5000系列特性比较 特特 性性 TMS320C54x单单核核DSP TMS320C55xDSP功耗功耗/(mW/MIPS)0.54 0.05执行速度执行速度/MIPS或或MMACS 30160 140800代码密度代码密度 变指令长度结构变指令长度结构功能功能单元单元 MACs ALUs 累加器累加器 1 1 2 2 2 4 程序获取程序获取 16位位 32位位 指令长度指令长度 固定固定16位位 848位可变位可变 Code CompatibleC6416T1 GHzC6411C6416T720 MHzC6415T720 MHzC64
27、14T720 MHzDM642Performance ValueC6412DM641DM640C6415T1 GHzC6414T1 GHzHigh PerformanceApplication SpecificFloating PointC6701C6712C6711C6201C6202C6203C6204C6205C6211 More than 20 code-compatible devices Ranging from sub$9 to 1GHz 30K+Programmers Millions shipped to dateIncreasing Performance,Memory&P
28、eripheralsC6713C6416C6415C6414C6413C6410DSP/BIOS Bridge 用户接口 先进的操作系统 MPEG 4编解码器 H263 编解码器 AMR 编解码器 MP3 编解码器OMAP平台对数字信息终端的意义 所所针对多媒体应用针对多媒体应用 无线视频和图像处理无线视频和图像处理 无线高级语音应用无线高级语音应用 无线音频处理无线音频处理 图形和视频显示加速处理图形和视频显示加速处理 因特网网页生成接入因特网网页生成接入 无线数据处理无线数据处理 全球卫星定位系统全球卫星定位系统(GPS)短距离无线通信应用短距离无线通信应用(SDW)ARM 和和DSP 操
29、作系统操作系统第二章TMS320C54x的结构原理 掌握:TMS320C54X的总线结构、存储器系统;CPU存储器映射寄存器状态寄存器;片内外设 熟悉:CPU的组成,TMS320C54X的内部结构 了解:TMS320C54X的主要特性 第二章TMS320C54x的结构原理 2.1 TMS320C54x的内部结构及主要特性 2.1.1 TMS320C54x的内部结构 程程序序/数数据据ROM 程程序序/数数据据RAM 6通通道道DMA 串串行行口口 主主机机接接口口 通通用用I/O 定定时时器器 时时钟钟发发生生器器 40bit桶桶形形(-16,31)40bit ACCA 40bit ACCB
30、8个个辅辅助助寄寄存存器器 2个个寻寻址址单单元元 1717乘乘法法器器 40bit 加加法法器器 圆圆整整和和饱饱和和 40bitALU 比比较较选选择择单单元元(viterbi加加速速器器)累累加加器器 桶桶形形移移位位器器 指指数数编编码码器器 MAC ALU CPU D(150)A(150)等等待待状状态态发发生生器器 IEEE1149.1标标准准测测试试/仿仿真真 内内部部总总线线(1)CPU:包括包括算术逻辑单元、算术逻辑单元、乘法器、累加乘法器、累加器、移位寄存器、移位寄存器、各种专门器、各种专门用途的寄存器、用途的寄存器、地址发生器、地址发生器、比较选择单元、比较选择单元、直属
31、编码器以直属编码器以及内部总线;及内部总线;(3)片内的外设:片内的外设:包括片内的定包括片内的定时器、各种类时器、各种类型的串口、主型的串口、主机接口、片内机接口、片内的锁相环的锁相环(PLL)时钟发生器以时钟发生器以及各种控制电及各种控制电路;路;JTAGJTAG接口。接口。(2)存储器系统:存储器系统:包括包括1624位外位外接存储器接口、接存储器接口、片内的程序片内的程序ROM、片内的单访问的片内的单访问的数据数据RAM和双访和双访问的数据问的数据RAM;2.1.2 TMS320C54x的主要特性 CPU先进的多总线结构,具有1条程序存储器数据总线、3条数据存储器数据总线和4条地址总线
32、;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 K字的I/O空间;片内的存储器结构及容量根据芯片的型号有所不同(见表2-1)(3)在
33、片外设和专用电路软件可编程等待状态发生器;可编程的存储器体转换逻辑;片内的锁相环(PLL)时钟发生器,可采用内部振荡器或外部的时钟源;外部总线关断控制电路可用来断开外部数据总线、地址总线和控制信号;数据总线具有数据保持特性;可编程的定时器;直接存储器访问(DMA)控制器;可与主机直接连接的8位并行主机接口(HPI),有些产品(见表2-1)还包括:扩展的8位并行主机接口(HPI8)和16位并行主机接口(HPIl6);片内的串口根据型号不同分以下类型(见表2-1):全双工的标准串口,支持8位和16位数据传送、时分多路(TDM)串口、缓冲串口(BSP)以及多通道缓冲串口(McBSP)。2.1.2 T
34、MS320C54x的主要特性续(4)片内的引导功能除TMS320C5420外,所有的芯片都具有片内的引导功能,能从片外的存储器将程序引导装入指定的存储器位置。(5)指令系统单指令重复和块重复操作指令;用于程序和数据管理的存储器块传送指令;32位长操作数指令;同时读入2个或3个操作数的指令;并行存储和装入的算术指令;条件存储指令;快速从中断返回的指令;具有延迟转移和调用指令;指令的执行采用指令预提取、指令提取、指令译码、访问操作数、读取操作数、执行等6级流水线并行结构,大大提高了指令的执行速度。2.1.2 TMS320C54x的主要特性续(6)执行速度执行速度单指令周期时间分为:单指令周期时间分
35、为: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、L C 、U C 和和 V C 指 明,如,指 明,如,TMS320C54x,TMS320LC54x和和TMS320UC54x;可采用功耗下降指令可采用功耗下降指令IDLE 1,IDLE 2和和IDLE 3控制芯片的控制芯片的功耗;功耗;可控制禁止可控制禁止CLKOUT信号。信号。(8
36、)片内的仿真功能片内的仿真功能具有符合具有符合IEEE 1149.1标准的在片仿真接口,可与主机连接,标准的在片仿真接口,可与主机连接,用于系统芯片开发应用。用于系统芯片开发应用。2.2总线结构 C54x片内有片内有8条条16位总线:位总线:4条程序数据总线和条程序数据总线和4条地址总线。条地址总线。3组数据总线组数据总线(CB、DB和和EB):CB和和DB传送读自数据存储器的传送读自数据存储器的操作数,操作数,EB传送写到数据存储器的数据。传送写到数据存储器的数据。CB:双数据读、长数据读(双数据读、长数据读(32位)读高位)读高16位位DB:单数据读、双数据读、长数据(单数据读、双数据读、
37、长数据(32位)读低位)读低16位、外设读位、外设读4组地址总线组地址总线(PAB、CAB、DAB和和EAB):传送执行指令所需的传送执行指令所需的地址。地址。C54x还有一条在片双向总线,用于寻址片内外围电路。这条还有一条在片双向总线,用于寻址片内外围电路。这条总线通过总线通过CPU接口中的总线交换器连到接口中的总线交换器连到DB和和EB。利用这个总线利用这个总线读读/写,需要写,需要2个或个或2个以上周期,具体时间取决于外围电路的结构。个以上周期,具体时间取决于外围电路的结构。程序总线程序总线(PB):传送取自程序存储器的指令代码和立即操作数。传送取自程序存储器的指令代码和立即操作数。2.
38、3存储器系统 C54x总的基本存储空间为总的基本存储空间为192 K字,分成字,分成3个可选择的存储空间:个可选择的存储空间:64K字的程序存储空间:字的程序存储空间:64 K字的数据存储空间:字的数据存储空间:64 K字的字的IO空间:空间:存放要执行的指令和执行中要用到的系存放要执行的指令和执行中要用到的系数表数表存放各种数据存放各种数据用于映射外围设备接口用于映射外围设备接口每每64K字可分为字可分为512页,每页页,每页128字。字。在在C54x中,片内存储器的型式有中,片内存储器的型式有DARAM、SARAM和和ROM三种:三种:片内片内ROM:片内片内ROM是程序存储器空间的一部分
39、,是程序存储器空间的一部分,有时部分也可用作数据有时部分也可用作数据空间的一部分。空间的一部分。各类器件的片内各类器件的片内ROM容量不同,如表容量不同,如表2-3所列。所列。片内双操作片内双操作RAM(DARAM):DARAM由几个块组成。由几个块组成。CPU可在一个周期内对同一可在一个周期内对同一DARAM块进行两次读或块进行两次读或写操作。写操作。DARAM通常划分为数据空间,且主要用于存储数据值;通常划分为数据空间,且主要用于存储数据值;有时也可划有时也可划分为程序空间分为程序空间,用于存储程序代码。,用于存储程序代码。存储器系统续 片内单操作片内单操作RAM(SARAM)SARAM也
40、是由几个块组成。一个也是由几个块组成。一个SARAM块在每个机器周期只可被访问一次,块在每个机器周期只可被访问一次,进行读或写操作。进行读或写操作。SARAM通常被划分为数据空间,且主要用于存储数据值;有通常被划分为数据空间,且主要用于存储数据值;有时时也可被划分为程序空间也可被划分为程序空间,用于存储程序代码。,用于存储程序代码。C54x片内存储器映射到程序或数据存储空间通过处理器工作方式状态寄存器片内存储器映射到程序或数据存储空间通过处理器工作方式状态寄存器(PMST)(PMST)的的3个状态位个状态位MP/MC 、OVLY位、位、DROM位控制:位控制:OVLY位位 若若OVLY=1,则
41、片内则片内RAM安排到程序和数据空间;安排到程序和数据空间;若若OVLY=0,则片内则片内RAM只安排到数据存储空间。只安排到数据存储空间。DROM位位 当当DROM=1,则部分片内则部分片内ROM安排到数据空间;安排到数据空间;当当DROM=0,则片内则片内ROM不安排到数据空间。不安排到数据空间。DROM的用法与的用法与MPMC 的用法无关。的用法无关。MP/MC位位 若若MP/MC =0,则片内则片内ROM安排到程序空间;安排到程序空间;若若MP/MC =1,则片内则片内ROM不安排到程序空间。不安排到程序空间。C5402的数据和程序存储器映射图,以及的数据和程序存储器映射图,以及MP/
42、、OVLY和和DROM 3个状态位的关系:个状态位的关系:中 断 失 量 (片 内)中 断 失 量 (外 部)M P/M C=1 微 处 理 器 模 式 M P/M C=0 微 计 算 机 模 式 MC注意:若用户需要运行注意:若用户需要运行BOOT程序应选用微计算机模式程序应选用微计算机模式C5402片内4K 字ROM区间分配 F900 h FC00 h FD 00h FE00 h F F80h F F00h F800 h FA00 h FB 00h 自自 举举 加加 载载 代代 码码 机机 内内 自自 检检 程程 序序 中中 断断 向向 量量 表表 256 字字 律律 压压 扩扩 表表 2
43、56 字字 A 律律 压压 扩扩 表表 256 字字 正正 弦弦 函函 数数 查查 找找 表表 C C5 54 40 02 2 F FF Fh C5402片内4K 字ROM由TI公司定,不能用来存储用户程序3、存储器映射寄存器 存储器映射寄存器有两种:存储器映射寄存器有两种:26个个CPU内部寄存器、片内外设寄存器内部寄存器、片内外设寄存器它们被映射在数据存储器的第它们被映射在数据存储器的第0页:页:0000H005BH地址段地址段寻址存储器映射寻址存储器映射CPU寄存器操作不需要插入等待周期。寄存器操作不需要插入等待周期。片内外设寄存器用于对片内外设片内外设寄存器用于对片内外设 的控制和存放
44、数据,对它们操的控制和存放数据,对它们操作需要作需要2个机器周期。个机器周期。26个个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,*AR
45、1PORTW *AR1,1000H2.4中央处理单元CPUCPU有以下几部分组成:有以下几部分组成:40位算术逻辑运算单元位算术逻辑运算单元(ALU);2个个40位累加器;位累加器;一个一个1630位的桶形移位寄存器;位的桶形移位寄存器;乘法器乘法器/加法器单元;加法器单元;比较、选择和存储单元比较、选择和存储单元(CSSU);指数编码器;指数编码器;CPU存储器映射寄存器;存储器映射寄存器;两个地址发生器;两个地址发生器;2.4.1 CPU状态和控制寄存器状态和控制寄存器 C54x有有3个状态和控制寄存器:个状态和控制寄存器:状态寄存器状态寄存器0(ST0);状态寄存器状态寄存器1(STl)
46、;处理器工作方式状态寄存器处理器工作方式状态寄存器(PMST)。1 1、状态寄存器、状态寄存器 ST0和和ST1:ST0主要反映寻址要求和计算的中间运行状态。其各位定义如主要反映寻址要求和计算的中间运行状态。其各位定义如下:下:bit15-1312111098-0位位定义定义ARPTCCOVAOVBDPST0各位的含义ARP:辅助寄存器指针,用于间接寻址单操作数的辅助寄存器的辅助寄存器指针,用于间接寻址单操作数的辅助寄存器的选择。当选择。当DSP处于标准运行方式时处于标准运行方式时(CMPT0),ARP0。TC:测试控制标志。用来保存测试控制标志。用来保存ALU的测试位操作结果。同时,的测试位
47、操作结果。同时,可以由可以由TC的状态的状态(0或或1)控制条件分支的转移和子程序调用,并判控制条件分支的转移和子程序调用,并判断返回是否执行。断返回是否执行。BC 2000H,TC(NTC);TC=1 或或 TC=0C:进位标志。加法进位时,置进位标志。加法进位时,置1。减法借位时,清。减法借位时,清0。当加法无。当加法无进位或减法无借位的情况下,完成一次加法此标志位清进位或减法无借位的情况下,完成一次加法此标志位清0,完成,完成一次减法此标志位置一次减法此标志位置1。带。带16位移位操作的加法只能对它置位,位移位操作的加法只能对它置位,而减法只能清而减法只能清0。此时,加减操作不影响进位标
48、志。此时,加减操作不影响进位标志。(C 或或NC)OVA:累加器累加器A的溢出标志。当的溢出标志。当ALU运算结果送入累加器运算结果送入累加器A且溢且溢出时,出时,OVA置置l。运算时一旦发生溢出,运算时一旦发生溢出,OVA将一直保持置位状将一直保持置位状态,直到硬件复位或软件复位后方可解除此状态。态,直到硬件复位或软件复位后方可解除此状态。(AOV或或ANOV)OVB:累加器累加器B的溢出标志。当的溢出标志。当ALU运算结果送入累加器运算结果送入累加器B且溢且溢出时,出时,OVB置置1。运算时一旦发生溢出,。运算时一旦发生溢出,OVB将一直保持置位将一直保持置位状态,直到硬件复位或软件复位后
49、方可解除此状态。状态,直到硬件复位或软件复位后方可解除此状态。(BOV或或BNOV)ST0各位含义续DP:数据存储器页指针。DP的9位数作为高位将指令中的低7位作为低位结合,形成16位直接寻址方式下的数据存储器地址。这种寻址方式要求STl中的编译方式位CPL0,DP字段可用LD指令加载一个短立即数或从数据存储器加载。ST1主要反映寻址要求、计算的初始状态设置、主要反映寻址要求、计算的初始状态设置、IO及中断控及中断控制制。其各位定义如下:。其各位定义如下:bit151413121110987654-1含义BRAFCPLXFHMINTM0OVM SXM C16FRCT CMPT ASM例:例:L
50、D#1,DPST1各位含义 BRAF:块重复操作标志。此标志置位表示正在执行块重复操作指令。此位清块重复操作标志。此标志置位表示正在执行块重复操作指令。此位清零表示没有进行块操作。零表示没有进行块操作。CPL:直接寻址编辑方式标志位,标志直接寻址选用何种指针。此位置位直接寻址编辑方式标志位,标志直接寻址选用何种指针。此位置位CPL1表示选用堆栈指针表示选用堆栈指针(SP)的直接寻址方式。此位清零的直接寻址方式。此位清零CPL0表示选用页表示选用页指针指针(DP)的直接寻址方式。的直接寻址方式。XF:XF引脚状态控制位,控制引脚状态控制位,控制XF通用外部通用外部IO引脚输出状态。可通过软件引脚