二合一水到渠成
由于认识到这种状况,半导体制造商一段时间以来提供了兼有常规器件和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软件。