控制处理器和数字信号处理器(DSP)曾在微处理器数据手册中各自单列成章,现在则正在被整合在一起,成为以最低成本完成各种消费类和工业类任务的最佳解决方案。
在半导体器件制造商力图使其产品与众不同时,他们常常引用“现实世界”。他们提醒数字系统设计师:现实世界是模拟的,他们的设计的四周始终是线性电路,以便与环境衔接。许多处理器系统设计师不太可能会忘记这一点,但它却是随手拿去推销产品的借口。同样地,竞争的产品系列都几乎一成不变地区分常规体系结构和数字信号处理器体系结构。
与区分模拟和数字一样,设计师常常发现其产品分辨不出DSP和微控制器(mC)的不同属性,而两者的混合则是一种更好的解决方案。然而,这两个阵营提供的最优资源平衡在两个系统之间通常有很大的差别。8位mC可能适合于执行基本的开关操作、定时和控制功能的消费类产品,但是,为了增加连通性、语音识别或者其它一些涉及信号处理的操作,可能就需要进行升级。在常规的mC上进行信号处理功能编码通常是可能的,但是需要相当的技巧,还可能需要使用功能更加强大、价格也更贵的器件。
额外功能所需的处理能力也可能大大超过基本产品所需的资源。虽然一块很小的DSP芯片可以执行信号处理,但是增加一块独立的DSP不可避免地会增加产品的制造成本,而且对最终销售价格的影响也比增加功能还大。相反地,在信号处理量很大的系统中,一块适中的DSP可能非常适合于处理信号通道,但却可能提出一个真正的编程难题,即要在同一器件中同时处理键盘和接口功能。
二合一水到渠成
由于认识到这种状况,半导体制造商一段时间以来提供了兼有常规器件和DSP器件两者功能的混合处理器。最近,半导体制造商们推出具有各种等级复杂性和性能的新产品,大大扩展了这种混合处理器的范围和通用性。在这一产品领域内,多内核体系结构和统一内核体系结构支配着两种根本不同的芯片设计方法。从本质上说,器件设计师要么把一个控制处理器和一个DSP安排在一块芯片上,要么扩展控制处理器的指令集来容纳DSP指令(反之亦然)。只要有足够的原始性能,机灵的编程人员无法将信号处理功能编码到常规内核中的情况极少见,所以,一块芯片具有足以成为混合处理器的DSP能力的界定点是令人怀疑的。增加一个硬件乘法/累加(MAC)模块及其指令集,就很好地说明了一个混合功能系统所需的能力。
Microchip Technology公司(以下简称Microchip公司)的PIC是8/16位微控制器市场上人人熟悉的产品,目前在其dsPIC30系列内具有DSP能力(图1)。该系列内最新增加的产品是30F5011和30F5013两种器件,均具有30 MIPS的性能。这两种器件都是基于闪存的芯片,具有66kB内存,可以在工业温度范围和扩展的温度范围内工作。
Microchip公司的方法是将其16位改进型Harvard RISC内核与可提供紧耦合指令流的DSP指令相结合。该公司提出的“增强型标准工具链” 开发途径成为许多供应商所采取方法的典范。基本的平台仍然与标准处理器系列的相同,就Microchip公司的产品而言,是由其MPLAB集成开发环境和成套工具组成的。增加DSP功能是通过扩展编译器等领域来实现的。Microchip公司欧洲业务开发经理Steve Diaper承认,为了利用附加功能,设计师将不得不学习DSP的基本知识,不过他认为,开始有效工作所需的额外知识却是极其少的。Diaper认为混合型产品的应用可以分为不同的两类。第一类侧重于DSP功能对完成主要任务极为重要的特殊应用领域,;第二类是为8位和16位mC用户提供向上发展途径的通用应用领域。第一类的例子包括电动机控制等应用,其中专用产品还包括可编程PWM发生器和正交编码器接口等硬件模块。通用应用包括语音或指纹识别,以及软件调制解调器和TCP/IP通信等的连通性。Microchip通过其两款演示板说明了此类应用产生的增量负载所造成的影响。一块演示板表明运行简化TCP/IP协议栈的常规PIC18mC几乎没有为运行其它控制功能留出余地。相反地,在基于dsPIC30的电路板上运行完整的TCP/IP协议栈却只对混合处理器的控制带宽产生非常有限的影响。
DSP能力还可实现常规处理器难以处理的一系列处理选项,如FFT和数字滤波器等。Diaper指出,大多数用户都利用各种库来实现DSP功能。混合处理器的设计套件通常都带有预先编码的例程,用以完成编程人员可根据高级代码调用的普通功能。与任何DSP一样,只要编程人员对程序内部循环和周边的代码进行优化,编程效率就会提高;与大多数控制代码不同,DSP例程一般都是高度可迭代的。
从DSP开始
芯片设计师先设计DSP,再增加控制功能,也可以设计出混合mC。Texas Instruments公司(以下简称TI公司)用这种方法设计出其TMS320系列中的C2000系列。C2000系列采用16位体系结构,具有20MIPS ~ 40MIPS的DSP性能,或者采用32位定点芯片,具有高达150 MIPS的DSP性能。TI公司最近又增加了R2812和R2811两种具有高达20k字的片上SRAM的混合mC。这两种mC可通过一个SPI接口获得无限制的外部存储器。150 MIPS的mC具有32位MAC的能力,并具有多种外设,其中包括一个适合于高分辨率测量和计量等系统的12位ADC。软件支持包括一个以32位浮点格式编入的数学库和一个可以在MathWorks公司的Matlab下运行的滤波软件包。
Freescale公司利用同样的方法,从其56000体系结构衍生出56800系列混合处理器。Freescale公司在有足够能力处理高级运动控制等算法的DSP中增加控制功能,使这些混合处理器达到相当高的水平。再则,这也是一种适合于高效C语言编程的统一体系结构,其指令集兼有DSP和控制器两种功能。该产品系列中最新增加的产品之一就是56F8365,这种60 MIPS的器件具有512kB闪存、一个单周期16316乘法器和四个36位累加器。因为这种器件拟应用于运动控制,所以其外设再次包括PWM输出和编码器输入,并且具有进一步促进其在汽车和工业环境中使用的CAN接口。同一系列中的其它器件具有更适合安全和医疗等系统的外设。开发工作是通过Metrowerks公司的CodeWarrior工具链进行的,而编程指南则取自专有的Processor Expert软件。
Analog Devices公司(以下简称ADI公司)同样将其Blackfin处理器定在达到高水平的处理能力上,其最近推出的产品包括时钟速率高达750 MHz的双内核器件。ADI公司利用这种处理器的媒体引擎背景,提出了一些新概念,例如简化汽车仪表板的单处理器信号处理主单元。在这种主单元中,处理器把所有的信号处理作为独立的线程来处理,其中包括AM/FM收音机、多通道音频和GPS,同时还具有足够的控制能力来处理用户界面和各种显示器。该系列中的其它器件都有实现消费类多媒体设计的接口,如USB 2.0和100Mb 以太网。ADI公司将Blackfin称为嵌入式媒体处理器,而没有使用数字信号控制器这样的术语(不止一家厂商采用这个术语)。该产品具有一个32位RISC指令集、MAC模块和取决于应用重点的专用媒体处理模块(例如视频引擎)。Blackfin系列产品均可用作纯DSP和mC或用作DSP和mC的任意混合体。
多内核体系结构是在同一块芯片上支持DSP任务和控制任务的另一种方法。一个突出的例子就是Infineon公司著名的TriCore,该产品将一个完成实时任务的外围处理器与一个进行数据流操作的DSP和一个提供总监控及计算吞吐量的RISC引擎结合在一起。TirCore虽然采用独立的内核模块,但却使用一个32位(4GB)地址空间。(关于使用这种创新体系结构的更多信息,请见参考文献1)。Hyperstone公司是一家没有制造厂的半导体设计机构,也是在其产品中使用独立的RISC和DSP引擎的又一家公司。
混合RTOS登场
达到这种复杂性的设计无可避免地需要实时操作系统(RTOS)的支持。具体就Blackfin硬件而言,供应RTOS的Quadros公司提供旨在优化RISC和DSO代码的会聚RTOS的RTXC/dm(图2)。RTXC/dm兼有该公司现有的RTXC/ms(控制处理)和RTXC/ss(数据流/信号处理)两种产品的特性。该系统把数据流进程作为优先级高于控制任务的线程来运行。控制任务通过API来工作,而信号处理线程则不然,这就使得代码的DSP部分中的服务调用比事件驱动的控制域的调用要快2~4倍。Quadros公司宣称,这些措施可满足RISC和DSP应用代码不同的运行需求。因为事件往往要驱动控制代码,所以程序流时常发生变化。相反地,DSP代码需要执行重复的数据操作,并且必须在有限的时间内运行完成,同时对快速变化的数据集作出反应。根据Quadros总裁Tom Barrett说,RTXC/dm将运行DSP线程的最低限度环境执行程序与完成控制任务的、有优先权和受保护的抢先内核组合在一起。Barrett断言,这是编程领域中的第一个反映硬件会聚体系结构所提供灵活性的RTOS。他补充说,内部的RTOS编码“95%是使用C语言,而且与Blackfin的细节并没有太多的紧密联系”,这意味着其原理能够而且将应用于其它的统一处理器体系结构。,ADI公司的欧洲营销总监Stefan Steyerl把ADSP-BF531引用为RTOS适用的、可供受成本制约的系统(如视频监控系统)使用的系列产品成员。这种芯片是一种采用廉价封装的400 MHz器件,具有四个串行端口和一条16位外部总线,可以与Steyerl估计成本可能高出2~3倍的那些多芯片解决方案竞争。
回到30 MIPS范围,各种设计也可能受益于RTOS支持。例如,Microchip公司为其dsPIC提供三个等级的RTOS:基本调度程序;支持线程的调度程序,以及具有定时分析的完整RTOS。不过,该公司说,其设计的许多处理器根本不使用RTOS就能很好工作。
可配置的选择方案
一种可完全代替现成解决方案的解决方案,涉及到设计一个适合于手头项目的完整处理器内核,从而要采用Tensilica公司或ARC公司等厂商提供的各种可配置处理器解决方案之一。当SoC/ASIC实现方法能带来高芯片效率的解决方案时,这不太可能是一种现实的选择方案,超大批量应用系统除外。
可配置处理器体系结构均采用“核心内核” (core core) 概念,这种概念允许设计师通过直接提取系统的算法所需的数据操作来扩展指令集和硬件。尽管在字面上并不等效于会聚处理器,但是这样的算法可能是信号处理操作,而且这种技术为实现等效功能提供了一种替代方法。例如,作为设计过程的一部分,Tensilica公司的设计软件生成个别处理器实例特有的一种新的编译器和工具链的变种。这种方法很显然地会提高复杂性,并增加硬件来解决复杂任务作为配置过程的一部分。相反,ARC公司最近宣称,其设计的处理器中的大部分在相反方向上利用处理器的可配置性——定义关键算法,根据需要增加指令,但随后却将设计精简到实现系统的最低配置。当然,这种做法的目的在于尽量缩小芯片面积,以便达到尽可能最低的成本。
初创的Stretch公司推出的处理器体系结构是这种方法的一个变种(参考文献2)。Stretch公司采用Tensilica公司生产的在数据路径上具有紧耦合可编程逻辑的内核。设计师可以设置这些可编程逻辑元件来进行系统所需的数据操作。
在处理器IP(知识产权)领域,对附加DSP功能的需求也推动着诸如ARM公司的OptimoDE这类产品的推出。这种以算法为中心的可配置内核技术借助一个DSP功能的基本库来配置信号处理数据路径。它还可为新设计生产一个专用的C语言编译器变种。同样,MIPS公司宣布推出可将信号处理性能提高300%以上的DSP ASE(专用扩展)技术。ASE配有一套软件开发工具和DSP库代码。
参考文献
1,Marsh David Motorsport accelerates prototype design EDN Europe July 2002 pg 20.
2,Prophet Graham RISC/FPGA blend offers new take on configurability EDN Europe May 2004 pg 12.