數(shù)字信號控制器的新進(jìn)展
數(shù)字信號控制器(DSC)已開始在處理許多以往需由微控制器(MCU)和數(shù)字信號處理器(DSP)共同完成的復(fù)雜問題上嶄露頭角。作為這兩種器件的一種混合,DSC隨時準(zhǔn)備加入它們的行列(見圖1)并將與其共存。
DSP作為一種專用微處理器(MPU),可以盡可能快的速度來執(zhí)行少量非常特定的指令和操作。實現(xiàn)該功能的傳統(tǒng)方法是采用硬件模擬濾波器(而不是基于軟件的數(shù)字技術(shù))。信號處理能力的一個主要方面就是實時性能。
由于要求處理的輸入信號是用于諸如電話、電視、多媒體系統(tǒng)和CD播放機(jī)等用途的,因此必須在沒有任何延遲的情況下對其進(jìn)行快速處理。如果DSP不能以足夠快的速度進(jìn)行信號處理,那么這些應(yīng)用將失去實際意義。
當(dāng)初開發(fā)MCU的目的是以犧牲某些性能為代價,利用可編程性來提供大量的靈活性。所有可由DSP完成的操作均可由MCU(或MPU,它與MCU是同類器件,只是少了集成的片上外圍元件)來完成。不同之處在于MCU的信號處理操作速度較慢,但它可對數(shù)據(jù)進(jìn)行許多其他類型的處理。因此,采用MCU的應(yīng)用一般都有一個可能需要執(zhí)行若干不同類型的任務(wù)(而不是那種DSP算法標(biāo)志性的重復(fù)性數(shù)字搗弄)的控制電路。
MCU被優(yōu)選用于完成一系列對來自各種信源的輸入數(shù)據(jù)的幾乎所有組合的邏輯、診斷和算術(shù)運(yùn)算,而DSP則在完成重復(fù)性的數(shù)字密集型任務(wù)方面具有很高的效率。
典型的DSP運(yùn)算
DSP所能高效執(zhí)行的重復(fù)性數(shù)字搗弄運(yùn)算主要是加法、乘法、延遲和陣列處理。圖2 示出了用于圖形和音頻處理的最常見的DSP運(yùn)算之一 —— 一種簡單的有限脈沖響應(yīng)(FIR)濾波器。
圖1:數(shù)字信號控制器是微控制器和數(shù)字信號處理器的一種結(jié)合
對取自不同位置的數(shù)據(jù)進(jìn)行乘法和加法運(yùn)算,運(yùn)算結(jié)果存儲在一個臨時結(jié)果寄存器中。由于數(shù)據(jù)代表的是一個連續(xù)的信號流(如同一個模擬波形),因此被存儲在連續(xù)的存儲單元中。利用允許寄存器內(nèi)容(用于指出操作數(shù))自動增加的尋址方式可對通常與這些數(shù)據(jù)一道使用的連續(xù)地址進(jìn)行高效處理。
通用DSP結(jié)構(gòu)被優(yōu)化,以實現(xiàn)這些簡單操作的快速執(zhí)行,在一個周期里往往能夠執(zhí)行若干乘法和加法(MAC)運(yùn)算。
圖2:FIR濾波器是用于圖形和音頻處理的一種最常見的DSP運(yùn)算
DSP和MCU的性能
DSP和MCU的某些性能一直被認(rèn)為是它們所特有的,DSC則將它們統(tǒng)統(tǒng)納入其混合結(jié)構(gòu)中。這些特有性能的基本說明如下。
DSP的第一個基本要求就是用于執(zhí)行MAC運(yùn)算的專用硬件,以及累加(結(jié)果)寄存器中用于防止一系列MAC運(yùn)算的結(jié)果溢出的保護(hù)位。許多傳統(tǒng)MCU也包含MAC指令,盡管無法和頂級的專用DSP的并行MAC運(yùn)算能力(在一個周期里可完成許多運(yùn)算)相提并論。
DSP的另一個特定要求是能夠同時訪問多個存儲單元,以實現(xiàn)數(shù)據(jù)和指令的同時獲取并極大地提高吞吐量。這種被稱為Harvard體系的結(jié)構(gòu)要求數(shù)據(jù)和指令具有獨(dú)立的總線。雖然許多MCU仍然采用傳統(tǒng)的Von Neumann體系(用一條總線來獲取地址和數(shù)據(jù)),但不少M(fèi)CU目前已在使用Harvard體系。
DSP的第三個性能是可以形成地址,并在不產(chǎn)生執(zhí)行單元瓶頸的情況下獲取操作數(shù)。DSP的地址生成單元能夠在處理指令的同時獨(dú)立工作。
尋址方式被優(yōu)化,用于支持對存儲數(shù)據(jù)的順序存儲單元的訪問。對MCU而言,這一屬性目前也已經(jīng)比較常見了——尋址方式(比如采用算后增量的寄存器間接尋址方式)允許MCU對編排形式與DSP相似的數(shù)據(jù)結(jié)構(gòu)進(jìn)行訪問。
DSP的第四個重要的硬件單元——桶形寄存器是用于快速處理寄存器內(nèi)容以對數(shù)據(jù)進(jìn)行擴(kuò)縮的專用電路。定點(diǎn)DSP需要對數(shù)據(jù)進(jìn)行擴(kuò)縮以在浮點(diǎn)處理器上生成相同的有效動態(tài)范圍。
可利用軟件對桶形寄存器的動作進(jìn)行仿真,但這太費(fèi)時間,在實時視頻和音頻應(yīng)用中恐怕是不可行的。硬件桶形寄存器正在成為最新MCU的常見功能。
傳統(tǒng)MCU的通用性能是其與DSP屬性上最大的不同,這在它的指令集和尋址方式上均有所反映。MCU包含許多面向控制的指令、位處理指令以及可采用棧指針輕松實現(xiàn)的數(shù)據(jù)處理性能。專用棧指針和棧指針相對尋址極大地簡化了編譯器的操作,并可將編譯代碼優(yōu)化至可能的最小尺寸。
MCU的另一項性能是包容了片上外圍元件。盡管新型DSP目前包含某些外圍模塊(如存儲器和串行通信控制器),但MCU則往往是將其周圍的外圍芯片加以集成的PC板上器件。
從技術(shù)角度無法解釋DSP芯片為什么不能容納這些外圍元件,雖然總的說來需要這些功能的電路在其心臟部位更有可能要求采用一個控制器(這與專用數(shù)字搗弄體系不同)。
相比DSP而言與MCU關(guān)系更為密切的最后一項性能是快速中斷處理能力,這在芯片上含有大量集成外圍元件時是必需的,因為控制系統(tǒng)將要處理更多的中斷源。
把MCU和DSP融合起來
單片DSC的優(yōu)點(diǎn)就是那些近年來推動此類集成化不斷發(fā)展的常見因素:元件總體成本的下降、電路板面積的縮小、邏輯控制的減少以及可靠性的提高。將所有這些性能匯集到一個體系中(而不是采用協(xié)同處理器的方法,即MCU加上一個板上DSP協(xié)同處理器)的好處是只需開發(fā)一套軟件程序。
這大大簡化了開發(fā)工作,并且削減了額外的開銷(比如對MCU和DSP開發(fā)工具以及學(xué)習(xí)曲線的需要)??刂坪托盘柼幚聿糠志谝粋€算法之中。
在過去,該功能度需要采用MCU和DSP才能實現(xiàn)——只有極少數(shù)設(shè)計人員能夠承擔(dān)得起如此奢侈的設(shè)計費(fèi)用。除了能夠降低芯片組的成本之外,只需要為一種可編程器件編寫軟件并進(jìn)行調(diào)試則是另一個突出的優(yōu)點(diǎn)。
Motorola 56800系列是新一代DSC的典范。該體系結(jié)構(gòu)包容了傳統(tǒng)DSP硬件以及MCU的全部要素。
預(yù)計DSC的出現(xiàn)將進(jìn)一步普及信號處理算法在嵌入式控制應(yīng)用中的運(yùn)用,它將使那些過去需要采用昂貴元件并耗費(fèi)較長開發(fā)期的產(chǎn)品的成本下降。