DSP微控制器(DSP microcontroller是同时需要DSP技术的高效能与微控制器的低价位之应用系统之最佳选择。以往DSP以及微控制器的市场是互相分开且具有明显区隔的:DSP代表高效能与高价位;而微控制器却被视为高产量且低价位的产品。目前越来越多的客户要求微控制器价位的DSP晶片,使得这两个市场的区隔逐渐模煳。
如何以微控制器的低成本来实现高效能的DSP技术呢?有两种方式,一是缩小晶片颗粒的大小;二是减少晶片封装的接脚数目。透过缩小晶粒来减低成本的方式,某种程度上已经透过次微米技术的使用而达成,尽管次微米技术并不是最尖端的技术,但效能上仍维持良好的水准。另外,若晶片的架构达到最佳化的程度,即使晶粒缩小了,也能够保有一般标准但较昂贵晶片之重要功能。DSP微控制器之所以能够降低晶片的封装成本,大部份是因为此晶片弹性的I/O(输入/输出)架构。另外透过系统成本与能源消耗的降低来减少成本的方式。
DSP微控制器成功地克服了传统微控制器应用系统因需使用DSP演算法所呈现的障碍,底下将会一一呈现这些障碍,并讨论DSP微控制器为了克服这些障碍,在架构上所持有的特殊设计。
SP与微控制器市场比较
文目前的市场中,以微控制器为主的应用系统,正面临着对DSP演算法控制器逐渐增加的需求,因为DSP演算法所带来效能的提升与新功能的增加,使得DSP演算法的应用系统正在大量的增加,尤其是在磁条读取机、来电显示、马达控制器、保全与玩具等应用市场当中最为显着。表一列举了DSP技术较传统的微控制器设计的优越之处。
除此之外,许多应用系统使用的装置中,包含了同时拥有DSP与微控制器核心技术的晶粒,如数位电话答录机、无线电话机与光碟机等装置即属此类。
市场对成本降低的需求
第一颗DSP处理器是为了高规格的军事应用所开发的,而今日大多数的DSP应用系统也跟随着这种高规格的走向,将重点放在需要高科技、高效能的应用市场。每颗DSP处理器的平均成本约在美金10元到50元之间,比起微控制器介于美金1至10元的单位平均成本来说,价位可以说是偏高。不过价格当然也会随着需求量的大小而变化,而微控制器目标市场的特性就是需求量大,这种高需求量自然而然地就会造成制造成本的降低与成本效益的提升,进而降低微控制器的价格。
今日的消费性市场已对DSP处理器产生了大量的需求,而大多数的高价DSP处理器对量高的消费性市场来说是无法接受的,尤其是对于需要DSP演算法来增新产品功能的传统微控制器应用来说,将晶片价格维持在微控制器的价格范围中,是一个很重要的诉求。DSP微控制器的架构,是为了迎合两个相互冲突的需求–高效能与低成本–而设计,在提供DSP架构优点的同时,却不牺牲原本微控制器的好处,所以DSP微控制器的优势之一,就是其晶片的价格维持在传统微控制器的价格范围内。但是如何以微控制器的低价位来达到DSP技术的高效能呢?接下来将会讨论如何将DSP微控制器的架构最佳化,来获得DSP技术所能提供的高效能,并同时降低传统应用DSP技术时所需的高成本。
缩小晶片颗粒
晶粒的缩小需要透过以下两个方式来达成:一、使用更深层的次微米技术来缩小晶粒,二、使用更有效率的晶片架构设计。然而,使用更深层的次微米技术来缩小晶粒并不一定会降低晶粒成本,因此我们需要选择一种不像最尖端的深层次微米技术一样昂贵,但却能满足高效能需求的技术。DSP微控制器一般使用0.8微米的制程技术,同时提供高效能与低成本两个优势。一旦选定了这个低成本的技术,下一个考验就是如何将晶片的架构提升到最佳的状态,使该晶片不但拥有低价格,也保有传统DSP晶片的主要功能。以下是几个为了将DSP微控制器架构最佳化,在晶片架构上所做的决定:
乘法器/累加器运算
在DSP的核心功能之中,此功能所佔的晶粒面积比例最大,因此有效率地设计是非常重要的。DSP微控制器使用16位元的固点DSP运算法,两个16位元的二进位制补数(two’s compliment)之乘积是一个31位元的二进位制补数(其中一位元为符号位元,剩下的30位元代表运算结果的二进位数值),而DSP微控制器架构将运算结果的最右边七个最低有效位元(LSBs)截掉,仅以24位元的二进位补数来表示运算的部份结果,这种部份表示法的目的是为了避免溢位的发生。
截掉这七个最低有效位元不会对运算结果造成极大的影响,且大多数的应用都可以接受此24位元的部份结果所给予的精确度,而且在应用需要使用31位元的运算结果的时候,可以使用双精度运算法来运算。此设计不但满足应用的需求,在缩小晶粒方面的优势为此乘法/累加器使用较小的乘法器,在乘法器与累加器之间的资料匯流排从32位元减少到24位元,且累加器的大小也从32位元降到24位元。
多位元移位器(Barrel shifter)
另外一个也佔颇大晶粒面积的功能是一个16位元可程式化的多位元移位器,此移位器可支援16位元内右移与左移的运算,而DSP微控制器只支援乘法器的一位元左/右移运算、无位移运算、或是三位元右移运算,决定捨弃既复杂又昂贵的多位元移位器,只使用简单小型的移位器来缩小晶粒。而需要乘法器做多位元移位的时候,可以透过执行多次左移指令的方式来完成。
其他为了缩小晶粒而捨弃的DSP处理器功能如下:
环境切换功能
遮蔽暂存器(Shadow Registers)与环境切换(Context Switching)等功能是用以加速对中断的反应,但是因为环境切换功能对大多数的应用来说并不重要,所以DSP微控制器并不支援此功能,不过缺少此功能所带来的影响是对暂存器存取资料时所需的时间变得较长。
额外的算术与逻辑运算单元
一些高规格的DSP处理器中,使用额外的算术与逻辑运算单元(ALU)来获得平行运算的加速效果,但是因为此功能对大多数应用并不特别重要,所以DSP微控制器不支援此项功能。
硬体迴圈
使用DSP演算法的技术,如有限脉冲回应(FIR)及无限脉冲回应(IIR)等数位滤波器,都需要使用硬体迴圈才能有效地运作,而DSP微控制器只支援部份迴圈,支援数目为二的幂数(2n)之硬体迴圈。
以两个资料匯流排支援单一运算週期之乘法指令
一般DSP处理器只使用单一资料匯流排,另外有些DSP处理器也支援两个分开的资料匯流排,用以支援单一运算週期的乘法、乘/加法或是乘/减法的运算指令。
降低封装成本
晶粒的成本只是影响晶片成本的因素之一,另外一个因素就是封装的成本。晶片接脚数的减少对降低晶片成本的影响极大,而且当晶粒成本已经降低的时候,封装的成本就显得格外重要。晶片封装的价格对整个晶片来说算是偏高的,所以对于在微控制器价格范围内的晶片来说,降低封装的成本变得非常重要。
DSP微控制器拥有一个非常弹性的I/O架构,若应用对I/O的需求少于21个I/O接脚的时候,可以使用44-pin 的PLCC (塑料无铅晶片承载封装)封装技术,或是使用44-pin的PQFP封装技术;另外一些较复杂的应用可能会需要高达40个I/O接脚,此时即可使用80-pin的PQFP封装技术。这个弹性的I/O架构最大的优点是:既可以使用21个I/O接脚的应用系统,也可以使用80-pin的PQFP封装技术。DSP微控制器的I/O架构还提供了另外一个弹性设计,亦即特殊的I/O功能,例如:中断、计数/计时器输出或输入、序列介面接脚与时脉等,与一般的I/O功能共同分享I/O接脚。因为当一些特殊的I/O功能未被使用的时候,这些接脚仍然可以被一般的I/O功能所利用,这种弹性的I/O架构,使得DSP微控制器的运作和微控制器晶片相似。
降低系统成本
系统成本的降低可能比降低DSP晶片成本来得重要。除DSP处理器以外,系统成本还包含所有周边装置之成本,例如:输出入埠、记忆体…等。
石英器时脉源与振盪器时脉源
尽管对微控制器来说,具有石英器(crystal)时脉源是很普遍的,但在DSP处理器上却颇为少见。一般来说石英器比振盪器(oscillator)至少便宜1美金以上,因此支援石英器时脉源对降低系统成本来说是极为重要的。DSP微控制器支援较低价位的32 kHz石英器,另外使用一个锁相迴路(PLL)将系统时脉从32 kHz提高至20 MHz。
为较低速的周边装置所设的等候状态
DSP处理器运作的频率高达20 MHz(20 MIPS),但为了降低系统成本,DSP处理器时常需要与价格较低而速度较慢的记忆体或其他低价低速的周边装置一起运作,因此DSP微控制器可将外部週边装置分别映射到外部暂存器的适当位置,并将其所需的等候状态(wait-state insertion)的时间加入处理週期中。
单晶片系统整合
另外一个降低系统成本的方式是单一晶片系统整合,亦即将週边的功能一同整合到控制器晶片上,以减去外部週边装置的成本。一般的DSP微控制器晶片就整合了以下的週边功能:4通道,8位元的类比数位转换器(A-D)、序列週边介面(SPI)、两个脉宽调变器(PWM)、三个一般用途的计时/计数器、两个看门狗计时器(Watch-Dog Timers)、以及可程式化的锁相迴路(PLL)。
类比数位转换器的解析度
决定类比数位转换器所需的解析度是非常重要的,而此解析度取决于系统要求的讯号杂讯比值(SNR),此值可用以下公式计算其概值:6*b - 1.24 分贝(dB),其中的b为类比数位转换器为了提供系统要求的讯号杂讯比值所需之位元数。DSP微控制器有一个8位元的类比数位转换器和具有支援12至13位元解析度的脉码调变编解码(PCM CODEC)介面。
降低能源消耗
许多微控制器与DSP的应用系统都以电池为其能量来源,因此能源消耗量的降低也是很重要的。DSP微控制器以32 kHz 的石英器,加上可程式化锁相迴路,将系统频率提升至20 MHz,因为此锁相迴路是可程式化的,所以能够轻易地在4 MHz 与 20 MHz 的范围内调整系统时脉。表三列举了不同的时脉模式所达之不同的能源降低程度,能源消耗量最低的是振盪器与电压控制振盪器(VCO)都同时停止的时脉停止模式(stop clock mode);睡眠模式的回復可以透过中断或使用者输入的I/O接脚;而在DSP微控制器需要于省电模式下低速运作时,便可以使用32-kHz 的低速模式。
与微控制器指令集的相似性
DSP微控制器的指令集与一般微控制器的指令集相似,同样使用LD指令将资料移动于暂存器或暂存器指标之间,暂存器指标指向资料或程式的记忆体位址,此外它们的数学运算指令也相同;DSP和控制器的架构以及8或16位元的处理器之间的不同在于:指令集无法完全相容。尽管如此,因为它们的指令集类似,可以让具有开发微控制器应用经验的软体工程师,也能够很轻易地开发DSP处理器的应用软体。
结语
目前市场中的微控制器应用系统,对于需要DSP技术之产品功能的需求越来越高,而这种对高效能的需求也连带地要求DSP技术的使用具有高成本效益,并完全地符合微控制器的价格标准。DSP微控制器以富创意及高效率的方式将晶片的架构提升到最佳的状态,使得晶粒的大小、封装的晶片接脚数、系统的成本或能源的消耗都大幅地降地。DSP微控制器让微控制器的应用系统在使用DSP演算法的同时,也能提供传统微控制器晶片上所有的週边功能,且其价格也维持在微控制器的价格范围内,比起其他传统的DSP晶片,DSP微控制器因为拥有高度平衡的架构,因此能够提供更卓越的MIPS/价格比。