圖4:MPLAB C30 C編譯器性能比較
DSP引擎的簡化框圖如圖2所示,包含了一個(gè)高速16×16位乘法器、一個(gè)40位ALU、兩個(gè)40位(可選)飽和累加器和一個(gè)40位寬、16位雙向筒形移位器。
DSP引擎不僅可以從W寄存器陣列直接取得數(shù)據(jù),也包含了存儲(chǔ)和加載端口,可以通過X數(shù)據(jù)總線使用PSV從DS或PS存取數(shù)據(jù)。16位Q15(1.15)小數(shù)累加器在加載入所選累加器之前可以通過筒形移位器進(jìn)行符號(hào)位擴(kuò)展和任意縮放。累加器在將值以1.15格式小數(shù)存儲(chǔ)之前先要存儲(chǔ)指令、適當(dāng)縮放,并進(jìn)行四舍五入或截短。四舍五入邏輯模塊也包含額外的飽和邏輯,可正確處理與四舍五入相關(guān)的1.15溢出狀態(tài)(不修改累加器源數(shù)據(jù))。筒形移位器可以將40位或16位字?jǐn)?shù)值向右或向左最多移16位,主要用于累加器、任意位置數(shù)據(jù)存儲(chǔ)器或任意W寄存器的多位移位。
DSP指令集
DSP MAC類指令能夠以33ns@30MIPS的速度執(zhí)行下面的所有指令,或有選擇的執(zhí)行某些指令(取決于指令本身)。MAC指令如圖3所示。
在這個(gè)指令例子中,我們可以識(shí)別出乘法操作以及必須和可選的操作數(shù)。必須的操作數(shù)由MAC W4*W5和A基本語法組成,可選操作數(shù)遵循右邊所示。總之,這個(gè)MAC指令內(nèi)一共可以進(jìn)行7種操作,執(zhí)行時(shí)間為一個(gè)周期。表1對(duì)DSP指令集作了總結(jié)。這些指令加上多個(gè)靈活的尋址模式即可產(chǎn)生確定的DSP性能。
表2提供了16位DSC的一些DSP性能基準(zhǔn)。dsPIC DSC架構(gòu)性能明顯可與DSP媲美,而且它還能提供感覺上類似MCU的指令集、編程器模型和存儲(chǔ)器架構(gòu)。
軟件和硬件開發(fā)工具
新架構(gòu)的采用往往極具挑戰(zhàn)性。然而,采用16位dsPIC DSC卻要容易得多。這種新架構(gòu)的確定是架構(gòu)師、編譯、設(shè)計(jì)、測(cè)試和應(yīng)用小組合作開發(fā)的過程。此外,從覆蓋了大量算法/應(yīng)用的第三方算法開發(fā)者處獲得的反饋和全球各地的用戶反饋的信息被結(jié)合起來。
Microchip公司提供了一整套便利和高性價(jià)比的軟硬件工具,這些工具均集成了業(yè)界領(lǐng)先的MPLAB(r) C30 C編譯器。這是一個(gè)全功能、兼容ANSI的最優(yōu)化的編譯器,可提供體積小巧并且高效率的代碼。圖4是與以控制作為核心的代碼相關(guān)的MPLAB C30 C編譯器性能的快照(snapshot),與多個(gè)已經(jīng)證實(shí)的16位MCU和DSP芯片制造商的產(chǎn)品作了比較評(píng)估。MPLAB C30 C編譯器是一個(gè)匯編和鏈接工具套件,具有完整的ANSI C標(biāo)準(zhǔn)庫。這個(gè)完整的庫包括字符操作、動(dòng)態(tài)存儲(chǔ)器分配、數(shù)據(jù)轉(zhuǎn)換、時(shí)間記錄、DSP、數(shù)學(xué)和外設(shè)庫。
表1:DSP指令集總結(jié)。
需要用匯編語言編寫一些時(shí)序嚴(yán)格的子程序嗎?不用擔(dān)心,dsPIC DSC指令集非常直觀和直接了當(dāng),與來自DSP固有架構(gòu)的一些奇怪指令有很大的不同。除了軟件語言工具外,Microchip公司還為dsPIC DSC提供:高性價(jià)比的MPLAB ICD2調(diào)試器和編程器、MPLAB ICE 4000實(shí)時(shí)在電路仿真開發(fā)環(huán)境和MPLAB PM3通用器件編程器。Microchip公司還為dsPIC DSC的代碼開發(fā)、模擬和仿真環(huán)境提供MPLAB可視化器件初始化工具(VDI)和MPLAB集成開發(fā)環(huán)境(IDE)。
是不是需要一塊開發(fā)板又不想花費(fèi)太多?Microchip公司有多種節(jié)省成本的開發(fā)板,從全功能的開發(fā)板到支持馬達(dá)控制、通用和基于連接應(yīng)用的精簡功能的小尺寸開發(fā)板都可以選擇。所有開發(fā)板都支持MPLAB ICD2和MPLAB ICE 4000,并提供詳盡的C和匯編代碼模塊范例以及完全用戶指南。
除了這些核心工具外,Microchip公司還提供諸如dsPIC DSC數(shù)字濾波器設(shè)計(jì)、dsPICworks數(shù)據(jù)分析和DSP軟件包等先進(jìn)的軟件工具。這些工具可使你迅速開始下一個(gè)高級(jí)信號(hào)處理應(yīng)用。dsPICworks軟件工具提供相當(dāng)多的功能,例如:信號(hào)發(fā)生,算術(shù)操作和數(shù)字信號(hào)處理,一、二、三維顯示和測(cè)試功能,與MPLAB IDE、MPLAB ASM30匯編器和C30 C編譯器完全兼容的數(shù)據(jù)輸入/輸出功能。
dsPIC DSC數(shù)字濾波器設(shè)計(jì)工具可按最小數(shù)量購買,它通過菜單化的直觀的用戶界面簡化了dsPIC DSC的有限脈沖響應(yīng)(FIR)和無限脈沖響應(yīng)(IIR)數(shù)字濾波器的設(shè)計(jì)、分析和實(shí)現(xiàn)過程。輸入所需的濾波器頻率規(guī)范后,dsPIC DSC FD能夠自動(dòng)產(chǎn)生可用于MPLAB IDE的濾波器代碼和系數(shù)文件。設(shè)計(jì)數(shù)字濾波器變得輕而易舉。
應(yīng)用庫構(gòu)建模塊
除了軟硬件工具外,Mircochip還提供整套應(yīng)用庫創(chuàng)建模塊。這套在不斷擴(kuò)展的列表目前支持以下一些功能:AC感應(yīng)馬達(dá)和無刷直流馬達(dá)控制、RTOS、語音識(shí)別、語音編解碼、連接性(75-14.4kbps軟MODEM和TCP/IP堆棧)、噪聲抑制、聲學(xué)回聲消除、不對(duì)稱和對(duì)稱加密和DSP等。這些應(yīng)用庫根據(jù)實(shí)際應(yīng)用的工業(yè)標(biāo)準(zhǔn)/建議開發(fā)和全面測(cè)試,許多庫采用匯編語言編碼,因此具有最優(yōu)化的代碼大小和速度性能,所有的庫均可被C語言調(diào)用。
。ㄗ髡撸篟ichard L.Fischer 來源:電子工程專輯)





