数字信号处理方法与实现
贺知明 副教授
电子科技大学
四川 ?成都
DSP结构特点、分类、发展及应用
实时数字信号处理系统,
采集系统 + DSP芯片
非实时系统,
PC机上进行处理系统的模拟与仿真
或 仿真库 + DSP芯片
两个方面促进了 DSP的发展
大规模集成电路技术的发展
算法革命
例:以 FFT快速算法为代表的新算法的提
出。
DSP,MPU,MCU的比较
DSP(数字信号处理器),面向高性能、
重复性、数值运算密集型的实时处理;
MPU(通用微处理器,含 CPU):大量
应用于计算机;
MCU(微控制器):适用于以控制为主
的处理过程。
MPU与 DSP结构上的对比
MPU:采用冯 ?诺依曼结构,即程序指令
和数据共用一个存储空间和单一的地址
和数据总线;
MPU与 DSP结构上的对比
DSP:为提高运算速度,满足实时算法
要求,当前 DSP采用 哈佛结构,即将程
序指令和数据的存储空间分开,各有自
己的地址和数据总线,使得处理指令和
数据可同时进行,大大提高处理效率。
即可流水处理(取指、译码、访问数据、
执行等各指令周期重叠起来)。
MPU与 DSP结构上的对比
DSP结构相对单一,一般采用汇编语言
编程,其任务 完成时间的可预测性 相对
于结构和指令复杂,并严重依赖于编译
系统的 MPU具有优势。
基于 DSP的优势,新推出的高性能 MPU
片内已融入了 DSP功能。
MPU与 DSP结构上的对比
通常,在相同的指令周期和片内指令缓
存条件下,DSP是 MPU运算速度的 4倍
以上。
实时数字信号处理技术的核心和标志是
数字信号处理器( DSP)。
DSP的结构特点 ( 1)
普遍采用数据总线和程序总线分离的哈
佛及改进哈佛结构(超级哈佛结构)。
与严格意义上的哈佛结构的区别在于:它允许
数据在程序存储空间和数据存储空间之间传输,
从而提高运行的速度和编程灵活性,没有必要
设置专门的系数 ROM,给系统设计带来方便。
DSP的结构特点 ( 2)
采用流水技术。
每条指令都由片内多个功能单元分别完成,在
不提高时钟频率的条件下,减少每条指令的执
行时间。
DSP的结构特点( 3)
片内多条总线可以同时进行取指令和多
个数据存取操作,并有辅助寄存器用于
寻址。
DSP的结构特点 ( 4)
大多配有独立的硬件乘法器和加法器。
主要针对滤波、相关、矩阵运算等处理过程需
要大量乘法累加运算的特点,使得同一时钟周
期内可以完成乘及累加两个运算,也大大加快
了 FFT的蝶形运算速度。
DSP的结构特点 ( 5)
带有 DMA通道控制器及串行通信口等,
配合片内多总线结构,数据块传输速度
大大提高。
DSP的结构特点 ( 6,7)
配有中断处理器和定时控制器,可以方
便地构成一个小规模系统。
具有软硬件等待功能,能与各种外部存
储器接口。
DSP的分类
数字信号处理器的采用是为了达到实时
信号的高速处理,为适应各种不同的实
际应用,产生了多种类型、不同档次的
DSP器件。
DSP按用途分类
专用 DSP:硬件直接实现。
一般只针对一种应用,只能通过加载数
据,控制参数或在管脚上加控制信号来
使其具有 有限的可编程能力 。
几乎都采用 定点数据格式 。
通用 DSP:用软件实现。
专用 DSP
针对某种具体应用而设计,常见的有,
卷积 /相关器 A100,PDSP16256、
HSP43168,FFT专用 DSP PDSP16510、
A41102,复乘加器组 PDSP16116和
PDSP16318,复数乘法器 GA3806,求
模 /相角器 PDSP16330等。
卷积 /相关器 A100
A100是由 INMOS公司生产的 32位可变系
数字长的横向滤波器。
输入
…..,x x x CN-1 CN-2 C0
+ D + …..,D + 输出
转置型横向滤波器
卷积 /相关器 A100
系数字长
W


输入
字长
输出
范围
输出
字长
内部
字长
可级
联否
晶振 F 工作
频率
封装
4,8,
12,16bit
32 16bit 4级
可选
24bit
36bit
是 30MHz 2F/W
84PGA
4种可变
系数字长
固定
阶数
采用定点数据格式,为保
证精度和防止溢出,其片
内运算单元采用较宽字长,
并有移位控制功能可选择
合适的输出字段
如,W=12bit,工
作频率为 5MHz
采用多个功能操作一致的乘加器组,易
流水实现。
可多片级联使用,以增加滤波器长度。
A100曾广泛应用,但处理能力相对落后,
已由 PDSP16256取代。
卷积 /相关器 A100
卷积 /相关器 PDSP16256
PLESSY GEC公司产品,固定系数字长
( 12bit),可变阶数的横向滤波器。
内部为两个可分 /可级联的 8阶横向滤波
器,全速( 40MHz)工作时,相当于 16
阶。
若按 2的幂次复用各阶乘法器,则可以在
工作速率倍减的同时,获得阶数的倍增。
卷积 /相关器 PDSP16256
也采用转置型横向滤波器结构(可级
联),与 A100不同的是它的每个抽头
都对应很多个系数,当系数循环切换,
而数据暂时不更新时,相当于对同一
输入数据乘以多组权系数,等效于系
数字长加长。
卷积 /相关器 PDSP16256
可见,处理能力有了较大提高。
缺点是系数字长固定为 12bit,精度受限。
系数字
长 W
阶数 输入
字长
输出
字长
内部
字长
可级
联否
晶振 F 工作
速率
封装
12bit 16*2m 16bit 32bit 32bit
是 40MHz F/ 2m
144PQFP
208PQFP
m=0,1,2,3,最大 16*23=128 阶,对应工作速率 5MHz
FFT专用 DSP—— PDSP16510
PLESSY GEC公司产品,40MHz主频,
256点与 1024点两种工作模式,可提供
1024点复数 FFT所需工作空间,1024
点 FFT需要在前端加上数据缓存器,并
有无重合,1/4重合,1/2重合和 3/4重
合等多个选项。
FFT专用 DSP—— PDSP16510




16bit(实)
16bit(虚)
工作区 A
工作区 B
窗函数( 3组)
旋转因子 ROM表
40MHz


定标输入
实部输出
虚部输出
16bit
16bit
FFT专用 DSP—— PDSP16510
在 40MHz系统时钟条件下,单片完成
1024点复数 FFT(基 -4)的片内处理时
间为 98us,并在 2*25.6us内完成数据的
输入和输出。 1024/ 40MHz= 25.6us
FFT专用 DSP—— PDSP16510
无重合时,相当于 6.8MHz的数据吞吐率。
1/4重合时,相当于 5.1MHz的数据吞吐率。
1024 /( 98+ 2*25.6) us
= 6.8MHz
768 /( 98+ 2*25.6) us
= 5.1MHz
FFT专用 DSP—— PDSP16510
可以看出,当系统采用 1/4重合的最小重
叠模式时,系统采用低于 5.1MHz的采样
时钟是可行的,但当采样率大于 5.1MHz
时,无法满足系统的实时性要求。
专用 DSP设置的不灵活(如固定的重叠
模式)的缺点,及芯片本身性能的限制
很大程度上制约了它的应用。
EPLD/FPGA实现专用 DSP功能
随着 EPLD/FPGA集成度、速度的不断提
高,可按照用户的要求设计出相应的专
用 DSP,专用性更强。
相对于 ASIC技术设计的专用 DSP,
EPLD/FPGA技术实现的 DSP在集成度和
速度上略有差距,但具有方便、快捷、
灵活和低成本的特点。
通用 DSP
早期,
S2811( 1978),2920( 1979),
二者均无单周期乘法器;
μPD7720是第一块具有专门硬件乘法器
的商用 DSP芯片。
通用 DSP
当前通用 DSP最有影响的厂商,
TI( TMS320系列),ADI( ADSP
SHARC系列),产品系列最全,市
场占有率最高。
另,Motorola( PowerPC系列)
TMS320系列家族的发展
TMS32010
( 1982)
TMS320C10(改
进哈佛结构) TMS320C2X
TMS320C3X
(浮点)
TMS320C4X
(并行 DSP)
TMS320C5X/C54X
/C55X(定点)
TMS320C62X/C64X(定
点) /C67(浮点)
ADSP SHARC( TigerSHARC)
系列家族的发展
ADSP21XX
( ADSP210X、
211X,217X、
218X,219X)
Blackfin
( ADSPBF53X、
ADSPBF56X)
定点,
浮点,
高端,
低端,
ADSP21060 ADSP21160M
ADSP21061 ADSP21161N
ADSPTS101 ADSPTS201
ADSPTS202/203
ADSP21160~TMS320C6701性能比较
指标 TMS3200C6701 ADSP21160
主频 167MHz,1GFLOPS 100MHz,600MFLOPS
内存 1Mbit 4Mbit
指令结构 VLIW SIMD
指令字 8*32bit 48bit
累加器 40bit 80bit
链路口 无 6个 8bit链路口
外部总线 32bit 64bit
DMA 4通道 14通道
循环寻址缓冲 8个 32个
并行多处理器结构 无 有
1024点复 FFT时间 120us 90us
对外部存储器速度
要求
6ns 20ns(倍频产生核工作时钟,
外部时钟本身并不高)
ADSP21160与 ADSP21060的比较
ADSP21160的主频( 100MHz)是
ADSP21060 ( 40MHz)的 2.5倍,
且有两个并行的处理内核( SIMD结
构),所以运算速度是后者的 5倍;
DMA通道数由 10个增加为 14个;
链路口位宽由 4bit增加为 8bit。
当前最先进的通用 DSP
2003年 6月,ADI在召开的嵌入式处理器论坛
上发布,推出新一代 TigerSHARC处理器产品
ADSPTS201/202/203。
2004年 7月,TI公司 宣布通过采用新型数字信
号处理器 TMS320C6711,基于 DSP 的系统
设计人员不仅能提高系统性能还可以显著降低
DSP 成本。
ADSPTS201和 TMS320C6711D是目前浮点
DSP中性能最高,速度最快的两款浮点 DSP。
TMS320C6414T-1000是目前最快的定点 DSP。
指标
TS201
TMS320C6711D
TMS320C6414T-
1000
主频
600MHz/500MHz
250MHz
1GHz
指令周期
1.67ns/2ns
4ns
1ns
指令数 /周期
4个 32bit的指令
8个 32bit的指令
8个 32bit的指令
MIPS(每秒百
万条指令)
2400
2000
8000
MFLOPS
3600( 2个运算核,每
个可执行 3条浮点操作 /
周期。 1个浮点乘,1个
浮点加,1个浮点减)
1500
( 6个浮点运算单元)

MACS
80bit时 1.2GMACs
40bit时 4.8GMACs
500MMACs
( 2MACs/周期)
16bit时 4GMACs
8bit时 8GMACs
1024点复数 FFT
15.7us
指令结构
VLIW支持 SIMD
VLIW
VLIW
片内存储器
24Mbit
64Kbit L1
512Kbit L2
256Kbit L1
8Mbit L2
内部数据总线
4条 128bit
1条 256bit
1条 256bit
内部地址总线
4条 32bit
1条 32bit
1条 32bit
内部数据率
38.4Gbytes/s
8Gbytes/s
32Gbytes/s
指令字
4 x 32 bit
8 x 32 bit
8 x 32 bit
通用寄存器
32个 32bit
32个 32bit
64个 32bit
数据格式
32/40 bit浮点
1-,8-,16-,32-,40-
,64-,128- bit定点
32/40 bit浮点
64bit 浮点
32bit定点
8-,16-,32-bit定点
累加器
80bit


DMA
14 个通道
16个通道
64个通道
片外数据总线
64 bit
32bit
32-,16-bit
片外地址总线
32bit
28bit
32bit
链路口
4个 8bit全双工 LVDS



链路口传输率
1G bytes/s


并行多处理器
结构
支持多达 8个处理器


指令
代数表达式
高复杂
高复杂
串口
2个
2个多通道缓冲串口
3个
定时器
2个 64bit的定时器
2个 32bit的定时器
3个 32bit的定时器
JTAG
支持
支持
支持
内部 PLL



工作电压
2.5V VDDIO
1.2V VDD
1.5V VDD_DRAM
3.3-V I/O,
1.40-V内部电压
3.3-V I/O,
1.20-V内部电压
封装
576BGA
272BGA
532BGA
价格
万片定价,299$/片
万片定价,18$/片
万片定价, 189$/片
主要应用
高性能、大存储量的信号
处理和图像应用,2G、
2.5G和 3G无线基站、雷达
与声纳应用
生物辨识与语音识别,
仪表、测试计量、智能传
感器接口以及机器人技术
等工业应用,医疗设备、可
视化检查、振动分析、雷
达声纳以及车载电子设备
视频与影像应用,语音与音
频应用,自适应天线阵列到
智能车载乃至人造视觉,无
线基站、基于 IP 的视频、
高速宽带联网、医学诊断
与雷达,
开发工具
VisualDSP++3.0for
TigerSHARC
支持汇编和 C语言
Ccs2.0 of dsp 6000
支持汇编和 c语言
Ccs2.0 of dsp 6000
支持汇编和 c语言
比较结果
TigerSHARC处理器更适合构成多处理器
系统 。
TigerSHARC处理器提供两种类型的接口,这
两种接口直接支持可扩展的多处理器系统,而无
需价格很高的外部逻辑电路。 簇总线接口 可支持
连接高达 8个 TigerSHARC处理器,一个共享公共
总线的外部存储器和一个全局存储器映射,从而
形成一种非常简单的多处理器编程模式。 链路口
是一个带宽很宽的接口,他提供 TigerSHARC处
理器之间或 TigerSHARC处理器与其他器件之间
点对点通信。这些接口的总带宽超过 5Gbps,该
性能远远超过所有同类的处理器。
比较结果
TigerSHARC处理器做定点和浮点处理
都可以,比 TI的更具灵活性 。
TigerSHARC处理器内核在高性能信号处理
器中之所以独特,因为它直接支持定点和浮点
两种数据类型,同时它还具有一种专门针对通
信和图象应用的独特指令集。
比较结果
TigerSHARC 处 理 器 处 理 速 度 远 大 于
TMS320C6711D。
TigerSHARC处理器编程相对 TMS320C6711
容易 。
TigerSHARC处理器的价格比 TI的产品贵 。
同系列的 DSP芯片 TS202与 TS201相比, 主频
500MHz,内部存储器为 12Mbit,价格降低了一半;
TS203的内部存储器为 4Mbit,售价更低 。
通用 DSP的发展趋势
集成度及性能加速增长,低功耗,更加
密集的封装形式(如 BGA)
软件化(如软件无线电概念)
模块化设计(采用标准化总线接口)
多芯片组装技术( MCM)
与可编程器件结合( FPGA+ DSP)
DSP的应用
DSP芯片的确定
存储器(类型、容量、速度)确定
I/O设计
主控设计
DSP软件设计
DSP开发工具
DSP芯片的确定
根据实际应用要求的处理速度,内存需
求,是否需要多处理系统以及开发成本
等因素,选择合适的 DSP来构成实际
的 DSP系统 。具体可考虑以下因素,
运算速度、硬件资源、运算精度、功
耗、开发工具、成本价格、封装形式
运算速度
指令周期
MAC
FFT执行时间
MIPS
MOPS
MFLOPS
硬件资源
包括片内 RAM,ROM的容量,外部可扩
展的程序和数据空间,总线接口,I/O接
口等。
运算精度
定点 DSP:精度较低,功耗较低,价格低
浮点 DSP:精度较高,功耗较高,价格高
芯片功耗
某些 DSP应用场合,如便携式、机载、
空间应用等,需要低功耗芯片。
这也是 DSP的发展趋势之一。
成本价格
民用产品的成本限制
开发周期的价格规律
DIP,PGA,PLCC,QFP,BGA
越来越密集的封装形式
商用级、工业级或军品级芯片
封装形式
DSP软件设计
通过编程进行算法实现,并使程序效率
满足实时性要求。
汇编:代码效率高,复杂
高级语言( C):可读性强,易维护,代
码效率不高
混合编程:通常以 C代码为主体,调用汇
编代码函数(算法核心,占用大部分运
行时间,达 95%)
DSP软件设计过程
了解编程规范
进行软件组织
控制程序 +初始化程序 +I/O程序 +核心算
法程序
其中,存储器配置很重要,文档管理
(修改记录、程序注释)也必不可少
注意:模块化设计,易于调试
DSP开发工具
软硬件配合调试,需要硬件仿真器
( Emulator)和软件模拟器
( Simulator),它们都属于 DSP开发
工具。
选择开发工具是选择 DSP的重要参考
指标。
开发环境构成
主机
(微机或
工作站)
+
目标机(装有目标 DSP
的硬件系统或由软件模
拟的目标处理器)
通讯采用串口、并口、微
机总线( PCI,ISA)、或
专用仿真接口( JTAG)
基本开发工具
代码产生工具 和 调试工具
对源代码编译,生成可
在 DSP上运行的可执行
代码,并进行链接。
Compiler + linker
观察工作状态,控制代码执
行,并显示结果,用于调试
及性能测试。 Debugger、
Simulator(软件模拟器)、
EVM(评估模块,带目标
DSP、存储器及接口)、
Emulator(硬件仿真器)等
常用开发工具
不同 DSP厂商有自己特有的开发工具
(软件集成环境),
TI,CCS( Code Composer Studio)
ADI,VisualDSP (含 C compiler、
Assembler,Linker,Simulator,
Debugger)