5.6 数字信号处理硬件
- 数字信号处理器
一、数字信号处理器的发展概况
? 1988年以来 DSP的市场每年以 40%的
速度在增长,已超过了半导体的增长
速度。预计到 2007年 DSP连同混合信
号处理器件的市场将达到 500亿美元。
? 2003年 DSP的市场为 100多亿中国已
占 12%。
数字信号处理器 ( DSP) 的典型应用
自动化控制 消费电子 电子通信
导航和全球定位 数字无线收音机和电视机 自适应均衡
振动分析 智能玩具 ADPCM 变换编码器
声控 数字留言机 蜂窝电话
磁盘驱动控制 扫描仪 频道复合
激光打印控制 洗衣机 数字语音嵌入
机器人控制 机顶盒 IP 电话
自动驾驶 VC D/ DV D 无线调制解调器
可视电话
传真机
空调
语 音 图形 / 图象 工业应用
语音综合 3-D 旋转 数字控制
语音增强 图象压缩与传输 安全通道
语音辨识 图象增强 机器人技术
语音编码 图象识别 在线监控
语音邮件
文本至语音转换
仪 器 医疗器件 军事器件
数字滤波器 诊断设备 图象处理器
函数发生器 胎儿监听器 导弹制导
锁相环 助听器 导航
瞬时分析仪 病情监控器 雷达处理器
频谱分析仪 心电 / 脑电 保密通信
数据采集 超声设备
? 1979年美国 Intel公司发布的商用可编程
器件 2920是 DSP芯片
? 1980 年,日本 NEC 公司推出的 μ P
D7720是第一个具有乘法器的商用 DSP
芯片。
? MOTOROLA的 DSP56和 DSP96系列,AD
(模拟器件)公司的 ADSP2100系列以及
AT&T的 DSP16和 DSP32系列。
? TI 公司在 1982年成功推出其第一代 DSP
芯片 TMS32010及其系列产品之后相继推
出了一系列 DSP芯片。
最早问世的 6种 DSP
Intel 2 9 2 0
AMI S
2 8 2 1 1
NEC
u p D7 7 2 0
TI
TM S3 2 0 0 1 0
Fu jitsu
MB8 7 6 4
STC
DSP1 2 8
面世年份 1979 1984 1981 1982 1984 1985
指令周期
( n s )
400 300 250 200 100 320
制造工艺 N MOS
3 u m
NMOS
3 u m E/D
NMOS
3 u m SMO S CMOS
3 u m
NMOS
功耗( W ) 0,8 0,8 0,9 0,9 0,3 1,3
封装 28 - p in DI P 28 - p in DI P 28 - p in DI P 40 - p in DI P
88 - p in
g rid
a rra y
68 -
co u n tact
? 从运算速度来看,MAC(乘法 /累加)时
间已经从 20世纪 80年代初的 400ns(如
TMS32010)降低到 10ns以下
? DSP芯片内部关键的乘法器部件从 1980
年的占模片区( die area)的 40%左右下
降到 5%以下,先进的 DSP芯片的片内已
含有多个乘法器部件和算术逻辑单元,
片内 RAM的数量也增加了一个数量级以
上。
? 1980年采用 4μ m NMOS工艺,而现在则
普遍采用亚微米( Micron) CMOS工艺
每隔 10年 DSP芯片的发展
? 年份 1982 1992( 97) 2002
? 工艺线宽( um) 3 0.8( 0.35) 0.18
? MAC*( MIPS) 5 40( 100) 2G
? 时钟( MH) 20 80( 200) 500
? RAM( Words) 144 1K 16K
? ROM( Words) 1.5K 4K 64K
? 价格(美元) 150 15 1.5
? 功耗( mv/MIPS) 250 12.5 0.1
? 晶体管数 50K 500 5M
? 硅片尺寸 3英寸 6英寸 (8英寸 ) 12英寸
*做一次乘法和累加计算的时间
二,DSP的特点
? 1)采用哈佛( Harvard)总线结
构。与哈佛结构相关,DSP芯
片广泛采用流水线操作以减少
指令执行时间
冯氏结构
CLKOUT1
执行
译码
取指
N
N- 1
N- 2
N+ 1
N- 1
N+ 2
N N+ 1
? 2)具有高速阵列乘法器等专用硬件。精
度至少为 16× 16位定点,一些 DSP的片
内已含有 40× 40位的浮点乘法器。
? 3)具有高速的片内数据存储器和程序存
储器。
对于一些简单、单一的操作,例如卷
积、相关等,可以在片内完成,避免与
外部的低速存储器打交道。新近的 DSP
产品均为双端口片内 RAM。
?乘法 /累加指令
?位反转寻址模式
?数据移动操作
?饱和溢出处理
?重复指令
4)具有满足信号处理应用要求的一些特殊
指令。
?并行接口
?串行接口
?DMA
?多处理器并行的链路接口
?全局存储器的控制逻辑和接口
5)具有高速的 I/O接口。
三,TMS320系列数字信号处理器
? TI公司于 1982年推出了其第一代 DSP
产品 TMS32010,目前已发展到两大
类 9个分支系列产品,两大类为浮点
和定点,9个分支系列分别满足不同
的需要。
趋 势
多 处 理 器 D S P
浮 点 D S P
定 点 D SP
时 间
C1 X
C3 X
C2 X X
X
C4 X
C5 X
C500 0
C8 X
C2 X
C6 0 00 支持
定点与浮点
C2000? DSP
TI C28x? DSP Core,
The world’s first control
optimized DSPs
Motor
Control
DSP
TI C55x? DSP Core,
The world’s lowest
mW/MIPS DSPs
C5000? DSP
Personal
DSP
C6000? DSP
TI C64x? DSP Core:
The world’s highest
performance DSPs
Broadband
Infrastructure
DSP
三种主要 DSP芯 片
TMS320C2000系列
?比 8位或 16位微控制器( MCU)速度更快、更
灵活、功能更强的、面向控制的微处理器。
?主要应用包括:电源功率控制、电机控制、制
冷系统、可调激光器、不间断电源等。
?C24X系列为 16位定点 DSP芯片。
?C28X系列为 TI近年新推出的 32位定点 DSP芯片。
TMS320C2000系列
C24X系列。
?指令周期大约在 50-25ns之间。
?在指令方面有许多特殊功能的指令,如寻址方面
有位反转寻址用于支持基二 FFT运算,以及支持
LMS自适应滤波或浮点归一化等运算的指令。
?C24X有两套数据总线,即数据读总线和数据写
总线,可以在一个机器周期内同时读写数据。
?C24x系列的芯片具有事件管理器,以便支持马达
控制。该事件管理器具有三个加 /减定时器和九
个比较器。
TMS320C2000系列
C28X系列。
?TI近年新推出的 32位定点 DSP芯片。
?其乘法器可以执行 32× 32位的乘法,得到 64位的
结果,参与乘法的两个乘数可以是带符号的数、
不带符号的数或一个带符号的数而另一个为不带
符号的数。
?C28X支持 32位单周期指令,其数据地址为 32位,
程序地址为 22位,可以访问 4G字( 16位)的数
据空间和 4M字的程序空间。
TMS320C5000系列
? 目前,TMS320C5000主要有两大系列即
TMS320C54x和 TMS320C55x,这是目前
最先进的定点 DSP芯片。
TMS320C54x
?指令速率 30-500 MIPS,32位长操作数指
令。
?低功耗,供电电压最低的芯片仅为 1V。
?三组 16位数据总线和一组程序总线。
?40位 ALU,40位定标移位器和两个独立
的 40位 ACC。
?17× 17位乘法器,连接一个 40位的专用
加法器,非流水的单周期乘法 /累加。
?比较、选择和存储单元( CSSU),支
持 Viterbi算法。
?单周期指令支持浮点数的归一化和指
数编码。
?新的单周期指令提高了信号处理的效
率,例如,对称系数的线性相位 FIR滤
波。
TMS320C55x
? 在功耗方面它进一步降低,TMS320C54x 的功
耗是 0.32mW/MIPS,而 TMS320C55x 的功耗只
有 0.05mW/MIPS
? 两个乘法 /累加器 MAC
? 两个算术逻辑单元 ALU
? 四个 40位的累加器
? 8位至 48位可变长度。其指令速率高达 600
MIPS
TMS320C6000系列
?定点芯片系列 TMS320C62x,TMS320C64x和浮
点芯片系列 TMS320C67x。
?,非常长指令字 VLIW( Very-long
instruction word), 的结构。
?对于 TMS320C62x其片内含有两个乘法器和 6
个算术逻辑单元,其 CPU在一个时钟周期内
可执行高达十条指令,因而其处理速率高达
1200-2400MIPS,其片内含有 1M位的 RAM,
程序 RAM和数据 RAM各占 512k位。
TMS320C6000系列
?TMS320C64x 在 TMS320C62x的基础上又有很
大的改进,是第二代 VLIW结构的 DSP芯片,它
的时钟速率高达 1GHz,处理速率比
TMS320C62x 提高了一倍以上,达 3200-4800
MIPS。
?由于在指令功能、并行度方面的改进其性能至
少比 TMS320C62x提高了十倍以上。
?其应用面向第三代移动通信和图象处理,
TMS320C64x 专门设计了为这些应用服务的特
殊指令,而在功耗方面,它仅为第一代芯片的
三分之一。
TMS320C6000系列
TMS320C67x
?两个浮点 /定点乘法器、四个浮点 /
定点 ALU、两个定点 ALU。
?浮点处理速率高达 600MFLOPS-
1GFLOPS。
?TMS320C67x的代码与引脚与
TMS320C62x兼容
TMS320C5000的结构原理
? TMS320C5000主要有两大系列即
TMS320C54x和 TMS320C55x。 C54x系
列的 DSP芯片内部 CPU的结构上是完全
相同的,只是在芯片的工作电压、片内
存储器容量和外围接口电路上存在着差
别。 C55x是在 C54x的基础上发展起来的,
其指令完全与 C54x兼容
TMS320C54x的结构特点
? TMS320C54x有一组程序总线和三组数据
总线,两组数据总线 (CB和 DB)用于传送
从数据存储器读出的操作数,一组数据
总线 (EB)用于传送写入到数据存储器的
数据,C54x可以在一个周期里完成两个
读和一个写操作。
20K字
程序
ROM
4K字程
序 /数据
RAM
8K字程
序 /数据
RAM
IEEE1149.1
标准扫描逻辑
17× 17 MPY
40位 加法器
Round satuate
MAC
40位 ALU
CMPS Operator
Viterbi 加速器
指数编码器
ALU
40位定标
移位器
(-16…,31)
移位器
40位 ACC A
40位 ACC B
累加器
8 辅助寄存器
2 寻址单元
寻址单元
标准串行口 0
标准串行口 1
定时器
软件可编程等待
状态发生器
PLL Clock
Generator
Opt X1,1.5,2,3
Opt X1,4,4,5,5
8位并行主机接

A(15-0)
D(15-0)
TMS320C542的结构框图
总线
1) 中央处理单元
? 40位算术逻辑单元( ALU)
? 两个累加器,即 ACC A 和 ACC B
? 定标移位器能将来自累加器或存储器的输入
数据进行 0到 31位的左移和 0到 16位的右移。
? 17× 17位的并行乘法器,连接一个 40位的专
用加法器
? 比较、选择和存储单元( CSSU)
? 指数编码器
2) 中央存储组织
? 大部分 C54系列芯片均含有片内 ROM
? 片内 RAM包括片内双口 RAM( DRAM),和片
内单口 RAM( SRAM)
? 八个 16位的辅助寄存器( AR0-AR7)能被 中央算
逻单元 CALU访问,也能被辅助寄存器算术单元
ARAU修改
?
? IEEE1149.1标准扫描逻辑电路用于仿真和测试,
它提供对所连设备的边界扫描。
3)系统控制
? 系统控制包括 连接内部振荡器或外
部时钟源的锁相环 ( PLL) 发生器,
支持 8位或 16位传送的全双工串口,
时分多路 ( TMD) 串口, 缓冲串口
( BSP), 8位并行主机接口, 16位
硬件定时器, 软件可编程等待状态
发生器和可编程的存储单元转换等 。
4) IEEE1149.1标准扫描逻辑
? IEEE1149.1标准扫描逻辑电路用于仿真
和测试,它提供对所连设备的边界扫描。
同时,它也能用来测试引脚到引脚的连
续性,以及完成 C54x外围器件的操作测
试。 IEEE1149.1标准扫描逻辑与访问片
内所有资源的内部扫描逻辑电路相连。
因而,C54x能使用 IEEE1149.1标准串行
扫描引脚和专用仿真引脚来完成在线仿
真。
5) 指令功能大大加强
? 它提供了七种基本的数据寻址方式,与 C25相比,
增加了绝对地址寻址、累加器寻址、存储器映
射寄存器寻址和堆栈寻址。特别是间接寻址,
不仅可以在一个指令中完成一次读或写的操作
(单操作寻址),也可以在一个指令中完成访
问两个存储单元的操作( 双操作寻址 ),甚至
还可以进行取模运算完成循环寻址。 C54x支持
存储块移动更便于程序和数据的管理。 C54x不
仅能重复执行单条指令还具有重复执行一段包
含若干条指令的程序块的能力。
表 5.3 TMS320C54X的间接寻址


操作数句法 功 能 说 明
0 *ARx 地址 =ARx ARx中的内容作为数据存储器的地址
1 *ARx- 地址 =ARx
ARx=ARx-1
寻址结束后,ARx中的地址值减 1注 1
2 *ARx+ 地址 =ARX
ARx=ARx+1
寻址结束后,ARx中的地址值增 1注 1
3 *+ARx ARx=ARx+1
地址 =ARx+1
ARx中的地址值增 1后再寻址 注 2
4 *ARx-0B 地址 =ARx
ARx=B(ARx-AR0)
寻址结束后,用反向传送借位的方法从 ARx中
减去 AR0的值
5 *ARx-0 地址 =ARx
ARx=ARx-AR0
寻址结束后,从 ARx中减去 AR0的值
6 *ARx+0 地址 =ARx
ARx=ARx+AR0
寻址结束后,将 AR0中的值加至 ARx
7 *ARx+0B 地址 =ARx
ARx=B(ARx+AR0)
寻址结束后,用反向传送进位的方法将 AR0加
至 ARx
8 *ARx-% 地址 =ARx
ARX=Circ(ARx-1)
寻址结束后,ARx中的地址值按循环减的方法
减 1注 1
表 5.3 TMS320C54X的间接寻址
9 *ARx-0% 地址 =ARx
ARx=Circ(ARx-AR0)
寻址结束后,按循环减的方法从 ARx中减去
AR0中的值
10 *ARx+% 地址 =ARx
ARx=Circ(ARx+1)
寻址结束后,ARx中的地址值按循环加的方法
增 1注 1
11 *ARx+0% 地址 =ARx
ARx=Circ(ARx+AR0)
寻址结束后,按循环加的方法,将 AR0中的值
加至 ARx
12 *ARx(lk) 地址 =ARx+lk
ARx=ARx
以 ARx与 16位数之和作为数据存储器的地址,
寻址结束后,ARx中的值不变
13 *+ARx(lk) 地址 =ARx+lk
ARx=ARx+lk
将一个 16位带符号数加至 ARx后进行寻址
14 *+ARx(lk)% 地址 =Circ(ARx+lk)
ARx=Circ(ARx+lk)
将一个 16位带符号数按循环加的方法加至 ARx,
然后再寻址
15 *(lk) 地址 =lk 利用 16位无符号数作为地址寻址数据存储器
(相当于绝对寻址方式 )
例 7 当前辅助寄存器 AR1=0200H,以此做为输入数据的
基地址,顺序读入八个数即 N=8,但按位反转存放。
按时间抽取的 8点 FFT
解 开始对 AR0赋值为 N/2=4,执行以下两条程序即可:
RPT #7
PORTR *AR1+0 B,PA0
RPTC=7使得下一条指令重复执行八次;第二条为输入语
句,从 PA0口输入八个数据,即 x(0),x(1),?,x(7),按照指
定的间接寻址方式存放。间接地址 AR1的内容,分别为:
AR1 AR1=0200H 初始值
AR1+AR0 ? AR1=0204H 第 1次变址
AR1+AR0 ? AR1=0202H 第 2次变址
AR1+AR0 ? AR1=0206H 第 3次变址
AR1+AR0 ? AR1=0201H 第 4次变址
AR1+AR0 ? AR1=0205H 第 5次变址
AR1+AR0 ? AR1=0203H 第 6次变址
AR1+AR0 ? AR1=0207H 第 7次变址
浮点数的尾数进行归一化处理
例 EXP A ;计算累加器 A中的;归一化指数
ST T,@EXP ;将 T寄存器中的指数存;入名为 EXP的单元
NORM A ;对累加器 A归一化处理
1 6 - k W R O M 1 6 0 - k W S R A M
C 5 5 x C P U
P
e
r
i
p
h
e
r
a
l
s
B
u
s
P e r i p h e r a l s
6 c h a n n e l
D M A
C l o c k
g e n e r a t o r
3 M c P S P s
E n h a n c e d
H P I
2 T i m e r s
P
r
o
g
r
a
m
3
2
b
i
t
s
C
a
c
h
e
D u a l M A C A L U
B ar r e l
A c c u m u l a t o r s s h i f t e r
1 6 - b i t
A L U
text
D a t a r e a d ( 3 - 1 6 b i t )
D a t a w r i t e ( 2 - 1 6 b i t )
I n s t r u c t i o n
b u f f e r u n i t
I d l e
d o m a i n
r e g i s t e r
A d v a n c e d
p o w e r
m a n a g e m e n t
A d v a n c e d
e m u l a t i o n
1 7 * 1 7 M P Y
4 0 - b i t A D D R
R N D,S A T
1 7 * 1 7 M P Y
4 0 - b i t A D D R
R N D,S A T
4 0 - b i t
C M P S
O p e r a t o r
( V i t e r b i )
EXP
E n c o d e r
4 0 - b i t
A C C A
4 0 - b i t
A C C B
4 0 - b i t
A C C C
4 0 - b i t
A C C D
4 0 - b i t
( - 3 2,3 1 )
4 D a t a
R e g
8 A u x,
R e g
3 A d d r,
U n i t s
3
2
b
i
t
-
E
M
I
F
TMS320C55x的结构特点:
1) 先进的电源管理系统
它监视着片内的外围设备, 存储器
阵列, 各个 CPU单元等部分, 如果
某一部分不在工作, 便自动切断其
电源 。
2)支持可变长度指令
? 指令长度可以是 8位, 16位, 24位,
32位, 40位或 48位;
? 指令读取由 16位增至 32位;
? 片内指令缓存器自动分解指令, 充
分利用每一时钟周期 。
3) 提高并行度
? 硬件上采用双 17?17 位乘法 / 累加器
( MAC), 四个 40位累加器 ( ACC),
新增四个数据寄存器和一个 16位算术逻
辑单元 ( ALU) ;
? 新增并行指令, 包括用户可编程并行指
令;
? 新增总线和扩展寻址部件, 从而保证硬
件能充分发挥作用 。 这些包括三组 16位
数据读总线, 两组 16位数据写总线, 一
组 32位程序总线, 六组 24位地址总线 。
4) 32位宽度的扩展存储器
接口
可与外部的高速低成本存储器相连, 包
括同步的高速 DRAM,SRAM以及异步的
DRAM,SRAM,ROM和闪存 。
5) 新型的评估硬件
C55x片内含有先进的评估硬件, 提高
了 Debug的速度, 简化了 Debug的过程 。
OMAP 的硬件结构
? Dual MAC with Video HWA
? 24 KB icache
? 160 KB SRAM,32KB ROM
? Hardware accelerators for
video algorithms
? 24 KB cache
? Data and instruction MMUs
? 32-bit and 16-bit instruction
sets
? 192 KB shared SRAM
? Two 16-bit memory interfaces
for SDRAM and Flash
? Nine-channel system DMA
controller
? LCD controller
? USB 1.1,host and client
? MMC/SD card interface
? Eight serial ports plus three
UARTs
? Eight timers
? Real-time clock
? Keyboard interface
? 18 GPIO pins
TMS320C55xTM DSP
ARM925 MPU
Peripherals and on-chip
Resources
Flash
16
OMAP5910/1510
ARM Shared
Traffic
Ctrl
75 MHz
ARM Private
Packaging,12mm x 12mm 289-ball MicroStar BGA
32 32
IMIF 32
32
32
32
32
16
DSP Shared
DSP Private
System Shared
EMIFF
EMIFS
SDRAM
16
System
DMA
LCD
Ctrl
SRAM
1.5 Mb
TMS320C55xTM
Core
150 MHz
DSP
ARM
TI-Enhanced
ARM925 Core
150 MHz