1、第 1 章 绪论 41.1 概 述 .51.1.1 DSP 与 DSP 技术 51.1.2 DSP 技术发展的两个领域 .61.1.3 数字信号处理的实现方法 61.1.4 DSP 系统的特点 .71.2 可编程 DSP 芯片 .71.2.1 DSP 芯片的结构特点 .71.2.2 DSP 芯片的分类 .91.2.3 DSP 芯片的发展及趋势 .101.2.4 DSP 芯片的应用 .111.3 TMS320 系列 DSP 概述 111.3.1 TMS320C2000 系列简介 111.3.2 TMS320C5000 系列简介 121.3.3 TMS320C6000 系列简介 131.4 DSP
2、 系统设计概要 141.4.1 DSP 系统设计过程 .141.4.2 DSP 芯片的选择 .151.4.3 DSP 应用系统的开发工具 .17习题与思考题 18第 2 章 TMS320C54x 的硬件结构 192.1 TMS320C54x 硬件结构框图 .192.1.1 TMS320C54x 内部结构 192.1.2 TMS320C54x 主要特性 202.2 总 线 结 构 .222.3 中央处理单元(CPU) .222.3.1 CPU 状态和控制寄存器 .232.3.2 算术逻辑单元(ALU) .262.3.3 累加器 A 和 B.282.3.4 桶形移位器 292.3.5 乘法器加法器
3、单元 302.3.6 比较、选择和存储单元 312.3.7 指数编码器 322.4 存储器和 I/O 空间 .332.4.1 存储空间的分配 332.4.2 程序存储器 352.4.3 数据存储器 382.4.4 I/O 空间 .402.5 中断系统 .402.5.1 中断系统概述 402.5.2 中断标志寄存器(IFR)和中断屏蔽寄存器(IMR) 412.5.3 接收、应答及处理中断 412.5.4 中断操作流程 432.5.5 重新安排中断向量地址 45习题与思考题 45第 3 章 TMS320C54x 指令系统 463.1 汇编源程序格式 463.2 指令集符号与意义 473.3 寻址方
4、式 493.3.1 立即寻址 .503.3.2 绝对寻址 .503.3.3 累加器寻址 .513.3.4 直接寻址 .513.3.5 间接寻址 .523.3.6 存储器映射寄存器寻址 .563.3.7 堆栈寻址 .573.4 指令系统 573.4.1 算术运算指令 .583.4.2 逻辑指令 .643.4.3 程序控制指令 663.4.4 存储和装入指令 70习题与思考题 73第 4 章 TMS320C54x 的软件开发 .744.1 TMS320C54x 软件开发过程 .754.2 汇编语言程序的编写方法 .764.2.1 汇编语言源程序举例 .764.2.2 汇编语言常量 .774.2.3
5、 汇编源程序中的字符串 .784.2.4 汇编源程序中的符号 .784.2.5 汇编源程序中的表达式 .784.3 汇编伪指令和宏指令 794.3.1 汇编伪指令 794.3.2 宏及宏的使用 834.4 公共目标文件格式 COFF.844.4.1 COFF 文件中的段 .844.4.2 汇编器对段的处理 .854.4.3 链接器对段的处理 .874.5 汇编源程序的编辑、汇编和链接过程 .904.5.1 编辑 914.5.2 汇编器 914.5.3 链接器 934.6 汇编语言程序设计 964.6.1 程序的控制与转移 97PC=FF80h974.6.2 数据块传送程序 1014.6.3 算
6、术运算类程序 .103习题与思考题 113第 5 章 DSP 集成开发环境(CCS) 1145.1 CCS 集成开发环境简介 1155.1.1 CCS 安装及设置 .1155.1.2 CCS 的窗口、菜单和工具条 .1165.1.3 CCS 工程管理 .1215.1.4 CCS 源文件管理 .1235.1.5 通用扩展语言 GEL.1245.2 CCS 应用举例 .1255.2.1 基本应用 1255.2.2 探针和显示图形的使用 1295.3 CCS 仿真 1335.3.1 用 simulator 仿真中断 1335.3.2 用 simulator 仿真 I/O 口 .1365.4 DSP/
7、BIOS 的功能 1385.4.1 DSP/BIOS 简介 .1385.4.2 一个简单的 DSP/BIOS 实例 138习题与思考题 142第 6 章 DSP 片内外设 .1436.1 DSP 片内外设概述 1436.2 可编程定时器 1456.2.1 定时器的结构及特点 1456.2.2 定时器的控制寄存器 1466.2.3 定时器的操作过程 1466.2.4 定时器应用举例 1476.3 串行口 1486.3.1 标准同步串行口 SP.1486.3.2 带缓冲的串行接口(BSP) 1516.3.3 时分复用(TDM)串口 1556.3.4 多通道缓冲串行接口(McBSP) .1566.4
8、 主机接口(HPI) 1646.4.1 标准 8 位主机接口 HPI8.1646.4.2 增强的 8 位 HPI(HPI-8).1686.4.3 应用举例 1696.5 外部总线访问时序 .1716.5.1 软件等待状态发生器 1716.5.2 分区转换逻辑 1726.6 通用 I/O 173习题与思考题 173第 7 章 TMS320C54x 基本系统设计 1747.1 TMS320C54x 硬件系统组成 1747.2 外部存储器和 I/O 扩展 1747.2.1 外部存储器扩展 1767.2.2 外扩 I/O 接口电路设计 1797.3 A/D 和 D/A 接口设计 .1837.3.1 A
9、/D 接口设计 1837.3.2 D/A 接口设计 1877.4 时钟及复位电路设计 1947.4.1 时钟电路 1947.4.2 DSP 复位电路 1977.5 供电系统设计 1997.5.1 DSP 供电电源设计 1997.5.2 3.3V 和 5V 混合逻辑设计 .2017.5.3 省电工作方式与设计 2037.6 JTAG 在线仿真调试接口电路设计 .2057.7 TMS320C54x 的引导方式及设计 .2067.7.1 Bootloader 技术 .2067.7.2 并行启动模式 2077.7.3 自举启动表的建立及引导装载的过程 208习题与思考题 210第 8 章 TMS320
10、C54x 应用系统设计举例 2118.1 DSP 应用系统设计基本步骤 .2118.2 正弦信号发生器 2148.2.1 数字振荡器原理 2148.2.2 正弦波信号发生器的设计与实现 2158.3 FIR 数字滤波器 2208.3.1 FIR 滤波器的基本原理和结构 2208.3.2 FIR 滤波器的设计与实现 2218.3.3 FIR 滤波器应用举例 2268.4 快速傅立叶变换(FFT) .2308.4.1 基 2 按时间抽取 FFT 算法 2308.4.2 FFT 算法的 DSP 实现 .2318.4.3 FFT 算法的模拟信号产生和输入 .2428.4.4 观察信号时域波形及其频谱
11、2438.5 语音信号采集 .2448.5.1 语音接口芯片 TLC320AD50C 简介 2448.5.2 TLC320AD50C 与 DSP 的连接 .2458.5.3 语音采集和回放程序 2458.6 C 语言编程及应用 .2488.6.1 C 语言编程的基本方法 .2488.6.2 独立的 C 模块和汇编模块接口 2488.6.3 C 语言编程应用 .249习题与思考题 251第 1 章 绪论教学提示:本章首先介绍 DSP 技术的内涵、发展的两个领域及实现方法,其次介绍可编程 DSP 芯片的结构特点、分类及其应用情况,最后概括地介绍了 DSP 系统的设计过程。教学要求:本章让学生了解
12、DSP 技术的内涵,掌握 DSP 芯片的结构特点、分类及其应用,并概括性地了解在设计一个 DSP 应用系统时,不仅要熟悉芯片的硬件结构、指令系统等,还要熟悉开发、调试工具的使用,从而使后续各章的学习目标更加明确。1.1 概 述数字信号处理是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20 世纪 60年以来,随着信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。图 1.1 是一个典型的数字信号处理系统。图 1.1 数字信号处理系统框图图 1.
13、1 中,输入信号可以是语音信号、传真信号,也可以是视频信号,还可以是传感器(如温度传感器)的输出信号。输入信号经过带限滤波后,通过 A/D 转换器将模拟信号转换成数字信号。根据采样定理,采样频率至少是输入带限信号最高频率的 2 倍,在实际应用中,一般为 4 倍以上。数字信号处理一般是用 DSP 芯片和在其上运行的实时处理软件对输入数字信号按照一定的算法进行处理,然后将处理后的信号输出给 D/A 转换器,经D/A 转换、内插和平滑滤波后得到连续的模拟信号。当然,并非所有的 DSP 系统都具有如图 1.1 所示的所有部件。例如,频谱分析仪输出的不是连续波形而是离散波形,而 CD 唱机中的输入信号本
14、身就是数字信号,等等。1.1.1 DSP 与 DSP 技术DSP 既是 Digital Signal Processing 的缩写,也是 Digital Signal Processor 的缩写,二者英文简写相同,但含义不同。通常情况下:Digital Signal Processing指数字信号处理的理论和方法。Digital Signal Processor(DSP)指用于进行数字信号处理的可编程微处理器,人们常用 DSP 一词来指通用数字信号处理器。Digital Signal Process 一般是指 DSP 技术,即采用通用的或专用的 DSP 处理器完成数字信号处理的方法与技术。自从
15、 20 世纪 70 年代微处理器产生以来 就一直沿着三个方向在发展,它们是 通用 CPU:微型计算机中央处理器(如使用最多的奔腾等) 。 微控制器 MCU:单片微型计算机(如 MCS-51、MCS-96 等) 。 DSP:可编程的数字信号处理器。这三类微处理器(CPU,MCU,DSP)既有区别也有联系,每类微处理器各有其特点,虽然在技术上不断借鉴和交融,但又有各自不同的应用领域。随着数字化的急速进程,DSP 技术的地位突显出来。因为数字化的基础技术就是数字信号处理,而数字信号处理的任务,特别是实时处理(Real-Time Processing)的任务,是要由通用的或专用的 DSP 处理器来完成
16、的。因此,在整个半导体产品的增长趋缓时,DSP处理器还在以较快的速度增长。X(t) 抗混叠滤波器A/D转换器数字信号处理器A/D转换器平滑滤波器X(n) Y(n) Y(t)1.1.2 DSP 技术发展的两个领域DSP 技术的发展因其内涵而分为两个领域。一方面是数字信号处理的理论和方法的发展。数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,数字信号处理与网络理论、信号与系统、控制理论、通信理论、故障诊断等也密切相关。近年来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。可
17、以说,数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。数字信号处理在算法研究方面,主要研究如何以最小的运算量和存储器使用量完成指定的任务;对数字信号处理的系统实现而言,除了有关的输入/输出部分外,其中最核心的部分就是其算法的实现,即用硬件、软件或软硬件相结合的方法来实现各种算法,例如FFT 算法的实现。各种快速算法,如声音与图像的压缩编码、识别与鉴别、加密解密、调制解调、信道辩识与均衡、智能天线、频谱分析等算法都成为研究的热点,并有长足的进步,为各种实时处理的应用提供了算法基础。另一方面是 DSP 处理器性能的提高。为了满足应用市场的需求,随着微
18、电子科学与技术的进步,DSP 处理器的性能也在迅速地提高。目前的工艺水平,时钟频率达到1.1GHz;处理速度达到每秒 90 亿次 32 位浮点运算;数据吞吐率达到 2Gbyte/s。在性能大幅度提高的同时,体积、功耗和成本却大幅度地下降,以满足低成本便携式电池供电应用系统的要求。DSP 技术发展的上述两方面互相促进,理论和算法的研究推动了应用,而应用的需求又促进了理论的发展。1.1.3 数字信号处理的实现方法数字信号处理的实现方法一般有以下几种:(1)在通用的计算机上用软件实现。一般采用 C 语言、MATLAB 语言等编程,主要用于 DSP 算法的模拟与仿真,验证算法的正确性和性能。优点是灵活
19、方便,缺点是速度较慢。(2)在通用计算机系统中加上专用的加速处理机实现;专用性强,应用受到很大的限制,也不便于系统的独立运行。(3)在通用的单片机(如 MCS-51、96 系列等)上实现。只适用于简单的 DSP 算法,可用于实现一些不太复杂的数字信号处理任务,如数字控制。(4)用通用的可编程 DSP 芯片实现。与单片机相比,DSP 芯片具有更加适合于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法。特点是灵活、速度快,能做到实时处理。(5)用专用的 DSP 芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用 DSP 芯片很难实现,例如专用于 FFT、数字滤波、卷积、相关等算法
20、的 DSP 芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。处理速度极高,但专用性强,应用受到限制。在上述几种实现方法中,第 13 种和第 5 种方法都有缺点或使用的限制,只有第 4 种方法才使数字信号处理的应用打开了新的局面。虽然数字信号处理的理论发展迅速,但在 20 世纪 80 年代以前,由于实现方法的限制,数字信号处理的理论还得不到广泛的应用。直到 20 世纪 80 年代初世界上第一片单片可编程 DSP 芯片的诞生,才将理论研究结果广泛应用到低成本的实际系统中,并且推动了新的理论和应用领域的发展。可以毫不夸张地说,DSP 芯片的诞生及发展对二十多年来通信、计算机、控
21、制等领域的发展起到十分重要的作用。本书主要讨论数字信号处理的软硬件实现方法,即利用数字信号处理器(DSP 芯片) ,通过配置硬件和编程,实现所要求的数字信号处理任务。1.1.4 DSP 系统的特点基于通用 DSP 芯片的数字信号处理系统与模拟信号处理系统相比,具有以下优点:(1)精度高、抗干扰能力强,稳定性好。精度仅受量化误差即有限字长的影响,信噪比高,器件性能影响小。(2)编程方便、易于实现复杂算法(含自适应算法) 。DSP 芯片提供了高速计算平台,可实现复杂的信号处理。(3)可程控。当系统的功能和性能发生改变时,不需要重新设计、装配、调试。如实现不同的数字滤波(低通、高通、带通) ;软件无
22、线电中不同工作模式电台通信;虚拟仪器中的滤波器、频谱仪等。(4)接口简单、方便。系统的电气特性简单,数据流采用标准协议。(5)集成方便。因为在 DSP 芯片上,除 DSP 芯片外还有一定的外围电路。1.2 可编程 DSP 芯片DSP 芯片,即数字信号处理芯片,也称数字信号处理器,是一种特别适合于进行数字信号处理运算的处理器,其主要应用是实时快速地实现各种数字信号处理算法。1.2.1 DSP 芯片的结构特点DSP 处理器是专门设计用来进行高速数字信号处理的微处理器。与通用的 CPU 和微控制器(MCU )相比,DSP 处理器在结构上采用了许多的专门技术和措施来提高处理速度。尽管不同的厂商所采用的
23、技术和措施不尽相同,但往往有许多共同的特点。以下介绍的就是它们的共同点。1. 改进的哈佛结构以奔腾为代表的通用微处理器,其程序代码和数据共用一个公共的存储空间和单一的地址与数据总线,取指令和取操作数只能分时进行,这样的结构称为冯诺依曼结构(Von Neumann Architecture) ,如图 1.2(a)所示。DSP 处理器则毫无例外地将程序代码和数据的存储空间分开,各有自己的地址总线与数据总线,这就是所谓的哈佛结构(Harvard Architecture) ,如图 1.2(b)所示。之所以采用哈佛结构,是为了同时取指令和取操作数,并行地进行指令和数据的处理,从而可以大大地提高运算的速
24、度。例如,在作数字滤波处理时,将滤波器的参数存放在程序代码空间里,而将待处理的样本存放在数据空间里,这样,处理器就可以同时提取滤波器参数和待处理的样本,进行乘和累加运算。为了进一步提高信号处理的效率,在哈佛结构的基础上,又加以改进,使得程序代码和数据存储空间之间也可以进行数据的传送,称为改进的哈佛结构(Modified Harvard Architecture) ,如图 1.2(c)所示。程 序 / 数 据 存储 器C P UA D B图 1.2(a)冯诺依曼结构程序 MC P U数据 MA BD BA BD B图 1.2(b)哈佛结构程序 MC P U数据 MA BD BA BD B图 1.
25、2(c)改进的哈佛结构2多总线结构许多 DSP 芯片内部都采用多总线结构,这样可以保证在一个机器周期内可以多次访问程序空间和数据空间。例如 TMS320C54x 内部有 P、C、D、E 等 4 条总线(每条总线又包括地址总线和数据总线) ,可以在一个机器周期内从程序存储器取 1 条指令、从数据存储器读 2 个操作数和向数据存储器写 1 个操作数,大大提高了 DSP 的运行速度。因此,对DSP 来说,内部总线是个十分重要的资源,总线越多,可以完成的功能就越复杂。3流水线技术(Pipeline)计算机在执行一条指令时,总要经过取指、译码、取数、执行运算等步骤,需要若干个指令周期才能完成。流水线技术
26、是将各指令的各个步骤重叠起来执行,而不是一条指令执行完成之后,才开始执行下一条指令。即第一条指令取指后,在译码时,第二条指令就取指;第一条指令取数时,第二条指令译码,而第三条指令就开始取指,依次类推,如图 1.3 所示。使用流水线技术后,尽管每一条指令的执行仍然要经过这些步骤,需要同样的指令周期数,但将一个指令段综合起来看,其中的每一条指令的执行就都是在一个指令周期内完成的。DSP 处理器所采用的将程序存储空间和数据存储空间的地址与数据总结分开的哈佛结构,为采用流水线技术提供了很大的方便。N N+1 N+2 N+3第一条指令第二条指令第三条指令第四条指令图 1.3 流水线技术示意图4多处理单元
27、DSP 内部一般都包括多个处理单元,如算术逻辑运算单元(ALU) 、辅助寄存器运算单元(ARAU) 、累加器(ACC)及硬件乘法器(MUL )等。它们可以在一个指令周期内同时进行运算。例如,在执行一次乘法和累加运算的同时,辅助寄存器单元已经完成了下一个地址的寻址工作,为下一次乘法和累加运算做好了充分准备。因此,DSP 在进行连续的乘加运算时,每一次乘加运算都是单周期的。DSP 的这种多处理单元结构,特别适用于大量乘加操作的矩阵运算、滤波、FFT、Viterbi 译码等。许多 DSP 的处理单元结构还可以将一些特殊的算法,例如 FFT 的位码倒置寻址和取模运算等,在芯片内部用硬件实现以提高运行速
28、度。5特殊的 DSP 指令为了更好地满足数字信号处理应用的需要,在 DSP 的指令系统中,设计了一些特殊的 DSP 指令。例如,TMS320C54x 中的 FIRS 和 LMS 指令,专门用于系数对称的 FIR 滤波器和 LMS 算法。6指令周期短早期的 DSP 的指令周期约 400ns,采用 4m NMOS 制造工艺,其运算速度为取指 译码 取数 执行取指 译码 取数 执行取指 译码 取数 执行取指 译码 取数 执行5MIPS(每秒执行 5 百万条指令) 。随着集成电路工艺的发展,DSP 广泛采用亚微米 CMOS制造工艺,其运行速度越来越快。以 TMS320C54x 为例,其运行速度可达10
29、0MIPS。TMS320C6203 的时钟为 300MHz,运行速度达到 2400MIPS。7运算精度高早期 DSP 的字长为 8 位,后来逐步提高到 16 位、24 位、32 位。为防止运算过程中溢出,有的累加器达到 40 位。此外,一批浮点 DSP,例如TMS320C3x、 TMS320C4x、 ADSP21020 等,则提供了更大的动态范围。8丰富的外设新一代 DSP 的接口功能愈来愈强,片内具有主机接口(HPI) ,直接存储器访问控制器(DMAC ), 外部存储器扩展口,串行通信口,中断处理器,定时器,锁相环时钟产生器以及实现在片仿真符合 IEEE1149.1 标准的测绘访问口,更易于
30、完成系统设计。9功耗低许多 DSP 芯片都可以工作在省电方式,使系统功耗降低。一般芯片为 0.54W,而采用低功耗技术的 DSP 芯片只有 0.1W,可用电池供电。如 TMS3205510 仅 0.25mW,特别适用于便携式数字终端。DSP 是一种特殊的微处理器,不仅具有可编程性,而且其实时运行速度远远超过通用微处理器。其特殊的内部结构、强大的信息处理能力以及较高的运行速度,是 DSP 最重要的特点。DSP 芯片是高性能系统的核心。它接收模拟信号,如光和声,将它们转化成为数字信号,实时地对大量数据进行数字技术处理。这种实时能力使 DSP 在声音处理、图像处理等不允许时间延迟领域的应用十分理想,
31、成了全球 70%数字电话的“心脏” ,同时 DSP 在网络领域也有广泛的应用。DSP 芯片的上述特点,使其在各个领域得到越来越广泛的应用。1.2.2 DSP 芯片的分类DSP 芯片的使用是为了达到实时信号的高速处理,为适应各种各样的实际应用,出现了多种类型、档次的 DSP 芯片。1按数据格式分类在用 DSP 进行数字信号处理时,首先遇到的问题是数的表示方法。按数的不同表示方法,将 DSP 分为两种类型:一种是定点 DSP,另一种是浮点 DSP。在定点 DSP 中,数据采用定点方式表示。它有两种基本表示方法:整数表示方法和小数表示方法。整数表示方法主要用于控制操作、地址计算和其他非信号处理的应用
32、,而小数表示方法则主要用于数字和各种信号处理算法的计算中。即定点表示并不意味着就一定是整数表示。数据以定点格式工作的 DSP 芯片称为定点 DSP 芯片,该芯片简单、成本较低。在浮点 DSP 中,数据既可以表示成整数,也可以表示成浮点数。浮点数在运算中,表示数的范围由于其指数可自动调节,因此可避免数的规格化和溢出等问题。但浮点 DSP 一般比定点 DSP 复杂,成本也较高。2按用途分类按照 DSP 的用途,可分为通用型 DSP 芯片和专用型 DSP 芯片。通用 DSP 芯片一般指可以用指令编程的 DSP 芯片,适合普通的 DSP 应用,如 TI 公司的一系列 DSP 芯片属于通用型 DSP 芯
33、片。专用 DSP 芯片是为特定的 DSP 运算而设计,只针对一种应用,适合特殊的运算,如数字滤波、卷积和 FFT 等,只能通过加载数据、控制参数或在管脚上加控制信号的方法使其具有有限的可编程能力。如 Motorola 公司的 DSP56200、Zoran 公司的 ZR34881、Inmos公司的 IMSA100 等就属于专用型的 DSP 芯片。本书主要讨论通用型的 DSP 芯片。1.2.3 DSP 芯片的发展及趋势1DSP 芯片的发展历程在 DSP 芯片出现之前,数字信号处理只能依靠通用微处理器(MPU)来完成,但MPU 较低的处理速度却无法满足系统高速实时的要求。直到 20 世纪 70 年代
34、,才有人提出了 DSP 理论和算法基础。那时的 DSP 仅仅停留在教科书上,即便是研制出来的 DSP 系统也是用分立元件组成的,其应用领域仅限于军事、航空航天部门。世界上第一片单片 DSP 芯片是 1978 年 AMI 公司宣布的 S2811。在这之后,最成功的DSP 芯片当数美国德州仪器公司(Texas Instruments,简称 TI)1982 年推出的 DSP 芯片。这种 DSP 器件采用微米工艺、 NMOS 技术制作,虽功耗和尺寸稍大,但运算速度却比MPU 快几十倍,尤其在语音合成和编解码器中得到了广泛应用。DSP 芯片的问世是个里程碑,使 DSP 应用系统由大型系统向小型化迈进了一
35、大步。至 20 世纪 80 年代中期,随着 CMOS 技术的进步与发展,第二代基于 CMOS 工艺的DSP 应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理及图像处理技术的基础。上世纪 80 年代后期,第三代 DSP 芯片问世,运算速度进一步提高,应用范围逐步扩大到通信和计算机领域。上世纪 90 年代 DSP 发展最快,相继出现了第四代和第五代DSP 器件。第五代产品与第四代相比,系统集成度更高,将 DSP 芯核及外围元件综合集成在单一芯片上。这种集成度极高的 DSP 芯片不仅在通信、计算机领域大显身手,而且逐渐渗透到人们的日常消费领域。经过 20 多年的发展,DSP 产品的应用扩大
36、到人们的学习、工作和生活的各个方面,并逐渐成为电子产品更新换代的决定因素。目前,对 DSP 爆炸性需求的时代已经来临,前景十分广阔。现在,世界上的 DSP 芯片有 300 多种,其中定点 DSP 有 200 多种。迄今为止,生产DSP 的公司有 80 多家,主要厂家有 TI 公司、AD(美国模拟器件 Analog Devices)公司、Lucent 公司、Motorola 公司和 LSI Logic 公司。TI 公司作为 DSP 生产商的代表,生产的品种很多,定点和浮点 DSP 大约都占市场份额的 60%;AD 公司的定点和浮点 DSP 大约分别占 16%和 13%;Motorola 公司的定
37、点和浮点 DSP 大约分别占 7%和 14%;而 Lucent 公司则主要生产定点 DSP,约占 5%。TI 公司自 1982 年成功推出第一代 DSP 芯片 TMS32010 及其系列产品后,又相继推出了第二代 DSP 芯片 TMS32020,TMS320C25/C26/C28 ,第三代 DSP 芯片TMS320C30/C31/C32,第四代 DSP 芯片 TMS320C40/C44,第五代 DSP 芯片TMS320C50/C51/C52/C53/C54 和集多个 DSP 于一体的高性能 DSP 芯片 TMS320C80/C82等,以及目前速度最快的第六代 DSP 芯片 TMS320C62x
38、/C67x 等。2国内 DSP 的发展目前,我国 DSP 产品主要来自海外。TI 公司的第一代产品 TMS32010 在 1983 年最早进入中国市场,以后 TI 公司通过提供 DSP 培训课程,不断扩大市场份额,现约占国内DSP 市场的 90%,其余为 Lucent、AD、Motorola、ZSP 和 NEC 等公司所占有。国内引入的主流产品有 TMS320F2407(电机控制) 、TMS320C5409(信息处理) 、TMS320C6201(图像处理)等。目前全球有数百家直接依靠 TI 公司的 DSP 而成立的公司,称为 TI 的第三方(third party) 。我国也有 TI 的第三方
39、公司,它们有的做 DSP 开发工具,有的从事 DSP 硬件平台开发,也有的从事 DSP 应用软件开发。这些公司基本上是 20 世纪 80 年代末、90 年代初才创建的,经过 20 余年,现在已发展到相当规模。对 DSP 的发展,与国外相比,我国在硬件、软件上还有很大的差距,还有很长一段路要走。近年来,在国内一些专业 DSP 用户的推动下,我国 DSP 的应用日渐普及。DSP 毕竟是一个新兴产业,我们对 DSP 的应用前景充满希望和信心。1.2.4 DSP 芯片的应用DSP 芯片的应用几乎已遍及电子与信息的每一个领域,常见的典型应用如下。(1)通用数字信号处理:数字滤波、卷积、相关、FFT、希尔
40、伯特变换、自适应滤波、窗函数和谱分析等。(2)语音识别与处理:语音识别、合成、矢量编码、语音鉴别和语音信箱等。(3)图形/图像处理:二维/三维图形变换处理、模式识别、图像鉴别、图像增强、动画、电子地图和机器人视觉等。(4)仪器仪表:暂态分析、函数发生、波形产生、数据采集、石油/地质勘探、地震预测与处理等。(5)自动控制:磁盘/光盘伺服控制、机器人控制、发动机控制和引擎控制等。(6)医学工程:助听器、X-射线扫描、心电图/脑电图、病员监护和超声设备等。(7)家用电器:数字电视、高清晰度电视(HDTV) 、高保真音响、电子玩具、数字电话等。(8)通信:纠错编/译码、自适应均衡、回波抵消、同步、分集
41、接收、数字调制/ 解调、软件无线电和扩频通信等。(9)计算机:阵列处理器、图形加速器、工作站和多媒体计算机等。(10)军事:雷达与声纳信号处理、导航、导弹制导、保密通信、全球定位、电子对抗、情报收集与处理等。1.3 TMS320 系列 DSP 概述TI 公司的一系列 DSP 产品是当今世界上最有影响的 DSP 芯片。TI 公司常用的 DSP 芯片可以归纳为三大系列:TMS320C2000 系列包括 TMS320C2xx/C24x/C28x 等;TMS320C5000 系列包括 TMS320C54x/C55x;TMS320C6000 系列包括 TMS320C62x/C67x/C64x) 。 同一
42、代 TMS320 系列 DSP 产品的 CPU 结构是相同的,但其片内存储器及外设电路的配置不一定相同。一些派生器件,诸如片内存储器和外设电路的不同组合,满足了世界电子市场的各种需求。由于片内集成了存储器和外围电路,使 TMS320 系列器件的系统成本降低,并且节省了电路板的空间。1.3.1 TMS320C2000 系列简介TMS320C2000 系列 DSP 控制器,具有很好的性能,集成了 flash 存储器、高速 A/D 转换器以及可靠的 CAN 模块,主要应用于数字化的控制。C2000 系列既有带 ROM 的片种,也有带 flash 存储器的片种。例如,TMS320LF2407A 就有
43、32K 字的 flash 存储器,2.5K 字的 RAM,500ns 的闪烁式高速 A/D转换器。片上的事件管理器,提供脉冲宽度调制(PWM) ,其 I/O 特性可以驱动各种马达以及看门狗定时器、SPI、SCI、CAN 等,特别值得注意的是,片上 flash 存储器的引入,使其能够快速设计原型机及升级,不使用片外的 EPROM,既提高速度,又降低成本。因此,C2000 系列 DSP,是比 8 或 16 位微控制器(MCU)速度更快、更灵活、功能更强的、面向控制微处理器。C2000 系列的主要应用包括: 工业驱动、供电、UPS 光网络、可调激光器 手持电动工具 制冷系统 消费类电子产品 智能传感
44、器在 C2000 系列里,TI 目前主推的是 C24x 和 C28x 两个子系列,如表 1.1 所示。表 1.1 TMS320C2000 定点 DSPDSP 类 型 特 性C24x 16 位数据,定点 SCI, SPI,CAN,A/D,事件管理器,看门狗定时器,片上Flash 存储器,2040MIPSC28x 32 位数据,定点 SCI, SPI,CAN,A/D,McBSP,看门狗定时器,片上 Flash存储器,可达 400MIPSC24x 系列所具有的 20MIPS,比传统的 16 位 MCU 的性能要高出很多。而且,该系列中的许多片种的速度要比 20MIPS 高。使用了 DSP 后,就可以
45、应用自适应控制、 Kalman滤波、状态控制等先进的控制算法,使控制系统的性能大大提高。C28x 是到目前为止用于数字控制领域性能最好的 DSP 芯片。这种芯片采用 32 位的定点 DSP 核,最高速度可达 400MIPS,可以在单个指令周期内完成 3232 位的乘累加运算,具有增强的电机控制外设,高性能的模/数转换能力和改进的通信接口,具有 8GB 的线性地址空间,采用低电压供电(3.3 V 外设/1.8 V CPU 核) ,与 C24x 源代码兼容。TMS320C2000 系列 DSP 芯片价格低,具有较高的性能和适用于控制领域的功能。因此在工业自动化、电机控制、家用电器和消费电子等领域得
46、到广泛应用。1.3.2 TMS320C5000 系列简介由于其杰出的性能和优良的性能价格比,TI 的 16 位定点 TMS320C5000 系列 DSP 得到了广泛的应用,尤其是在通信领域。主要应用包括: IP 电话机和 IP 电话网关 数字式助听器 便携式声音/数据/视频产品 调制解调器 手机和移动电话基站 语音服务器 数字无线电 SOHO(小型办公室和家庭办公室)的语音和数据系统TMS320C5000 系列 DSP 芯片目前包括了 TMS320C54x 和 TMS320C55x 两大类。这两类芯片软件完全兼容,所不同的是 TMS320C55x 具有更低的功耗和更高的性能。C54x 是 16
47、 位定点 DSP,适应远程通信等实时嵌入式应用的需要。C54x 具有高度的操作灵活性和运行速度。其结构采用改进的哈佛结构(一组程序存储器总线,三组数据存储器总线,四组地址总线) ,具有专用硬件逻辑的 CPU,片内存储器,片内外设,以及一个效率很高的指令集。另外,使用 C54x 的 CPU 核和用户定制的片内存储器及外设所做成的派生器件,也得到了广泛的应用。本书将以 C54x 为主介绍 DSP 技术,详细内容见后续章节。 C55x 是 C5000 系列 DSP 中的子系列,是从 C54x 发展起来的,并与之原代码兼容,以便保护用户在 C54x 软件上的投资。 C55x 工作在 0.9V 时,功耗
48、低至 0.005mW/MIPS。工作在 400MHz 钟频时,可达 800MIPS。和 120MHz 的 C54 相比,300MHz 的 C55x 性能提高 5 倍,功耗降为 1/6。因此, C55x 非常适合个人的和便携式的应用,以及数字通信设施的应用。C55x 的核具有双 MAC 以及相应的并行指令,还增加了累加器、ALU 和数据寄存器。其指令集是 C54x 指令集的超集,以便和扩展了的总线结构和新增加的硬件执行单元相适应。C55x 像 C54x 一样,保持了代码密度高的优势,以便降低系统成本。 C55x 的指令长度从 8 位到 48 位可变,由此可控制代码的大小,比 C54x 降低 40
49、%。减小控制代码的大小,也就意味着降低对存储器的要求,从而降低系统的成本。总之,C55x DSP 是一款嵌入式低功耗、高性能处理器,它具有省电、实时性高的优点,同时外部接口丰富,能满足大多数嵌入式应用需要。下面举例说明 C54x 和 C55x 在手机中的应用。上世纪 90 年代,全世界的移动电话逐步完成了从模拟到数字式的过渡,即人们所说的从第一代(1G)到第二代 (2G)的过渡,并在很短的时间内,从 2G 向 2.5G 和 3G 发展。几乎所有 2G 手机采用的基带体系结构,都是以两个可编程处理器为基础的,一个是DSP 处理器,一个是 MCU 处理器。在时分多址(TDMA)模式中,DSP 芯片负责实现数据流的调制/解调、纠错编码、加密/ 解密、话音数据的压缩 /解压缩;在码分多址(CDMA )模式中,DSP 芯片负责实现符号级功能,如前向纠错、加密、语音解压缩,对扩频信号进行调制/解调及后续处理。MCU 负责支持手机的用户界面,并处理通信协议栈中的上层协议,MCU 采用了 32 位 RISC 内核,ARM7TDMI 就是此类 MCU 的典型代表。早期的 2G 手机中,这些功能由 C54X 实现,工作频率约 40MHZ;在 2.5G 手机中,这些功能由