DSP和MCU的融合
在半導(dǎo)體器件制造商力圖使其產(chǎn)品與眾不同時(shí),他們常常引用“現(xiàn)實(shí)世界”。他們提醒數(shù)字系統(tǒng)設(shè)計(jì)師:現(xiàn)實(shí)世界是模擬的,他們的設(shè)計(jì)的四周始終是線性電路,以便與環(huán)境銜接。許多處理器系統(tǒng)設(shè)計(jì)師不太可能會(huì)忘記這一點(diǎn),但它卻是隨手拿去推銷產(chǎn)品的借口。同樣地,競(jìng)爭(zhēng)的產(chǎn)品系列都幾乎一成不變地區(qū)分常規(guī)體系結(jié)構(gòu)和數(shù)字信號(hào)處理器體系結(jié)構(gòu)。
與區(qū)分模擬和數(shù)字一樣,設(shè)計(jì)師常常發(fā)現(xiàn)其產(chǎn)品分辨不出DSP和微控制器(mC)的不同屬性,而兩者的混合則是一種更好的解決方案。然而,這兩個(gè)陣營(yíng)提供的最優(yōu)資源平衡在兩個(gè)系統(tǒng)之間通常有很大的差別。8位mC可能適合于執(zhí)行基本的開關(guān)操作、定時(shí)和控制功能的消費(fèi)類產(chǎn)品,但是,為了增加連通性、語(yǔ)音識(shí)別或者其它一些涉及信號(hào)處理的操作,可能就需要進(jìn)行升級(jí)。在常規(guī)的mC上進(jìn)行信號(hào)處理功能編碼通常是可能的,但是需要相當(dāng)?shù)募记?,還可能需要使用功能更加強(qiáng)大、價(jià)格也更貴的器件。額外功能所需的處理能力也可能大大超過(guò)基本產(chǎn)品所需的資源。雖然一塊很小的DSP芯片可以執(zhí)行信號(hào)處理,但是增加一塊獨(dú)立的DSP不可避免地會(huì)增加產(chǎn)品的制造成本,而且對(duì)最終銷售價(jià)格的影響也比增加功能還大。相反地,在信號(hào)處理量很大的系統(tǒng)中,一塊適中的DSP可能非常適合于處理信號(hào)通道,但卻可能提出一個(gè)真正的編程難題,即要在同一器件中同時(shí)處理鍵盤和接口功能。
二合一水到渠成
由于認(rèn)識(shí)到這種狀況,半導(dǎo)體制造商一段時(shí)間以來(lái)提供了兼有常規(guī)器件和DSP器件兩者功能的混合處理器。最近,半導(dǎo)體制造商們推出具有各種等級(jí)復(fù)雜性和性能的新產(chǎn)品,大大擴(kuò)展了這種混合處理器的范圍和通用性。在這一產(chǎn)品領(lǐng)域內(nèi),多內(nèi)核體系結(jié)構(gòu)和統(tǒng)一內(nèi)核體系結(jié)構(gòu)支配著兩種根本不同的芯片設(shè)計(jì)方法。從本質(zhì)上說(shuō),器件設(shè)計(jì)師要么把一個(gè)控制處理器和一個(gè)DSP安排在一塊芯片上,要么擴(kuò)展控制處理器的指令集來(lái)容納DSP指令(反之亦然)。只要有足夠的原始性能,機(jī)靈的編程人員無(wú)法將信號(hào)處理功能編碼到常規(guī)內(nèi)核中的情況極少見,所以,一塊芯片具有足以成為混合處理器的DSP能力的界定點(diǎn)是令人懷疑的。增加一個(gè)硬件乘法/累加(MAC)模塊及其指令集,就很好地說(shuō)明了一個(gè)混合功能系統(tǒng)所需的能力。
Microchip Technology公司(以下簡(jiǎn)稱Microchip公司)的PIC是8/16位微控制器市場(chǎng)上人人熟悉的產(chǎn)品,目前在其dsPIC30系列內(nèi)具有DSP能力(圖1)。該系列內(nèi)最新增加的產(chǎn)品是30F5011和30F5013兩種器件,均具有30 MIPS的性能。這兩種器件都是基于閃存的芯片,具有66kB內(nèi)存,可以在工業(yè)溫度范圍和擴(kuò)展的溫度范圍內(nèi)工作。
Microchip公司的方法是將其16位改進(jìn)型Harvard RISC內(nèi)核與可提供緊耦合指令流的DSP指令相結(jié)合。該公司提出的“增強(qiáng)型標(biāo)準(zhǔn)工具鏈” 開發(fā)途徑成為許多供應(yīng)商所采取方法的典范?;镜钠脚_(tái)仍然與標(biāo)準(zhǔn)處理器系列的相同,就Microchip公司的產(chǎn)品而言,是由其MPLAB集成開發(fā)環(huán)境和成套工具組成的。增加DSP功能是通過(guò)擴(kuò)展編譯器等領(lǐng)域來(lái)實(shí)現(xiàn)的。Microchip公司歐洲業(yè)務(wù)開發(fā)經(jīng)理Steve Diaper承認(rèn),為了利用附加功能,設(shè)計(jì)師將不得不學(xué)習(xí)DSP的基本知識(shí),不過(guò)他認(rèn)為,開始有效工作所需的額外知識(shí)卻是極其少的。Diaper認(rèn)為混合型產(chǎn)品的應(yīng)用可以分為不同的兩類。第一類側(cè)重于DSP功能對(duì)完成主要任務(wù)極為重要的特殊應(yīng)用領(lǐng)域,;第二類是為8位和16位mC用戶提供向上發(fā)展途徑的通用應(yīng)用領(lǐng)域。第一類的例子包括電動(dòng)機(jī)控制等應(yīng)用,其中專用產(chǎn)品還包括可編程PWM發(fā)生器和正交編碼器接口等硬件模塊。通用應(yīng)用包括語(yǔ)音或指紋識(shí)別,以及軟件調(diào)制解調(diào)器和TCP/IP通信等的連通性。Microchip通過(guò)其兩款演示板說(shuō)明了此類應(yīng)用產(chǎn)生的增量負(fù)載所造成的影響。一塊演示板表明運(yùn)行簡(jiǎn)化TCP/IP協(xié)議棧的常規(guī)PIC18mC幾乎沒(méi)有為運(yùn)行其它控制功能留出余地。相反地,在基于dsPIC30的電路板上運(yùn)行完整的TCP/IP協(xié)議棧卻只對(duì)混合處理器的控制帶寬產(chǎn)生非常有限的影響。
DSP能力還可實(shí)現(xiàn)常規(guī)處理器難以處理的一系列處理選項(xiàng),如FFT和數(shù)字濾波器等。Diaper指出,大多數(shù)用戶都利用各種庫(kù)來(lái)實(shí)現(xiàn)DSP功能?;旌咸幚砥鞯脑O(shè)計(jì)套件通常都帶有預(yù)先編碼的例程,用以完成編程人員可根據(jù)高級(jí)代碼調(diào)用的普通功能。與任何DSP一樣,只要編程人員對(duì)程序內(nèi)部循環(huán)和周邊的代碼進(jìn)行優(yōu)化,編程效率就會(huì)提高;與大多數(shù)控制代碼不同,DSP例程一般都是高度可迭代的。
從DSP開始
芯片設(shè)計(jì)師先設(shè)計(jì)DSP,再增加控制功能,也可以設(shè)計(jì)出混合mC。Texas Instruments公司(以下簡(jiǎn)稱TI公司)用這種方法設(shè)計(jì)出其TMS320系列中的C2000系列。C2000系列采用16位體系結(jié)構(gòu),具有20MIPS ~ 40MIPS的DSP性能,或者采用32位定點(diǎn)芯片,具有高達(dá)150 MIPS的DSP性能。TI公司最近又增加了R2812和R2811兩種具有高達(dá)20k字的片上SRAM的混合mC。這兩種mC可通過(guò)一個(gè)SPI接口獲得無(wú)限制的外部存儲(chǔ)器。150 MIPS的mC具有32位MAC的能力,并具有多種外設(shè),其中包括一個(gè)適合于高分辨率測(cè)量和計(jì)量等系統(tǒng)的12位ADC。軟件支持包括一個(gè)以32位浮點(diǎn)格式編入的數(shù)學(xué)庫(kù)和一個(gè)可以在MathWorks公司的Matlab下運(yùn)行的濾波軟件包。
Freescale公司利用同樣的方法,從其56000體系結(jié)構(gòu)衍生出56800系列混合處理器。Freescale公司在有足夠能力處理高級(jí)運(yùn)動(dòng)控制等算法的DSP中增加控制功能,使這些混合處理器達(dá)到相當(dāng)高的水平。再則,這也是一種適合于高效C語(yǔ)言編程的統(tǒng)一體系結(jié)構(gòu),其指令集兼有DSP和控制器兩種功能。該產(chǎn)品系列中最新增加的產(chǎn)品之一就是56F8365,這種60 MIPS的器件具有512kB閃存、一個(gè)單周期16316乘法器和四個(gè)36位累加器。因?yàn)檫@種器件擬應(yīng)用于運(yùn)動(dòng)控制,所以其外設(shè)再次包括PWM輸出和編碼器輸入,并且具有進(jìn)一步促進(jìn)其在汽車和工業(yè)環(huán)境中使用的CAN接口。同一系列中的其它器件具有更適合安全和醫(yī)療等系統(tǒng)的外設(shè)。開發(fā)工作是通過(guò)Metrowerks公司的CodeWarrior工具鏈進(jìn)行的,而編程指南則取自專有的Processor Expert軟件。
評(píng)論