470 likes | 640 Views
5.6 数字信号处理硬件 - 数字信号处理器. 一、数字信号处理器的发展概况. 1988 年以来 DSP 的市场每年以 40% 的速度在增长,已超过了半导体的增长速度。预计到 2007 年 DSP 连同混合信号处理器件的市场将达到 500 亿美元。 2003 年 DSP 的市场为 100 多亿中国已占 12% 。. 1979 年美国 Intel 公司发布的商用可编程器件 2920 是 DSP 芯片 1980 年,日本 NEC 公司推出的 μ P D7720 是第一个具有乘法器的商用 DSP 芯片。
E N D
一、数字信号处理器的发展概况 • 1988年以来DSP的市场每年以40%的速度在增长,已超过了半导体的增长速度。预计到2007年DSP连同混合信号处理器件的市场将达到500亿美元。 • 2003年DSP的市场为100多亿中国已占12%。
1979年美国Intel公司发布的商用可编程器件2920是DSP芯片1979年美国Intel公司发布的商用可编程器件2920是DSP芯片 • 1980 年,日本 NEC 公司推出的μP D7720是第一个具有乘法器的商用 DSP 芯片。 • MOTOROLA的DSP56和DSP96系列,AD(模拟器件)公司的ADSP2100系列以及AT&T的DSP16和DSP32系列。 • TI 公司在1982年成功推出其第一代 DSP 芯片 TMS32010及其系列产品之后相继推出了一系列DSP芯片。
从运算速度来看,MAC(乘法/累加)时间已经从20世纪80年代初的400ns(如TMS32010)降低到10ns以下从运算速度来看,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 N+1 译码 N-2 N-1 执行
2)具有高速阵列乘法器等专用硬件。精度至少为16×16位定点,一些DSP的片内已含有40×40位的浮点乘法器。2)具有高速阵列乘法器等专用硬件。精度至少为16×16位定点,一些DSP的片内已含有40×40位的浮点乘法器。 • 3)具有高速的片内数据存储器和程序存储器。 对于一些简单、单一的操作,例如卷积、相关等,可以在片内完成,避免与外部的低速存储器打交道。新近的DSP产品均为双端口片内RAM。
4)具有满足信号处理应用要求的一些特殊指令。4)具有满足信号处理应用要求的一些特殊指令。 • 乘法/累加指令 • 位反转寻址模式 • 数据移动操作 • 饱和溢出处理 • 重复指令
5)具有高速的I/O接口。 • 并行接口 • 串行接口 • DMA • 多处理器并行的链路接口 • 全局存储器的控制逻辑和接口
三、TMS320系列数字信号处理器 • TI公司于1982年推出了其第一代DSP产品TMS32010,目前已发展到两大类9个分支系列产品,两大类为浮点和定点,9个分支系列分别满足不同的需要。
C2000™ DSP C5000™ DSP C6000™ DSP MotorControl DSP Personal DSP Broadband Infrastructure DSP TI C64x™ DSP Core:The world’s highest performance DSPs TI C28x™ DSP Core: The world’s first control optimized DSPs TI C55x™ DSP Core: The world’s lowest mW/MIPS DSPs 三种主要 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算法。比较、选择和存储单元(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 标准扫描逻辑 8位并行主机接口 PLL Clock Generator Opt X1,1.5,2,3 Opt X1,4,4,5,5 软件可编程等待状态发生器 定时器 标准串行口1 标准串行口 0 8 辅助寄存器 2 寻址单元 40位定标 移位器 (-16…,31) A(15-0) 总线 D(15-0) ALU MAC 40位ACC B 指数编码器 CMPS Operator Viterbi 加速器 40位 ALU Round satuate 40位 加法器 17×17 MPY 40位 ACC A 移位器 累加器 寻址单元 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不仅能重复执行单条指令还具有重复执行一段包含若干条指令的程序块的能力。
按时间抽取的8点FFT 例7当前辅助寄存器AR1=0200H,以此做为输入数据的基地址,顺序读入八个数即N=8,但按位反转存放。
解 开始对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归一化处理
TMS320C55x的结构特点: 1)先进的电源管理系统 它监视着片内的外围设备、存储器阵列、各个CPU单元等部分,如果某一部分不在工作,便自动切断其电源。
2)支持可变长度指令 指令长度可以是8位、16位、24位、32位、40位或48位; 指令读取由16位增至32位; 片内指令缓存器自动分解指令,充分利用每一时钟周期。
3)提高并行度 硬件上采用双1717位乘法/累加器(MAC),四个40位累加器(ACC),新增四个数据寄存器和一个16位算术逻辑单元(ALU); 新增并行指令,包括用户可编程并行指令; 新增总线和扩展寻址部件,从而保证硬件能充分发挥作用。这些包括三组16位数据读总线,两组16位数据写总线,一组32位程序总线,六组24位地址总线。
4)32位宽度的扩展存储器接口 可与外部的高速低成本存储器相连,包括同步的高速DRAM、SRAM以及异步的DRAM、SRAM、ROM和闪存。 5)新型的评估硬件 C55x片内含有先进的评估硬件,提高了Debug的速度,简化了Debug的过程。
OMAP 的硬件结构 • TMS320C55xTMDSP OMAP5910/1510 • Dual MAC with Video HWA • 24 KB icache • 160 KB SRAM, 32KB ROM • Hardware accelerators for video algorithms DSP Private DSP 16 32 DSP Shared TMS320C55xTM Core150 MHz • ARM925 MPU Traffic Ctrl75 MHz 32 System Shared • 24 KB cache • Data and instruction MMUs • 32-bit and 16-bit instruction sets Flash 16 EMIFS SystemDMA 32 SDRAM 16 Peripherals and on-chip Resources EMIFF 32 • 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 ARM Shared ARM IMIF 32 TI-Enhanced ARM925 Core150 MHz 32 32 ARM Private LCDCtrl SRAM1.5 Mb Packaging: 12mm x 12mm 289-ball MicroStar BGA