数字信号控制器的新进展
扫描二维码
随时随地手机看文章
数字信号控制器(DSC)已开始在处理许多以往需由微控制器(MCU)和数字信号处理器(DSP)共同完成的复杂问题上崭露头角。作为这两种器件的一种混合,DSC随时准备加入它们的行列(见图1)并将与其共存。
DSP作为一种专用微处理器(MPU),可以尽可能快的速度来执行少量非常特定的指令和操作。实现该功能的传统方法是采用硬件模拟滤波器(而不是基于软件的数字技术)。信号处理能力的一个主要方面就是实时性能。
由于要求处理的输入信号是用于诸如电话、电视、多媒体系统和CD播放机等用途的,因此必须在没有任何延迟的情况下对其进行快速处理。如果DSP不能以足够快的速度进行信号处理,那么这些应用将失去实际意义。
当初开发MCU的目的是以牺牲某些性能为代价,利用可编程性来提供大量的灵活性。所有可由DSP完成的操作均可由MCU(或MPU,它与MCU是同类器件,只是少了集成的片上外围元件)来完成。不同之处在于MCU的信号处理操作速度较慢,但它可对数据进行许多其他类型的处理。因此,采用MCU的应用一般都有一个可能需要执行若干不同类型的任务(而不是那种DSP算法标志性的重复性数字捣弄)的控制电路。
MCU被优选用于完成一系列对来自各种信源的输入数据的几乎所有组合的逻辑、诊断和算术运算,而DSP则在完成重复性的数字密集型任务方面具有很高的效率。
典型的DSP运算
DSP所能高效执行的重复性数字捣弄运算主要是加法、乘法、延迟和阵列处理。图2 示出了用于图形和音频处理的最常见的DSP运算之一 —— 一种简单的有限脉冲响应(FIR)滤波器。
图1:数字信号控制器是微控制器和数字信号处理器的一种结合
对取自不同位置的数据进行乘法和加法运算,运算结果存储在一个临时结果寄存器中。由于数据代表的是一个连续的信号流(如同一个模拟波形),因此被存储在连续的存储单元中。利用允许寄存器内容(用于指出操作数)自动增加的寻址方式可对通常与这些数据一道使用的连续地址进行高效处理。
通用DSP结构被优化,以实现这些简单操作的快速执行,在一个周期里往往能够执行若干乘法和加法(MAC)运算。
图2:FIR滤波器是用于图形和音频处理的一种最常见的DSP运算
DSP和MCU的性能
DSP和MCU的某些性能一直被认为是它们所特有的,DSC则将它们统统纳入其混合结构中。这些特有性能的基本说明如下。
DSP的第一个基本要求就是用于执行MAC运算的专用硬件,以及累加(结果)寄存器中用于防止一系列MAC运算的结果溢出的保护位。许多传统MCU也包含MAC指令,尽管无法和顶级的专用DSP的并行MAC运算能力(在一个周期里可完成许多运算)相提并论。
DSP的另一个特定要求是能够同时访问多个存储单元,以实现数据和指令的同时获取并极大地提高吞吐量。这种被称为Harvard体系的结构要求数据和指令具有独立的总线。虽然许多MCU仍然采用传统的Von Neumann体系(用一条总线来获取地址和数据),但不少MCU目前已在使用Harvard体系。
DSP的第三个性能是可以形成地址,并在不产生执行单元瓶颈的情况下获取操作数。DSP的地址生成单元能够在处理指令的同时独立工作。
寻址方式被优化,用于支持对存储数据的顺序存储单元的访问。对MCU而言,这一属性目前也已经比较常见了——寻址方式(比如采用算后增量的寄存器间接寻址方式)允许MCU对编排形式与DSP相似的数据结构进行访问。
DSP的第四个重要的硬件单元——桶形寄存器是用于快速处理寄存器内容以对数据进行扩缩的专用电路。定点DSP需要对数据进行扩缩以在浮点处理器上生成相同的有效动态范围。
可利用软件对桶形寄存器的动作进行仿真,但这太费时间,在实时视频和音频应用中恐怕是不可行的。硬件桶形寄存器正在成为最新MCU的常见功能。
传统MCU的通用性能是其与DSP属性上最大的不同,这在它的指令集和寻址方式上均有所反映。MCU包含许多面向控制的指令、位处理指令以及可采用栈指针轻松实现的数据处理性能。专用栈指针和栈指针相对寻址极大地简化了编译器的操作,并可将编译代码优化至可能的最小尺寸。
MCU的另一项性能是包容了片上外围元件。尽管新型DSP目前包含某些外围模块(如存储器和串行通信控制器),但MCU则往往是将其周围的外围芯片加以集成的PC板上器件。
从技术角度无法解释DSP芯片为什么不能容纳这些外围元件,虽然总的说来需要这些功能的电路在其心脏部位更有可能要求采用一个控制器(这与专用数字捣弄体系不同)。
相比DSP而言与MCU关系更为密切的最后一项性能是快速中断处理能力,这在芯片上含有大量集成外围元件时是必需的,因为控制系统将要处理更多的中断源。
把MCU和DSP融合起来
单片DSC的优点就是那些近年来推动此类集成化不断发展的常见因素:元件总体成本的下降、电路板面积的缩小、逻辑控制的减少以及可靠性的提高。将所有这些性能汇集到一个体系中(而不是采用协同处理器的方法,即MCU加上一个板上DSP协同处理器)的好处是只需开发一套软件程序。
这大大简化了开发工作,并且削减了额外的开销(比如对MCU和DSP开发工具以及学习曲线的需要)。控制和信号处理部分均包含于一个算法之中。
在过去,该功能度需要采用MCU和DSP才能实现——只有极少数设计人员能够承担得起如此奢侈的设计费用。除了能够降低芯片组的成本之外,只需要为一种可编程器件编写软件并进行调试则是另一个突出的优点。
Motorola 56800系列是新一代DSC的典范。该体系结构包容了传统DSP硬件以及MCU的全部要素。
预计DSC的出现将进一步普及信号处理算法在嵌入式控制应用中的运用,它将使那些过去需要采用昂贵元件并耗费较长开发期的产品的成本下降。