47
5.6 数数数数数数数数 - 数数数数数数数

5.6 数字信号处理硬件 - 数字信号处理器

Embed Size (px)

DESCRIPTION

5.6 数字信号处理硬件 - 数字信号处理器. 一、数字信号处理器的发展概况. 1988 年以来 DSP 的市场每年以 40% 的速度在增长,已超过了半导体的增长速度。预计到 2007 年 DSP 连同混合信号处理器件的市场将达到 500 亿美元。 2003 年 DSP 的市场为 100 多亿中国已占 12% 。. 1979 年美国 Intel 公司发布的商用可编程器件 2920 是 DSP 芯片 1980 年,日本 NEC 公司推出的 μ P D7720 是第一个具有乘法器的商用 DSP 芯片。 - PowerPoint PPT Presentation

Citation preview

Page 1: 5.6  数字信号处理硬件 - 数字信号处理器

5.6 数字信号处理硬件- 数字信号处理器

Page 2: 5.6  数字信号处理硬件 - 数字信号处理器

一、数字信号处理器的发展概况1988 年以来 DSP 的市场每年以 40

% 的速度在增长,已超过了半导体的增长速度。预计到 2007 年 DSP连同混合信号处理器件的市场将达到500 亿美元。

2003 年 DSP 的市场为 100 多亿中国已占 12% 。

Page 3: 5.6  数字信号处理硬件 - 数字信号处理器

数字信号处理器(DSP)的典型应用自动化控制 消费电子 电子通信导航和全球定位 数字无线收音机和电视机 自适应均衡振动分析 智能玩具 ADPCM变换编码器声控 数字留言机 蜂窝电话磁盘驱动控制 扫描仪 频道复合激光打印控制 洗衣机 数字语音嵌入机器人控制 机顶盒 I P 电话自动驾驶 VCD/ DVD 无线调制解调器

可视电话传真机空调

语 音 图形/图象 工业应用

语音综合 3-D旋转 数字控制语音增强 图象压缩与传输 安全通道语音辨识 图象增强 机器人技术语音编码 图象识别 在线监控语音邮件文本至语音转换仪 器 医疗器件 军事器件

数字滤波器 诊断设备 图象处理器函数发生器 胎儿监听器 导弹制导锁相环 助听器 导航瞬时分析仪 病情监控器 雷达处理器频谱分析仪 心电/脑电 保密通信数据采集 超声设备

Page 4: 5.6  数字信号处理硬件 - 数字信号处理器

1979 年美国 Intel 公司发布的商用可编程器件 2920 是 DSP 芯片

1980 年,日本 NEC 公司推出的 μP D7720 是第一个具有乘法器的商用 DSP 芯片。

MOTOROLA 的 DSP56 和 DSP96 系列,AD (模拟器件)公司的 ADSP2100 系列以及 AT&T 的 DSP16 和 DSP32 系列。

TI 公司在 1982 年成功推出其第一代 DSP 芯片 TMS32010 及其系列产品之后相继推出了一系列 DSP 芯片。

Page 5: 5.6  数字信号处理硬件 - 数字信号处理器

最早问世的 6 种 DSP

Intel 2920 AMIS 28211

NEC upD7720

TI TMS320010

Fujitsu MB8764

STC DSP128

面世年份 1979 1984 1981 1982 1984 1985 指令周期(ns) 400 300 250 200 100 320

制造工艺 NMOS 3um

NMOS 3umE/D NMOS

3um SMOS CMOS 3um

NMOS

功耗(W) 0.8 0.8 0.9 0.9 0.3 1.3

封装 28-pin DIP 28-pin DIP 28-pin DIP 40-pin DIP 88-pin

grid array

68- countact

Page 6: 5.6  数字信号处理硬件 - 数字信号处理器

从运算速度来看, MAC (乘法 / 累加)时间已经从 20 世纪 80 年代初的 400ns(如 TMS32010 )降低到 10ns 以下

DSP 芯片内部关键的乘法器部件从 1980年的占模片区( die area )的 40% 左右下降到 5% 以下,先进的 DSP 芯片的片内已含有多个乘法器部件和算术逻辑单元,片内 RAM 的数量也增加了一个数量级以上。

1980 年采用 4μm NMOS 工艺,而现在则普遍采用亚微米( Micron ) CMOS工艺

Page 7: 5.6  数字信号处理硬件 - 数字信号处理器

每隔 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 英寸 * 做一次乘法和累加计算的时间

Page 8: 5.6  数字信号处理硬件 - 数字信号处理器

二、 DSP 的特点

1) 采用哈佛( Harvard )总线结构。与哈佛结构相关, DSP芯片广泛采用流水线操作以减少指令执行时间

Page 9: 5.6  数字信号处理硬件 - 数字信号处理器

冯氏结构

Page 10: 5.6  数字信号处理硬件 - 数字信号处理器
Page 11: 5.6  数字信号处理硬件 - 数字信号处理器
Page 12: 5.6  数字信号处理硬件 - 数字信号处理器

CLKOUT1

执行

译码

取指N

N- 1

N- 2

N+ 1

N- 1

N+ 2

N N+ 1

Page 13: 5.6  数字信号处理硬件 - 数字信号处理器

2) 具有高速阵列乘法器等专用硬件。精度至少为 16×16 位定点,一些 DSP 的片内已含有 40×40 位的浮点乘法器。

3) 具有高速的片内数据存储器和程序存储器。

对于一些简单、单一的操作,例如卷积、相关等,可以在片内完成,避免与外部的低速存储器打交道。新近的 DSP产品均为双端口片内 RAM 。

Page 14: 5.6  数字信号处理硬件 - 数字信号处理器

乘法 / 累加指令 位反转寻址模式 数据移动操作 饱和溢出处理 重复指令

4) 具有满足信号处理应用要求的一些特殊指令。

Page 15: 5.6  数字信号处理硬件 - 数字信号处理器

并行接口 串行接口 DMA 多处理器并行的链路接口 全局存储器的控制逻辑和接口

5) 具有高速的 I/O 接口。

Page 16: 5.6  数字信号处理硬件 - 数字信号处理器

三、 TMS320 系列数字信号处理器

TI 公司于 1982 年推出了其第一代 DSP产品 TMS32010 ,目前已发展到两大类9 个分支系列产品,两大类为浮点和定点, 9 个分支系列分别满足不同的需要。

Page 17: 5.6  数字信号处理硬件 - 数字信号处理器

趋 势

多 处 理 器 DSP

浮 点 DSP

定 点 DSP

时 间

C1X

C3X

C2XXX

C4X

C5X

C5000

C8X

C2X

C6000 支持定点与浮点

Page 18: 5.6  数字信号处理硬件 - 数字信号处理器

C2000™ DSP

TI C28x™ DSP Core: The world’s first control

optimized DSPs

MotorControl

DSP

MotorControl

DSP

TI C55x™ DSP Core: The world’s lowest

mW/MIPS DSPs

C5000™ DSP

Personal DSP

Personal DSP

C6000™ DSP

TI C64x™ DSP Core:The world’s highest performance DSPs

BroadbandInfrastructure

DSP

BroadbandInfrastructure

DSP

三种主要 DSP 芯片

Page 19: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C2000 系列 比 8 位或 16 位微控制器( MCU )速度更快、更灵活、功能更强的、面向控制的微处理器。

主要应用包括:电源功率控制、电机控制、制冷系统、可调激光器、不间断电源等。

C24X 系列为 16 位定点 DSP 芯片。 C28X 系列为 TI 近年新推出的 32 位定点 DS

P 芯片。

Page 20: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C2000 系列 C24X 系列。

指令周期大约在 50-25ns 之间。 在指令方面有许多特殊功能的指令,如寻址方面有

位反转寻址用于支持基二 FFT 运算,以及支持 LMS

自适应滤波或浮点归一化等运算的指令。 C24X 有两套数据总线,即数据读总线和数据写总线,

可以在一个机器周期内同时读写数据。 C24x 系列的芯片具有事件管理器,以便支持马达控

制。该事件管理器具有三个加 / 减定时器和九个比较器。

Page 21: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C2000 系列 C28X 系列。

TI 近年新推出的 32 位定点 DSP 芯片。 其乘法器可以执行 32×32 位的乘法,得到 64 位的结果,参与乘法的两个乘数可以是带符号的数、不带符号的数或一个带符号的数而另一个为不带符号的数。

C28X支持 32 位单周期指令,其数据地址为 32 位,程序地址为 22 位,可以访问 4G字( 16 位)的数据空间和 4M字的程序空间。

Page 22: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C5000 系列 目前, TMS320C5000主要有两大系列即 T

MS320C54x 和 TMS320C55x ,这是目前最先进的定点 DSP 芯片。

Page 23: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C54x 指令速率 30-500 MIPS , 32 位长操作数指令。 低功耗,供电电压最低的芯片仅为 1V 。 三组 16 位数据总线和一组程序总线。 40 位 ALU , 40 位定标移位器和两个独立的 40 位

ACC 。 17×17 位乘法器,连接一个 40 位的专用加法器,非流水的单周期乘法 / 累加。

Page 24: 5.6  数字信号处理硬件 - 数字信号处理器

比较、选择和存储单元( CSSU ),支持Viterbi 算法。

单周期指令支持浮点数的归一化和指数编码。

新的单周期指令提高了信号处理的效率,例如,对称系数的线性相位 FIR滤波。

Page 25: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C55x 在功耗方面它进一步降低, TMS320C54x

的功耗是 0.32mW/MIPS ,而 TMS320C55x 的功耗只有 0.05mW/MIPS

两个乘法 / 累加器 MAC 两个算术逻辑单元 ALU四个 40 位的累加器 8 位至 48 位可变长度。其指令速率高达 600

MIPS

Page 26: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C6000 系列 定点芯片系列 TMS320C62x、 TMS320C64x

和浮点芯片系列 TMS320C67x。 “非常长指令字VLIW( Very-long instruction word)”的结构。

对于 TMS320C62x 其片内含有两个乘法器和6 个算术逻辑单元,其 CPU 在一个时钟周期内可执行高达十条指令,因而其处理速率高达 1200-2400MIPS ,其片内含有 1M 位的 RAM ,程序 RAM 和数据 RAM各占 512k 位。

Page 27: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C6000 系列 TMS320C64x 在 TMS320C62x 的基础上又有很大的改 进,是第二代 VLIW 结构的 DSP 芯片, 它的时钟速率高达 1GHz ,处理速率比 TMS320C62x 提高了一倍以上,达 3200-4800 MIPS 。由于在指令功能、并行度方面的改进其性能至少比 T

MS320C62x提高了十倍以上。其应用面向第三代移动通信和图象处理, TMS320C6

4x 专门设计了为这些应用服务的特殊指令,而在功耗方面,它仅为第一代芯片的三分之一。

Page 28: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C6000 系列 TMS320C67x

两个浮点 /定点乘法器、四个浮点 /定点 ALU、两个定点 ALU。

浮点处理速率高达 600MFLOPS-1GFLOPS 。

TMS320C67x的代码与引脚与 TMS320C62x 兼容

Page 29: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C5000 的结构原理TMS320C5000主要有两大系列即 TMS

320C54x 和 TMS320C55x 。 C54x 系列的 DSP 芯片内部 CPU 的结构上是完全相同的,只是在芯片的工作电压、片内存储器容量和外围接口电路上存在着差别。 C55x 是在 C54x 的基础上发展起来的,其指令完全与 C54x兼容

Page 30: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C54x 的结构特点 TMS320C54x 有一组程序总线和三组数据总

线,两组数据总线 (CB 和 DB) 用于传送从数据存储器读出的操作数,一组数据总线 (EB)

用于传送写入到数据存储器的数据, C54x

可以在一个周期里完成两个读和一个写操作。

Page 31: 5.6  数字信号处理硬件 - 数字信号处理器

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,3Opt X1,4,4,5,5

8 位并行主机接口

A(15-0)

D(15-0)

TMS320C542 的结构框图

总线

Page 32: 5.6  数字信号处理硬件 - 数字信号处理器

1) 中央处理单元 40 位算术逻辑单元( ALU) 两个累加器,即 ACC A 和 ACC B 定标移位器能将来自累加器或存储器的输入数

据进行 0 到 31 位的左移和 0 到 16 位的右移。 17×17位的并行乘法器,连接一个 40 位的专

用加法器比较、选择和存储单元( CSSU) 指数编码器

Page 33: 5.6  数字信号处理硬件 - 数字信号处理器

2) 中央存储组织 大部分 C54 系列芯片均含有片内 ROM 片内 RAM包括片内双口 RAM ( DRAM ),

和片内单口 RAM ( SRAM )八个 16位的辅助寄存器( AR0-AR7)能被中央算逻单元 CALU访问,也能被辅助寄存器算术单元 ARAU修改

系统控制 IEEE1149.1标准扫描逻辑电路用于仿真和测试,它提供对所连设备的边界扫描。

Page 34: 5.6  数字信号处理硬件 - 数字信号处理器

3 )系统控制 系统控制包括连接内部振荡器或外部时钟源

的锁相环( PLL)发生器、支持 8 位或 16位传送的全双工串口、时分多路( TMD )串口、缓冲串口( BSP )、 8 位并行主机接口、 16位硬件定时器、软件可编程等待状态发生器和可编程的存储单元转换等。

Page 35: 5.6  数字信号处理硬件 - 数字信号处理器

4 ) IEEE1149.1标准扫描逻辑 IEEE1149.1标准扫描逻辑电路用于仿真和测试,它提供对所连设备的边界扫描。同时,它也能用来测试引脚到引脚的连续性,以及完成C54x 外围器件的操作测试。 IEEE1149.1标准扫描逻辑与访问片内所有资源的内部扫描逻辑电路相连。因而, C54x能使用 IEEE1149.

1标准串行扫描引脚和专用仿真引脚来完成在线仿真。

Page 36: 5.6  数字信号处理硬件 - 数字信号处理器

5 ) 指令功能大大加强它提供了七种基本的数据寻址方式,与 C25

相比,增加了绝对地址寻址、累加器寻址、存储器映射寄存器寻址和堆栈寻址。特别是间接寻址,不仅可以在一个指令中完成一次读或写的操作(单操作寻址),也可以在一个指令中完成访问两个存储单元的操作(双操作寻址),甚至还可以进行取模运算完成循环寻址。 C54x支持存储块移动更便于程序和数据的管理。C54x不仅能重复执行单条指令还具有重复执行一段包含若干条指令的程序块的能力。

Page 37: 5.6  数字信号处理硬件 - 数字信号处理器

表 5.3 TMS320C54X 的间接寻址序号

操作数句法

功 能 说 明

0 *ARx 地址 =ARx ARx 中的内容作为数据存储器的地址1 *ARx- 地址 =ARx

ARx=ARx-1寻址结束后, ARx 中的地址值减 1 注 1

2 *ARx+ 地址 =ARXARx=ARx+1

寻址结束后, ARx 中的地址值增 1 注 1

3 *+ARx ARx=ARx+1地址 =ARx+1

ARx 中的地址值增 1 后再寻址注 2

4 *ARx-0B 地址 =ARxARx=B(ARx-AR0)

寻址结束后,用反向传送借位的方法从 ARx 中减去 AR0 的值

5 *ARx-0 地址 =ARxARx=ARx-AR0

寻址结束后,从 ARx 中减去 AR0 的值

6 *ARx+0 地址 =ARxARx=ARx+AR0

寻址结束后,将 AR0 中的值加至 ARx

7 *ARx+0B 地址 =ARxARx=B(ARx+AR0)

寻址结束后,用反向传送进位的方法将 AR0 加至 ARx

8 *ARx-% 地址 =ARxARX=Circ(ARx-1)

寻址结束后, ARx 中的地址值按循环减的方法减 1 注 1

Page 38: 5.6  数字信号处理硬件 - 数字信号处理器

表 5.3 TMS320C54X 的间接寻址

9 *ARx-0% 地址 =ARxARx=Circ(ARx-AR0)

寻址结束后,按循环减的方法从 ARx 中减去 AR0 中的值

10 *ARx+% 地址 =ARxARx=Circ(ARx+1)

寻址结束后, ARx 中的地址值按循环加的方法增 1 注 1

11 *ARx+0% 地址 =ARxARx=Circ(ARx+AR0)

寻址结束后,按循环加的方法,将 AR0 中的值加至 ARx

12 *ARx(lk) 地址 =ARx+lkARx=ARx

以 ARx 与 16 位数之和作为数据存储器的地址,寻址结束后, ARx 中的值不变

13 *+ARx(lk) 地址 =ARx+lkARx=ARx+lk

将一个 16 位带符号数加至 ARx 后进行寻址

14 *+ARx(lk)%

地址 =Circ(ARx+lk)ARx=Circ(ARx+lk)

将一个 16 位带符号数按循环加的方法加至 ARx ,然后再寻址

15 *(lk) 地址 =lk 利用 16 位无符号数作为地址寻址数据存储器 ( 相当于绝对寻址方式 )

Page 39: 5.6  数字信号处理硬件 - 数字信号处理器

例 7 当前辅助寄存器 AR1=0200H ,以此做为输入数据的基地址,顺序读入八个数即 N=8 ,但按位反转存放。

按时间抽取的 8 点 FFT

Page 40: 5.6  数字信号处理硬件 - 数字信号处理器

解 开始对 AR0赋值为 N/2=4 ,执行以下两条程序即可:RPT #7PORTR *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 次变址

Page 41: 5.6  数字信号处理硬件 - 数字信号处理器

浮点数的尾数进行归一化处理例 EXP A ;计算累加器 A 中的

;归一化指数ST T, @EXP ;将 T 寄存器中的指数存

;入名为 EXP 的单元NORM A ;对累加器 A归一化处理

Page 42: 5.6  数字信号处理硬件 - 数字信号处理器

16-kW ROM 160-kW SRAM

C 5 5 x C P U

Perip

herals B

us

Peripherals

6 channelDMA

Clockgenerator

3 McPSPs

EnhancedHPI

2 Timers

Program

32 b

its

Cach

e

Dual MAC ALU

Barrel Accumulators shifter

16-bitALU

text

Data read (3-16 bit)

Data write ( 2-16 bit)

Instructionbuffer unit

Idledomainregister

Advancedpower

management

Advancedemulation

17*17 MPY40-bit ADDR

RND, SAT

17*17 MPY40-bit ADDR

RND, SAT

40-bitCMPS

Operator(Viterbi)

EXPEncoder

40-bitACC A

40-bitACC B

40-bitACC C

40-bitACC D

40-bit(-32, 31)

4 DataReg

8 Aux.Reg

3 Addr.Units

32 b

it-

EM

IF

Page 43: 5.6  数字信号处理硬件 - 数字信号处理器

TMS320C55x 的结构特点:

1 )先进的电源管理系统 它监视着片内的外围设备、存储器阵列、各个 CPU 单元等部分,如果某一部分不在工作,便自动切断其电源。

Page 44: 5.6  数字信号处理硬件 - 数字信号处理器

2)支持可变长度指令 指令长度可以是 8 位、 16 位、 24

位、 32 位、 40 位或 48 位; 指令读取由 16 位增至 32 位; 片内指令缓存器自动分解指令,充

分利用每一时钟周期。

Page 45: 5.6  数字信号处理硬件 - 数字信号处理器

3 )提高并行度 硬件上采用双 1717 位乘法 / 累加器( MA

C ),四个 40 位累加器( ACC ),新增四个数据寄存器和一个 16 位算术逻辑单元( AL

U ); 新增并行指令,包括用户可编程并行指令; 新增总线和扩展寻址部件,从而保证硬件能充

分发挥作用。这些包括三组 16 位数据读总线,两组 16 位数据写总线,一组 32 位程序总线,六组 24 位地址总线。

Page 46: 5.6  数字信号处理硬件 - 数字信号处理器

4 ) 32 位宽度的扩展存储器接口 可与外部的高速低成本存储器相连,包括同步的高速 DRAM 、 SRAM 以及异步的 DRAM 、 SRAM 、 ROM 和闪存。

5 )新型的评估硬件 C55x 片内含有先进的评估硬件,提高

了 Debug 的速度,简化了 Debug 的过程。

Page 47: 5.6  数字信号处理硬件 - 数字信号处理器

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

SystemDMA

LCDCtrl

SRAM1.5 Mb

TMS320C55xTM Core

150 MHz

DSP

ARM

TI-Enhanced ARM925 Core

150 MHz