随着数字信号处理器(DSP)性能的不断提高,系统设计师可以不使用单独的微控制器就实现所有的控制功能。结果将是极大地降低功耗、成本和电路板的面积。
DSP技术一直和微处理器技术同步发展。今天,甚至有超过微处理器发展速度的势头。在设计通信系统或者多媒体系统时,设计者必须仔细研究最新的DSP技术能够提供何种新的性能。
系统中必须使用单独的处理器来完成处理和控制功能,这几乎是一条不变的定律。在几乎所有的和计算机密切相关的音频、视频、通信系统的设计中,一般都要使用两个处理器:一个进行数字处理,另一个完成控制功能。如果能够不使用第2个处理器,将极大地改善各种性能,包括功耗、成本和电路板的大小。
现在,设计者正在尝试另一种途径:在系统中尽可能少使用微处理器,这样,就可以选择低性能的微处理器,从而降低系统的成本。
DSP的性能需要不断的提高。这有两个原因:首先,下一代的电话将集成更多的功能,而不仅仅是通话。另外,数据服务正在开始普及。以数据跟踪为例,此时微处理器的作用是识别手机相对于基站的位置,完成和基站的握手,以及进行某些前端操作。这时,微处理器基本上就是作为一个控制器,控制DSP或者进行工作,或者处于待命状态。当然,微处理器总是处于工作状态,等待呼叫的到来,连接到基站,或者给出手机的位置。
有专家指出DSP不是不能完成所有这些任务,问题是需要完成所有这些功能的DSP将使功率消耗上升到无法接受的程度。
当全硬件的解决方案(不是可编程的)的功耗、性能趋于改善时设计者仍然要使用可编程的DSP有许多原因。最重要的原因之一是对于移动电话和相应设备的标准还正在制定之中。设计者采用可编程的解决方案构建他们今天的系统,而当标准有所修改时只要编写一部分新的代码就可以适应新标准。DSP方法也可以使设计者构建一种核心设计,然后根据需要再增加或减少某些功能以提供在基本设计框架下实现多种不同的工作模式。
设计者关心的另一个问题是代码的多少。如果可以减少代码,就可以在系统中使用容量较小的存储器,这同样也会降低成本和减少电路板的大小。将来,如果系统中集成越来越多的功能时,代码多少的问题将越来越突出。
相关的集成电路芯片
DSP供销商已经越来越懂得在销售DSP芯片时还应该同时提供最好的配套芯片。这种配套芯片的重要性并不比DSP芯片低多少。随着市场上出现更多的配套芯片,设计者可以更迅速地完成他们的项目设计。
当DSP芯片趋于专用化时,例如专门应用于Internet音频服务,专用的配套芯片就特别需要。TI公司推出一种DSP和模拟芯片组合的解决方案。相应的芯片称为TMS320DA250,使用两节AA电池,可以70小时。这片DA250芯片是基于TI公司的TMS320C55x体系结构。初始的设计是基于0.15微米工艺,以后将采用0.135微米工艺,使功耗降低一半。
为支持DA250芯片的工作,TI公司专门开发了两种低功率的DC-DC变换器:TPS6101x和TPS6200x系列,这样就为设计者提供了完整的Internet音频服务的电源解决方案(图1)。与之相配套的占位面积兼容的D/A转换器以及编解码器也正在开发之中。
TI公司基于它的55x内核的第一个标准产品C5510正在测试试用。这个产品在2000年底定型并在2001年初全面投产,届时将为用户提供一种新的服务战略。TI公司声称C5510既不是价格最低的产品,也不是性能最好的产品,而是一种兼顾性能和成本的一种最好的组合。这种类型的产品在它们的产品系列中将越来越多。
低于1.0V的工作电压对于保健业非常有吸引力,例如嵌入式助听器件。这一类的应用并不追求什么新的处理功能,但具有非常低的功耗部件则是十分吸引人的。其他很快会体会到5510芯片优点的应用还会包括接收下一代数字无线电广播的数字式收音机,2.5G的移动电话,以及其他类型的移动无线设备,如公用的安全无线设备及军用的保密无线设备等。
市场正在不断扩大的数字相机是一个极好的例子,它可以充分利用最新的DSP研究成果。其的DSP芯片除了完成图像处理功能外,还可以具有许多其他的功能,例如音频注释功能,这种功能可以在照片上附加相应的语音信息。还可以具有无线通信的能力,使得摄影师可以立即将拍好的照片传送到世界上的任何地方。
在许多情况下,这样的应用系统在实时操作系统下会有最好的效果。如果系统是建立在双CPU的环境,则操作系统的作用就更加关键,它要保证将任务分配给恰当的处理器。
DSP新成员
尽管DSP领域的生产厂商已经相当拥挤,但仍不断有新的成员在加入。Analog Devices Inc和Intel的联合研究已经开始见成效。在大约两年前,这两个公司宣布它们将联合研究开发一种DSP内核的体系结构,使之可以在嵌入式通信和Internet设备中用来进行视频、音频、语声以及数据处理。
这两个公司在德州的Austin组建了一个联合研究组。这个研究组的目标是研究新的DSP内核,编程工具,以及相应的算法。然后,这两个公司将分别使用这个DSP内核为各自的用户开发独立的产品。
FPGA解决方案
传统的通用FPGA供应商,如QuickLogic采用的是另一种途径挤进DSP市场。
“大约在两年以前,我们开始了一条新的生产线,生产我们称为的嵌入式标准化产品。”Quicklogic声称这些产品是DSP和一些固定的嵌入式模块、可编程逻辑的组合,并具有高速的连接性能,所有这些都集成在一个器件中。但我们仍然将它们分类为一种可编程器件。
各种不同的嵌入式标准化产品已经生产出来,诸如包括PCI控制器、存储器、光纤通道以及算术运算单元的嵌入式产品。
QuickLogic公司的设计者并不想设计生产DSP器件。但它们的用户则不断地要求这样的功能。对于FPGA产品来说有一个固有的问题,就是它们不能提供高速的算术运算能力。因为FPGA的逻辑单元不是为这个目的所设计的,不能很有效的进行算术运算。因此,最好的方法不是修改逻辑单元本身,而是开发专门进行高速乘法和加法运算的硬件模块。”
这种硬件模块包括许多嵌入式通信单元(ECU,图2)。共有18个这样的模块。其中的每一个都包括一个8×8乘法器,一个16位加法器,一个寄存器,从而构成一个乘法累加单元MAC。因为它们全部是用硬件构成,因此可以比一般的FPGA中用软件实现的DSP功能有更高的运算速度。
这种实现方案的优点是可以尽快地将设计投入市场。但是这种体系结构并不是用来和高性能的DSP相竞争。它更主要的目的是为了满足PLD用户希望器件具有某些DSP性能。这种体系结构可以支持220MHz的16×16位乘法和350MHz的16位加法。
“我们的目的是和通用的FPGA芯片相竞争,而不是和通用的DSP芯片相竞争。”Quicklogic解释道: “我们所填补的空白如果使用通用的DSP则是大材小用,而用传统的FPGA则不具有这样的性能。”
沿着这条相同的路线,Xilinx公司最近推出了它们的XtremeDSP新产品,它就是在公司的Virtex-Ⅱ体系结构上增加了DSP的特性。Xilinx公司还同时推出了11种新的DSP算法,称为LogiCore。这个产品包括一个滤波器产生器、一个乘法产生器、一个参量化的MAC,DCT/iDCT,三个G.711PCM编解码器,以及四种颜色区间的转换器。
ST微电子公司通过他们称为组合的DSP-MCU内核,提供高性能的ST100内核,用来构建集成在系统芯片(SoC)这样的应用。这种系列的第一个产品是ST120双路MAC超标量体系结构内核。该公司希望通过使用这样的内核为它的用户生产所需要的集成电路。但这并不意味着公司将提供标准的通用产品。ST微电子公司将提供它的内核,并将它的其他的功能联系在一起,如作为外设、存储器、以及接口。它也能将DSP内核和其他的处理器,如ARM内核或公司最近发布的超级Super10。Super10内核可以运行在从0~150MHz的任何速度,消耗的功率是所0.2~0.5mW/MHz。
Super10也是一种DSP-MCU内核,和公司的ST10内核具有代码的兼容性,可以允许在新的芯片系统应用中使用已有的软件投资。Super10内核主要的应用场合包括硬盘驱动器的控制,汽车控制以及家用电器等。
总部在法国Grenoble的ST微电子公司DSP和MCU市场部经理说,“我们力争在性能和功耗之间寻找平衡在ST100体系结构的基础上,根据目标应用系统的不同,我们可以提供最好的性能,也能提供最低的功耗。”
ST微电子公司现在以0.18微米工艺生产它的SoC芯片。到2001年底将改用0.12微米工艺。
Motorola公司也不想在竞争中落伍。Motorola公司最近宣布其DSP56800系列又增加了新成员:DSP56800E。DSP56800E内核是完全可综合和可伸缩的,以适应各种SoC嵌入式解决方案。它也可以使用户充分利用Motorola庞大的资源库。Motorola声称这种低功耗的内核比上一代的产品在性能上可以提高5倍。此外,由于控制功能的加强,使用这个内核后,有可能省去一片额外的微控制器。
56800E内核具有16位处理器,可扩展为32位;一个16位算术逻辑单元(ALU),36位累加器,一个24位地址产生单元,一个程序译码器,以及一个1位的处理单元。它的指令集是现有的DSP56800的`超集。这个增强的版本提供软堆栈支持的子程序调用,支持灵活的用户自定义,以及多级中断优先级的控制。在120MHz主频下速度可达120MIPS,消耗功率34.45mW。同时也可以提供200MHz主频的产品。
基于这种新的内核,Motorola公司为用户提供了两种标准芯片:DSP56853和DSP56854。两种芯片都可以用于Internet应用和客户机应用例如电话、便携式设备、Internet音频服务、以及自动销售系统等。除了这个新的内核,这些集成电路中还包括RAM、ROM、串行口,外部存储器接口,定时器模块,以及通用I/O口等