1
DSP技术 及应用
陈金鹰 副教授 (博士 )
信息工程学通信工程系
Digital Signal Processor
数字信号处理器
2
主要内容
第一章 DSP技术概述
第二章 DSP芯片结构介绍
第三章 DSP指令系统及特点
第四章 DSP软件开发过程
第五章 汇编语言编程举例
3
第一章 DSP技术概述
第三节 DSP芯片的选择
第一节 DSP系统概述
第四节 DSP芯片的主要优点与应用领域
第五节 DSP应用系统的开发工具
第二节 DSP芯片技术的发展
4
序论
强调的是对以数字形式表现的信号进
行处理和研究的方法。是一门涉及许多
学科且广泛应用于许多领域的新兴学科。
什么是 DSP?
DSP包括两层概念,
1.数字信号处理( Digital Signal
Processing—— DSP)
5
,DSP技术及应用, 课程属于这一层概念,
所涉及内容为如何利用 DSP芯片进行数字信号
的处理。研究的内容为 DSP芯片的结构和特点,
如何通过程序编写,实现对数字信号的处理。
2.数字信号处理器( Digital Signal
Processor—— DSP)
强调的是通过专用集成电路芯片,利用
数字信号处理理论,在芯片上运行目标
程序,实现对信号的某种处理。
6
数学工具:
微积分, 复变函数, 概率统计, 随机过
程, 数值分析, 高等代数, 线性代数, 泛函
数等 。
基础理论:
网络理论, 信号与系统, 现代控制理论
( 包括人工智能, 模式识别, 神经网络, 模
糊控制 ), 现代通信理论, 故障理论和现代
测量等 。
数字信号处理的理论基础:
7
1.在通用的微型计算机 ( PC机 ) 上用软件
( 如 C,Fortran语言 ) 实现 。
缺点是:速度慢
2.用单片机 ( 如 MCS-51,96系列等 ) 实现 。
缺点是:只用于简单数字信号处理 。
3.用通用的可编程 DSP芯片实现 。
DSP芯片有更适合于数字信号处理的软件和
硬件资源, 非常适合于通用数字信号处理的开发,
为数字信号处理的应用打开了新局面 。
数字信号处理的实现方法:
8
4,用于极高速信号处理的专用 DSP芯片 。
缺点:灵活性差, 开发工具不完善 。
5,在通用的计算机系统中加上加速卡实
现 。
缺点:需核心含 DSP的用户加速卡 。
6,用 FPGA等产品实现数字信号处理算法 。
缺点:专用性太强, 而且这种方法的
研发工作也主要不是由一般的用户来完成的 。
9
第一节 DSP系统概述
DSP系统模拟系统
数字信号模拟信号
实时处理
模拟器件 FPGA/CPLD DSP芯片
强调控制 运算过程
10
一,DSP系统的特点
1,精度高

17位字长
模拟网络元件
( R,L,C等)
模拟网络系统
数字系统
DSP,D/A
精度 10-3
精度 10-3
11
2.可靠性强
信号
信号
放大器 A
放大器 B
计算机 A
计算机 B
只要误差不超过 0,1判决电平
A,B结果
可能不同
A,B结果
果相同
12
3.集成度高
表面贴装
ASIC芯片
DSP系统
DSP
CPLD
FPGA
开发
压缩体积
降低成本
13
4,接口方便
以现代数字技术为基础的系统或设备都是兼
容的,系统接口方便。
5.灵活性好
DSP系统
DSP
CPLD
FPGA
可编程
改变软件 不同的功能
硬件更简单
DSP系统开发
周期大大缩短
14
6.保密性好
DSP系统
DSP
CPLD
FPGA
保密
性好
保密
性好
保密
性好
隐蔽内部总线地址变化
做成 ASIC
保密
性能
几乎
无懈
可击
15
7.时分复用
系统 n
信道 1信道 2信道 n
信号的采样
频率与 DSP
系统的运算
速度相比较
低的场合。
实时性要求不
高的场合。




系统 2
系统 1
DSP系统
16
二,DSP系统的设计思路
抗混
叠滤
波器
A/D D/ADSP芯片 平滑滤波





典型的 DSP系统
17
DSP系统设计前:
?明确设计任务
?给出设计任务书
功能描述准确
功能描述清楚
描述的方式
人工语言
流程图
算法描述
?将设计任务书转化为量化的技术指标。
1.总体方案设计 DSP应用
定义系统性能指标
选择 DSP芯片
软件编程 硬件设计
软件调试 硬件调试
系统集成
系统调试
18
技术指标的确定
系统采样
频率
信号
频率
最复杂的算法
所需最大时间
对实时程
度的要求
片内、外
RAM的容量
数量及程序
的长短
16,32位
定点、浮点运算
系统所要求的精度
输入输出
端口要求
计算、控制
选定
DSP
芯片
型号
19
成本
供货能力
技术支持
开发系统
体积
功耗
工作环境温度
DSP
A/D
D/A
RAM
性能指标
其它因素的考虑
20
总体设计
算法
仿真
高级语言 Matlab
最佳算法
初步参数
系统初步分工 软件硬件
21
2,软件设计阶段
源程序
汇编器汇编
目标文件
链接器连接
调试器调试
代码转换
C语言
汇编语言
混合语言
代码写入
EEPROM
可执行文件 软件仿真


22
3,硬件设计阶段
确定最优硬件实现方案
画出硬件系统框图
性能指标
工期
成本等
硬件实现方案 器件的选型
DSP芯片,A/D
D/A、内存、电
源、逻辑控制、
通信、人机接
口、总线等
23
DSP芯片
根据是用于控制还是计
算目的,选择:
不同的厂商
不同系列
不同工作频率
不同工作电压
不同工作温度
采用定点或浮点型芯片
器件的选型原则
24
器件的选型原则
A/D变换
D/A变换
根据采样频率、精度,
确定 A/D型号
是否要求片上自带采样
保持器
多路器
基准电源等。
根据信号频率、精度,
是否要求基准电源
多路器
输出运放等。
25
存储器
RAM, EPROM ( 或 EEPROM,
Flash Memory), 主要考虑:
工作频率
内存容量位长 ( 8位 /16位 /32
位 )
接口方式 ( 串行 /并行 ),
工作电压 ( 5V/3.3V或其他 ) 。
器件的选型原则
26
逻辑控制
先确定所用器件, 如 PLD、
EPLD或 FPGA;
再根据自己的特长和公司芯片
的特点决定采用哪家公司的哪一
系列产品;
最后根据 DSP芯片的频率决定
芯片的工作频率, 并以此来确定
使用的芯片 。
器件的选型原则
27
通信接口
根据与其他
系统通信的速
率决定采用的
通信方式:
串口
并口
总线
器件的选型原则
28
总线选择
根据使用场合, 数据
传输速率的高低 ( 总线
宽度, 频率高低, 同步
方式等 ) 选择:
PCI
ISA
现场总线
器件的选型原则
29
器件的选型原则
人机接口
电源选取
可以通过单片机构成
通信, 也可在 DSP的基
础上直接构成 。
键盘
显示器等
主要考虑电压的高低
和电压的大小 。
电压高低要匹配
电流容量要足够
30
必须清楚了解器件的使用和系统的开发,
对于关键环节要做仿真 。
原理图设计
PCB板设计
要求 DSP系统设计人员既要熟悉系统工作
原理, 又要清楚布线工艺和系统结构设计 。
软、硬件调试
借助仿真工具或开发工具进行软, 硬件仿
真调试时, 往往要反复多次调试 。
31
4,系统集成
系统集成,是将软硬件结合起来,并
组合成样机,在实际系统中运行,进行
系统测试。
如果系统测试结果符合设计指标,则
样机设计完毕。
但由于在软硬件调试阶段调试的环境
是模拟的,因此在系统测试时往往会出
现一些问题,应找出原因,不断改进。
32
第二节 DSP芯片技术的发展
1978年,AMI公司 生产的 S2811;
1979年美国 Intel公司 的商用可编程器件 2920;
这两种是 DSP芯片的一个主要里程碑。
特点:没有现代 DSP芯片所必须有的单周期乘
法器。
1980年,日本 NEC公司 推出 μ PD7720。
特点:是第一片具有乘法器的商用 DSP芯片。
33
1982年,美国 德州仪器公司 ( Texas
Instruments—— TI)推出第一代 DSP
TMS320010及其系列产品,目前已发展到
第六代。
TI公司的系列 DSP产品已经成为了当今
世界最有影响的 DSP芯片,其 DSP市场占有
量占全世界份额的近 50%,成为世界上最
大的 DSP芯片供应商。
34
1982年, 日本东芝公司 推出浮点 DSP芯片 。
1984年, AT&T公司 推出 DSP32,是较早的
具备较高性能的浮点 DSP芯片 。
1986年, Motorola公司 推出了定点 DSP
MC56001。 1990年, 推出了与 IEEE浮点格式兼
容的浮点 DSP芯片 MC96002。
美国 模拟器件公司 ( Analog Devices— AD)
相继推出了定点 DSP芯片 ADSP21xx系列, 浮点
DSP芯片 ADSP210xx系列 。
35
20多年来, DSP芯片得到了迅猛
发展, 主要体现在如下方面:
1,在生产工艺上 采用 1μm以下的 CMOS制造工艺技
术和砷化镓集成电路制造技术,使集成度更高,功
耗更低,从而使高频、高速的 DSP处理器得到更大
的发展。
2.基本结构上 以 RISC结构、单片并行计算机结构
为主导,脉冲阵列和数据流阵列也将成为并行处理
器的主要体系结构。设计、测试简单,易模块化,
易于实现流水线操作和多处理器结构。
36
3,模拟 /数字混合上 集滤波,A/D,D/A及
DSP处理于一体,将成为 DSP发展的主要方向,
是 DSP厂商的主要增长点。
4,DSP技术与 ASIC技术融合上 在 DSP芯片中
嵌入 ASIC模块,进一步扩大 DSP逻辑控制功能。
5,代码兼容性上 将推出更新的、更强大的
优化 C编译器来适应不同型号的 DSP代码生成,
各种 DSP的开发、加速、并行处理插件板也将
大量涌现。
37
第三节 DSP芯片的选择
设计 DSP应用系统,选择 DSP芯片是非常
重要的一个环节。
只有选定了 DSP芯片才能进一步设计其外
围电路及系统的其它电路。
选择原则,根据实际应用系统需要、应
用场合、目的,选择满足所需功能、成本低、
耗电小、使用方便、有技术支持、升级方便
的芯片。
38
1,TI公司的 DSP芯片
TI公司常用的 DSP芯片可以归纳为三大系列:
( 1) TMS320C2000系列, 称为 DSP控制器, 集成了
flash存储器, 高速 A/D转换器以及可靠的 CAN模块及数
字马达控制的外围模块, 适用于三相电动机, 变频器
等高速实时工控产品等需要数字化的控制领域 。
( 2) TMS320C5000系列, 这是 16位定点 DSP。 主要
用于通信领域, 如 IP电话机和 IP电话网关, 数字式助
听器, 便携式声音 /数据 /视频产品, 调制解调器, 手
机和移动电话基站, 语音服务器, 数字无线电, 小型
办公室和家庭办公室的语音和数据系统 。
一、主要的 DSP芯片种类
39
( 3) TMS320C6000系列 DSP 采用新的超
长指令字结构设计芯片 。 其中 2000年以后推
出的 C64x,在时钟频率为 1.1GHz时, 可达到
8800MIPS以上, 即每秒执行 90亿条指令 。 其
主要应用领域为:
1) 数字通信 完成 FFT,信道和噪声估
计, 信道纠错, 干扰估计和检测等 。
2) 图像处理 完成图像压缩, 图像传输,
模式及光学特性识别, 加密 /解密, 图像增
强等 。
40
2,AD公司的 DSP芯片
特点:系统时钟一般不经分频直接使用 。
定点 DSP芯片的程序字长为 24位, 数据字
长为 16位 。 一般具有 2个串行口, 1个内部定
时器和 3个以上的外部中断源, 此外还提供 8
位 EPROM程序引导方式 。
浮点 DSP芯片, 程序存储器为 48位, 数据
存储器为 40位, 支持 32位单精度和 40位扩展
精度的 IEEE浮点格式, 内部具有 32× 48位的
程序 Cache,有 3至 4个外部中断源 。
41
AD的 BLACKFIN ADSP-21535
42
3,AT&T公司的 DSP芯片
定点 DSP芯片 的程序和数据字长均为 16位,
有 2个精度为 36位的累加器, 具有 1个深度为
15字的指令 Cache,片内具有 2K字的程序 ROM
和 512字的数据 RAM。
浮点 DSP芯片, 80/100ns的指令周期,片
内具有 3个 512字的 RAM块,或 2个 512字的 RAM
块加 1个 4K字的 ROM块。可以寻址 4M字的外部
存储器。具有 4个 40位精度的累加器和 22个
通用寄存器。
43
LUCENT用 STARCORE开发的新 DSP
44
4,Motorola公司的 DSP芯片
定点 DSP芯片 程序和数据字长为 24位,有
2个精度为 36位的累加器。
浮点 DSP芯片,累加器精度达 96位,可
支持双精度浮点数,该芯片的指令周期为
50/60/74ns。内部具有 10个 96位或 32位基于
寄存器的累加器。
适合于自适应滤波的专用定点 DSP芯片,
程序字长和数据字长分别为 24位和 16位,累
加器精度为 40位。
45
M
S e m i c o n d u c t o r P r o d u c t s S e c t o r
1.55 o f 74
www,m o to r o l a, c o m / m c o r e
MM ?? C OR E + D S PC OR E + D S P
D S P 5 6 6 5 2 D S P 5 6 6 5 2 -- D U A L C O R E I N T E G R A T E DD U A L C O R E I N T E G R A T E D
C E L L U L A R B A S E B A N D P R O C E S S O RC E L L U L A R B A S E B A N D P R O C E S S O R
DSP
D eb u g
B a s eb a n d
S er i a l P or t
A u d i o
S er i a l P or t
S m a r tc a r d
In te r f a ce
E xt er n a l
B us
In te r f a ce
D S P /M C U
In te r f a ce
1024 x 16
PRAM
512 x 24
C l oc k s /P LL
M ? CO RE
μ R I S C
M C U co r e
M ? CO RE
μ R I S C
M C U co r e
μ C
D eb u g
JT A G
U A R T
M U X
RAM
512 x 32
ROM
4K x 32
K ey pa d
In te r f a ce
G P T
T D M A
T i m er
D a t a R A M
13k x 16
T i m er /P I T
W a tc h do g
Q S P I
S er i a l P or t
D a t a R O M
20k x 16
P R O M
48 K x 24
56600
D S P co r e
56600
D S P co r e
? T a rg e t A p p lic a t io n ( 目标应用 )
? D i g i t a l C o mmu n i c a t i o n s ( 数字通信 )
? D u a l C o re s ( 双核心 )
? M56 6 0 0 1 6 - b i t D S P c o re
? M20 0 3 2 - b i t R I S C c o re
? Volt a g e ( 电源电压 )
? 2, 0 V + / - 0, 2 V
? F re q u e n c y ( 工作频率 )
? DC - 6 0 Mh z D S P
? DC - 2 0 Mh z M ? C O R E
? Pow e r D is s ip a t io n ( 功耗 )
? 0, 9 mW / MH z D S P
? 0,, 2 8 mW / MH z M ? C O R E
? T e mp e ra t u re ( 温度范围 )
? - 40 t o 8 5 C ( I n d u s t r i a l )
? Pa c k a g in g ( 封装形式 )
? 196 - p i n P B G A
? T e c h n o lo g y ( 工艺 )
? 0, 3 2 μ (1 Q 9 8 )
990407
46
5.其他公司
NEC公司的 μ PD77C25,μ PD77220定点
DSP芯片和 μ PD77240浮点 DSP芯片等。
LUCENT的 DSP1600等,
INTEL也有自己的 DSP产品。
INTEL&AD 的新 DSP CORE
47
1,DSP芯片的运算速度
MAC时间,一次乘法和一次加法的时间 。 大部分
DSP芯片可在一个指令周期内完成一次乘法和一次加
法操作 。
FFT执行时间,运行一个 N点 FFT程序所需时间 。 由
于 FFT运算在数字信号处理中很有代表性, 因此 FFT运
算时间常作为衡量 DSP芯片运算能力的一个指标 。
MIPS,每秒执行百万条指令 。
MOPS,每秒执行百万次操作 。
MFLOPS,每秒执行百万次浮点操作 。
BOPS,每秒执行十亿次操作 。
二、选择芯片考虑的因素
48
2,DSP芯片的价格
如果采用价格昂贵的 DSP芯片, 即使性能再
好, 其应用范围也受到一定限制, 尤其是民
用产品 。
3,DSP芯片的硬件资源
不同 DSP芯片所提供的硬件资源不同, 如片
内 RAM,ROM的数量, 外部可扩展的程序和数
据空间, 总线接口, I/O接口等 。
4,DSP芯片的运算精度
一般的定点 DSP芯片字长为 16位, 少数 24位 。
浮点芯片的字长一般为 32位, 累加器为 40位 。
49
5,DSP芯片的开发工具
在 DSP系统的开发过程中, 如果没有开发
工具的支持, 要想开发一个复杂的 DSP系统几
乎是不可能的 。 功能强大的开发工具, 可使
开发时间大大缩短 。
6,DSP芯片的功耗
便携式的 DSP设备, 手持设备, 野外应用
的 DSP设备等对功耗有特殊的要求 。
7,其他因素
除了上述因素外, 还要考虑到封装形式,
质量标准, 供货情况, 生命周期等 。
50
一般地讲:
定点 DSP芯片的价格较便宜, 功耗较低,
但运算精度稍低 。
浮点 DSP芯片的优点是运算精度高, 用 C
语言编程调试方便, 但价格稍高, 功耗较大 。
DSP应用系统的运算量是确定选用 DSP芯
片处理能力的基础 。 运算量小, 则可选用处
理能力不是很强的 DSP芯片, 降低系统成本 。
如果单片 DSP芯片达不到要求, 则需选用
多个 DSP芯片并行处理 。
51
第四节 DSP芯片的
主要优点与应用领域
一,DSP芯片的优点
1.哈佛结构
2.多总线结构和多处理单元
3,流水线技术
4.特殊的 DSP指令
5.指令周期短
6,运算精度高
7,硬件配置强
8,耗电省
52
二,DSP芯片的主要应用领域
据预测,到 2007年,DSP的市场将达
到 500亿美元。目前 DSP的应用主要
包括如下方面:
( 1)信号处理 如数字滤波、自
适应滤波、快速傅里叶变换、希尔
伯特变换、小波变换、相关运算、
谱分析、卷积、模式匹配、加窗、
波形产生等。
53
( 2)通信 如调制解调器、自适应均
衡、数据加密、数据压缩、回波抵消
、多路复用、传真、扩频通信、纠错
编码、可视电话、个人通信系统、移
动通信、个人数字助手( PDA),X.25
分组交换开关等。
( 3) 语音 如语音编码, 语音合成,
语音识别, 语音增强, 说话人辨认,
说话人确认, 语音邮件, 语音存储,
扬声器检验, 文本转语音等 。
54
( 4) 军事 如保密通信, 雷达处理,
声纳处理, 图像处理, 射频调制解调
,导航, 导弹制导等 。
( 5) 图形与图像 如二维和三维图形
处理, 图像压缩与传输, 图像增强,
动画与数字地图, 机器人视觉, 模式
识别, 工作站等 。
( 6) 仪器仪表 如频谱分析, 函数发
生, 锁相环, 地震处理, 数字滤波,
模式匹配, 暂态分析等 。
55
( 7) 自动控制 如引擎控制, 声控, 机器人
控制, 磁盘控制器, 激光打印机控制, 电动机
控制等 。
( 8) 医疗 助听器, 超声设备, 诊断工具, 病
人监护, 胎儿监控, 修复手术等 。
( 9) 家用电器 如高保真音响, 音乐合成,
音调控制, 玩具与游戏, 数字电话与电视, 电
动工具, 固态应答机等 。
( 10) 汽车 如自适应驾驶控制, 防滑制动器
,发动机控制, 导航及全球定位, 振动分析,
防撞雷达等 。
56
第五节 DSP应用系统的开发工具
开发工具的好坏对代码的长度, 代码的执
行速度起着关键的作用, 开发工具的功能
是否齐全, 使用是否方便, 在很大程度上
将影响 DSP系统的开发周期以及产品上市
时间 。
由于不同厂商, 不同系列的 DSP都有自己
的开发工具, 因此开发工具的选择也是重
要的一环 。
57
代码产生工具 对用户开发的高级语言或汇
编语言源代码进行编译, 生成可以在目标 DSP
上运行的可执行代码 。
代码调试工具 根据调试者的命令观察 DSP的
状态, 控制 DSP代码的执行, 进行结果显示,
对用户的代码进行调试或性能测试 。
DSP的开发工具
58
1,代码产生工具
( 1) TMS320优化 C编译器 ( Optimizing ANSI
C Compilers) C编译器的输入是 C语言源代
码, 输出为 TMS320汇编代码, 它用于把符合
ANSI标准的 C代码转换为目标 DSP汇编代码,
使用户可以用 C语言编写代码 。 并且, 配套的
代码调试工具支持 C代码的源码调试 。 TI公司
的编译器支持除 TMS320C1x外的所有 DSP产品 。
TI公司的开发工具
59
( 2) TMS320汇编器, 连接器 ( Assembler、
Linker) 汇编器和连接器用于把汇编代码转
换为可在目标 DSP上运行的可执行目标代码 。
支持宏汇编和目标库, 产生的目标代码可重新
定位, 在程序地址空间中的具体地址可变 。
其中汇编器用于把汇编语言文件转换成机器语
言的目标文件 。 连接器用于把多个目标文件连
接成可执行的目标代码 。 在连接过程中, 连接
器完成目标代码的定位, 解决符号的外部引用
等 。
60
2,代码调试工具
( 1 ) TMS320 源码调试器 ( C Source
Debugger) 它在 PC机或工作站上运行, 是开
发环境中主机与软件仿真器, 软件评价模块或
硬件仿真器之间的标准接口 。 它与这些调试器
一起配合使用, 完成对用户程序的调试 。
程序调试可以在 C,汇编或 C/汇编混合模
式下进行调试, 调试器具有条件执行, 单步执
行, 断点等基本功能, 并支持多个 DSP。
61
( 2 ) TMS320 软 件 仿 真 器 ( TMS320
Software Simulators)
TMS320软件仿真器是一个软件程序, 它在
PC机或工作站上运行, 通过模拟 DSP的运行验
证和调试 TMS320程序 。
采用软件仿真器, 编程者可以在没有目标
硬件的情况下进行软件开发 。
在软件仿真器上调试用户软件时, 可以用
对主机数据文件的读写代替对特定 I/O的数据
读写, 以模拟与 DSP接口的 I/O器件;另外软件
仿真还可以模拟中断信号 。
62
( 3) TMS320系统调试和评价工具 TMS320
有一系列系统调试工具用于代替或协助目标系
统进行软件评价和开发 。
现有的产品有:
DSK初学者开发套件 ( DSP Starter Kit)
EVM软件评估模块 ( Evaluation Module)
XDS510硬件仿真器 ( Extend Development
Support Emulators) 。
TI公司还提供集成开发工具 CCS( Code
Composer Studio),CCS可从网上下载,可进
行软、硬件仿真和系统分析,受到广泛应用。
63