DSP 版 (精华区)
发信人: tanweng (学习ing....), 信区: DSP
标 题: Motorola 的数字信号处理器
发信站: 哈工大紫丁香 (2003年10月28日20:18:54 星期二), 站内信件
飞速发展的数字信号处理器
由于超大规模集成电路技术的迅猛发展,过去二十年中,数字信号处理技术,
即DSP(Digital Signal Processor)技术也得到了突飞猛进的发展,这种发展趋势
在今后十年内仍将保持下去。目前,可编程DSP市场约为50亿美元,据世界半导体
贸易统计组织发布的统计与预测报告,2001~2006年的预期增长率为27.2%。预期
2006年DSP市场将达到141.9亿美元,且增长率是逐年递增的,2005年的增长率预期
为34%。到2010年,DSP芯片的集成度将会提高11倍,单个芯片上将会集成5亿只晶
体管。目前DSP的生产工艺正在由0.35μm转向0.25μm、0.18μm、0.13μm,到
2005年可能达到0.075μm。
集成度的提高使得硅片的面积进一步缩小,从而导致DSP芯片成本降低,价格
下降。价格下降促使需求的上升和应用领域的扩展。DSP已从军用转向民用,在计
算机、通信、消费类电子产品方面即所谓3C领域得到了广泛的应用。DSP在通信领
域应用最多,占72%,计算机占3%,消费类、办公自动化各占2%,从趋势上看,工
业(特别是变频电机控制)中的应用,以及消费类产品中应用的份额会有所上升。
在通信领域,DSP产品涵盖了从3G无线基站到无线局域网的广泛应用,数字化
电视也离不开DSP。DSP在语言处理中的应用也是尽人皆知的,包括语言的压缩与解
压,语言的合成,语言的识别等。
计算机的硬盘驱动器在使用DSP技术以后可大大提高存取速度,提高容量和缩
小体积,以至于今后有可能用于掌上电脑。在PC机中,DSP可加速图形处理功能。
以后的PC机,可能每台PC中含有不只一颗DSP芯片。在计算机外设中,激光打印机
、扫描仪、光盘机等需要大量数据传输的设备,都有可能用到DSP技术。
DSP技术发展的另一趋势是速度更快,功耗更低,DSP片外的速度能达到几十兆
赫已经近于极限,为了降低系统的噪声,提高系统抗干扰能力,片外时钟有进一步
降低的趋势,即外部使用几兆赫的振荡器就够了,而片内则用压控振荡器加锁相环
的技术,把片内时钟速度提高到100MHz、200MHz乃至更高,会有更多的DSP片内时
钟达到1GHz。预期到2010年,同类水平的DSP的功耗将降到原来的1/3。
DSP与CPU
如果用普通计算机中的CPU来处理上述算法,做乘法和加法都要调用相应的乘
法、加法函数,如果是浮点数运算,通常CPU需要将浮点运算交给协处理处理,虽
然协处理器的浮点运算速度可能很快,但加上CPU将输入参数传出,再将运算结果
取回的时间,会显得速度很慢;做循环时,要有循环变量,每次循环变量加1后再
判断是否已经循环了n次,这一过程是比较慢的。
而DSP则在硬件设计上针对这类计算采取了一些独特的设计,以求最快的运算
速度,以至于趋于模拟电路的延迟时间。
DSP能在一个时钟周期内完成乘法和加法运算,并能并行地同时将下面运算要
用到的两个参数传入相应的运算用寄存器。在乘法及乘加指令的执行方式上,DSP
的小数乘法在算法上分定点算法DSP与浮点算法DSP。在定点类DSP中,小数点的位
置是固定的,不论定点的DSP还是浮点的DSP,乘法器都是用硬件逻辑完成的,乘法
可以在一个指令周期内完成。
在循环方面,DSP有诸如重复n次(Repeat n),或循环n次(DO Loop n)等指
令,使DSP能迅速完成n次循环,而不必每次都检查是不是已经循环n次了。这就是
DSP在做数字信号处理方面的优势与独到之处。也是DSP区别于CPU的地方。
DSP与CPU在结构方面的另一区别是,DSP往往采用哈佛结构,而传统的CPU多为
冯.诺曼结构(Von Neuman)。冯.诺曼结构指的是将程序与数据统一编址,不区分
存储器的程序空间和数据空间。而哈佛结构指将程序空间与数据空间分开编址,这
样在DSP处理数据空间运算与数据传输的同时可以并行地从程序空间读取下一条指
令。
Motorola DSP同时具有单片机的特点,如同把单片机中的CPU内核换成了DSP内
核,故DSP对存储器的分配与管理比普通意义上的单片机对存储器的分配与管理要
复杂,单片机概念中有片内存储和片外可扩展存储器之分,有RAM及ROM,现在的
ROM多为FLASH,于是仅分为片内RAM、片内FLASH、片外RAM、片外FLASH。在
Motorola DSP中,还要区分程序FLASH、程序RAM, 数据FLASH、数据RAM,还有所谓
boot flash, 显得比单片机要复杂得多。采用哈佛结构,将程序空间与数据空间分
开编址的好处是速度快,读程序和读写数据可以同时进行。
DSP在内核设计方面还有一个特点是采用多重流水线结构,流水线结构的层次
深度可以从3级到6级。程序的执行过程大致可分为读指令、指令译码、指令执行等
几个阶段。DSP在第一个时钟周期内读第一条指令,在第二个周期译码第一条指令
同时在第二个周期内读入第二条指令,在第三个时钟周期内执行第一条指令,译码
第二条指令,同时读入第三条指令,这样虽然执行一条指令仍需要三个周期,可是
由于并行的流水线处理,看起来好像每条指令都是在一个周期内完成的,这就是流
水线结构。
Motorola 的16位DSP
16位的DSP56800系列,主要有DSP56F801、56F802、56F803、56F805、56F807
以及56F824、56F826、56F827等几种型号。最新一代的Motorola DSP产品采用
Star*Core内核,性能上有进一步改进,这一代产品以MSC8101为代表。
56800系列DSP是Motorola DSP产品中的低价位系列,以DSP56802为例,批量订
货每片的价格已经降到了3美元以下。56800系列16位DSP产品采用56800 Hawk V1内
核,该内核的特点如下:
* 关键部分采用双哈佛结构,支持并行处理
* 80MHz时钟频率下可达到40MIPS的指令执行速度
* 单指令周期可以完成16位×16位的并行乘-加运算
* 支持15种不同的寻址方式
* 具有两个带有扩展位的36位累加器
* 支持16位双向循环移位
* 支持位操作
* 支持硬件DO和REP循环指令
* 支持可由用户灵活定义的多级中断优先级
* 具有3条内部地址总线和一条外部地址总线
* 具有4条内部数据总线和一条外部数据总线
* 支持DSP和MCU两种功能风格的指令系统
* 寻址方式类似MCU风格,指令代码简洁易学
* 高效的C编译器,支持局部变量
* 支持软件子程序,中断堆栈空间仅局限于存储器空间大小
* JTAG/OnCE程序调试接口,允许在系统设计过程中随时进行调试,并可对软
件进行实时调试
DSP56800系列中除了最早的56824采用0.35μm工艺,最高运算速度为35MIPS外
,其他都采用0.25μm工艺,运算速度可达40MIPS。这么高的指令执行速度足以应
付一般的嵌入式应用,即使对运算速度要求较高的MP3播放器以及数码相机等应用
,它们也足能胜任。3.3V的I/O电压和2.5V的内核电压大大降低了它们的功耗,适
合用在各种低功耗、以及电池供电的系统中。I/O最大可允许5V的电压,这就降低
了系统对电源的要求,允许外部电源在一定范围内选择。
该系列DSP芯片一般都具有几十K的内部Flash和几K的内部RAM存储器,对于一
般的系统,这些存储空间已经足够。对于那些程序算法复杂,并且需要处理大量数
据的嵌入式应用,这些DSP芯片允许进行外部存储器扩展,除56801以外,其他所有
芯片都可以有最大64K的外部空间,并且它们支持三种工作模式:全部使用内部存
储空间、全部使用外部存储空间和同时使用两部分存储空间,工作模式可以通过对
相关寄存器的简单设置来选择,大大增加了应用的灵活性。
典型应用的DSP56800系列产品采用8MHz外部晶振,利用内部压控振荡器和锁相
环产生80MHz总线时钟,由于使用了锁相环技术,可以利用外部晶振通过软件编程
来产生多种不同频率的时钟信号,作为定时器或DAC等外围设备的时钟,也可以改
变芯片的总线时钟,使它们工作在大于或小于80MHz的频率下。典型地,通过锁相
环电路将内部时钟锁定在80MHz上,如果外部扩展存储器或I/O器件的话,此时外部
时钟为40MHz,运算能力折合40MIPS. 56800系列DSP采用3.3V供电,但允许输入端
口使用5V TTL电平。芯片具有多种工作方式,如Wait、Stop等,通过片上调整器可
以最大限度地降低功耗。
在设计中选用DSP56800系列数字信号处理器,最主要的原因是它们具有丰富的
I/O口和多种外围设备,它们在单一的DSP芯片上集成了通用I/O模块GPIO、异步串
行通讯模块SCI、同步串行外设模块SPI、同步串行通信模块SSI、控制器局域网模
块CAN 2.0 A/B、多路A/D变换模块、用于各类电机控制的多路脉冲宽度调制PWM模
块、定时器模块Timer等多种外设模块,实现了完全的单片化。
不同型号的56800系列DSP通用I/O的数目从11个到多达64个,异步串行口有1个
、两个或3个,有1个到2个同步串行口,可以有1个到4个定时器,8路12位ADC,带
PWM输出的DSP有1个6通道或2个6通道PWM,加上2路、3路或4路电流、相位检测输入
端。一般不需要外扩其他I/O芯片。
增强型56800E内核以及StarCore
使用增强型56800E内核的16位DSP 主要有DSP56852、56853、56854、65855、
56857和56858。这一系列的DSP片内时钟速度由DSP56800系列的80MHz 提高到
120MHz,由于内核性能的增强,DSP的运算速度约为120MIPS.这一系列DSP的供电
电压为3.3V,片内为1.8V。在调试方面,用JTAG接口做BDM(Background Debug
Mode)调试时可实现实时调试,这一性能在调试动作的控制方面非常有用。这一系
列DSP没有片内FLASH,程序是写在扩展的外部存储器中的。
以MSC8101和MSC8102为代表的StarCore 系列DSP是Motorola 16位DSP中的高端
产品。这类DSP采用SC140内核。MSC8101片内使用了1个SC140内核,SC8102片内使
用了4个SC140内核。1个SC140内核中有2个地址产生单元,4个算术逻辑单元(ALU)
。故运行在300MHz时钟频率下,MSC8102片内的16个ALU 总共可以提供每秒4800×
106次乘法或乘、加运算,相当于12000 精简指令流 MIPS。这一系列DSP带有
PowerPC的总线接口,与PowerPC微处理器配合使用,用于高速有线与无线通信。
MSC8102片内SRAM有1436KB之多,DMA通道多达32个,而运行于300MHz时的功耗仅
1.6W。
Motorola 的24位、32位DSP
最早的Motorola 的24位DSP是出现于20世纪80年代中期的DSP56000,是24位的
定点DSP。后来逐渐形成了一个系列的DSP产品,如DSP56001、56002、56004、
56005、56007、56009、56012等,其中有些是通用DSP芯片,有些是专用的DSP,如
56012专门用于DVD和高清晰度电视的,56007是专门用于音频信号处理的DSP,
56009是用于MPG1压缩与解码方面的专用DSP等。这一系列的DSP后来逐渐停产了,
替代它们的是56300系列的24位定点DSP。它的内核与指令系统与DSP56000系列向上
兼容。
Motorola 的24位DSP主要有56300系列和56600系列。其中56300系列有
DSP56301、56303、56305、56306、56307、56309、56311、56321、56364、56366
、56367等,其中5636X系列用于音频信号处理。
以DSP65321为例,它的片内带有专做滤波运算的协处理器(Enhanced
Filter Coprocessor),片内RAM已经做到576KB(192K x 24位),片内时钟
240MHz,内核供电电压1.6V。
Motorola的 32位DSP主要有DSP96002,这是一种浮点DSP。
DSP56800系列的开发工具
对于DSP56800系列产品,Motorola提供了两个有力的软件开发工具,一个是
Codewarrior集成开发环境,它是一种可靠的用于交叉汇编、交叉C编译、链接和调
试的开发工具,它还带有一个C源码级的调试器,提供基于Windows的代码调试功能
,可视化的显示复杂的数据结构和表达式的内容,大大加快了系统开发的速度。
另外一个是软件开发工具Embedded SDK,它提供了各种外设模块的驱动程序和
接口,如:小数运算、调制解调器、存储器管理、数字信号处理、所有外设(包括
片上以及片外)的驱动程序、数据结构处理,电机控制以及系统安全等,每一个函
数库又包含了很多具体的功能函数,比如在数字信号处理库中,就包含了快速傅立
叶变换FFT、有限冲击响应FIR、无限冲击相应IIR、矩阵Matrix等多种函数,可以
从Motorola的网上得到。
一般来说,DSP56800系列的开发可以使用Motorola公司提供的EVM板进行硬件
调试,Motorola公司为每种型号的芯片提供了一款EVM板,这些EVM板使用方便,可
以满足大多数的开发应用。设计人员也可以参考EVM板自己制作一个开发系统,通
过JTAG口与PC机相连,进行程序的下载和调试。这种方法便于灵活地选择外围器件
,最小系统只需一片DSP加上晶振,不需要其他的外围器件。最小系统可以用上述
软件借助PC机并口开发应用产品。
不同于其他公司的DSP产品,DSP56800系列很少需要甚至不需要外加功能模块
就可以进行开发,使用JTAG口,几乎不需要硬件支持,到PC机的接口只需要一片
74HC244做一下5V到3V的电平转换,然后接到PC机的并口上就可以了,这就构成了
一个最简单的EVM板。
--
╭━━━━━━━━╮
┃ 叫我一生老公 ┃
╰━━━━━━━━╯
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 219.217.224.131]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:5.055毫秒