基于ADSP-BF533在低耗高速實時系統(tǒng)中的應(yīng)用
1 引言
本文引用地址:http://www.ex-cimer.com/article/257463.htm當今信息技術(shù)與計算機技術(shù)的飛速發(fā)展。使得數(shù)字信號處理發(fā)展成為一門非常關(guān)鍵的技術(shù)。而數(shù)字信號處理器(DSP芯片)的出現(xiàn)為數(shù)字信號處理算法的實現(xiàn)提供了可能,同時,DSP器件性能的不斷提高又極大地促進了數(shù)字信號處理技術(shù)的進一步發(fā)展。Blackfin系列DSP芯片是美國模擬器件公司(ADI)與Intel聯(lián)合開發(fā)的體現(xiàn)高性能體系結(jié)構(gòu)的新一代嵌入式定點處理器。Blackfin處理器在一個芯片和一個開發(fā)平臺上融合了DSP信號處理、RISC控制處理和音視頻處理功能,具有高速實時數(shù)據(jù)處理、極佳的代碼密度、動態(tài)電源管理、極低的功耗、方便的開發(fā)使用等優(yōu)點。
Blackfin系列DSP具有一個雙MAC 300刎,(每秒600 MHz)內(nèi)核。其結(jié)構(gòu)的核心是數(shù)據(jù)算術(shù)單元,包括兩個16位乘法累加器(MAC),2個40位算術(shù)邏輯單元(ALU),4個8位視頻ALU和一個40位桶形移位器。在每個周期內(nèi)。每個MAC能在4個獨立的數(shù)據(jù)操作數(shù)上執(zhí)行16位乘法運算.算術(shù)邏輯單元能累加2個40位的數(shù)或4個16位的數(shù)。為獲得最大效率.可利用這種體系結(jié)構(gòu)處理8位、16位和32位的數(shù)據(jù)運算。同時,Blackfin系列DSP具有世界領(lǐng)先的功率管理和性能。Blackfin處理器采用低功耗和低電壓的設(shè)計方法.具有動態(tài)功率管理的特點,即通過改變工作電壓和頻率來大大降低總功耗。與僅改變工作頻率相比,既改變電壓又改變頻率能夠使總功耗明顯減少。對于便攜式應(yīng)用來說,這相當于延長了電池的壽命。
2 ADSP-BF533處理器簡介
ADSP-BF533是Blackfin系列DSP產(chǎn)品中典型的一款。其主要特點有:16位定點DSP內(nèi)核,可實現(xiàn)600MHz的高速持續(xù)工作:靈活的軟件控制動態(tài)電源管理:0.8~1.2V內(nèi)核電壓、2.5~3.3V外部輸入電壓、實時時鐘模塊RTC、12通道DMA、4GB統(tǒng)一尋址空間、80KB的L1指令存儲器、64KB的數(shù)據(jù)存儲器:靈活的引導方式等。此外.ADSP-BF533還具有豐富的系統(tǒng)外設(shè)——并行外設(shè)接口(PPI)/GPIO、雙通道全雙丁同步串口(SPORT)、通用異步串口(UART)、SPI兼容端口、看門狗定時器等。
ADSP-BF533可實現(xiàn)600 MHz的高速持續(xù)工作,單片處理能力可達1.2GMIPS (每秒12億次乘加運算),由于處理速度快,ADSP-BF533可適用于高速實時信號處理系統(tǒng);另外,ADSP-BF533的動態(tài)電源管理模塊通過改變供電電壓和工作頻率使得其功耗很低,典型數(shù)據(jù)為52毫瓦(200 MHz)、90毫瓦(300MHz、280毫瓦(600 MHz),當處理器處于深度休眠狀態(tài)時,功耗會變得更低。與相似的DSP相比.ADSP-BF533在同等性能下功耗要低30%.尤其適用于對功耗有特殊要求的系統(tǒng)。
3 在低功耗高速實時信號處理系統(tǒng)中的應(yīng)用
正因為ADSP-BF533具有實時處理速度快和低功耗的特點,可以將其應(yīng)用在一些要求低功耗、高速度的實時信號處理系統(tǒng)中。如水下信號監(jiān)測與處理系統(tǒng)、地下管道預(yù)警系統(tǒng)、高空信號探測與分析系統(tǒng)等.這些系統(tǒng)的共同特點是:1.任務(wù)具有“突發(fā)性”——平時不需要復(fù)雜的信號分析與處理,而一旦有分析與處理任務(wù)時,數(shù)據(jù)量、運算量都相當大,要求系統(tǒng)能夠盡快及時地按照精準復(fù)雜的算法進行處理并得到準確的結(jié)果;2.功耗是瓶頸——由于系統(tǒng)所處的位置原因(水下、地下或高空),一般由電池供電且不宜頻繁更換電池,故財功耗的要求很高——越低越好。而ADSP-BF533具有實時處理速度快和低功耗的特點,完全可以勝任這些系統(tǒng)。圖1是一個以ADSP—BF533為核心模塊的此類系統(tǒng)的原理框圖。
圖1以ADSP-BF533為核心模塊的低功耗高速實時信號處理
圖2 ADSP-BF533與單片機的連接示意圖
系統(tǒng)由上位機和下位機組成.上、下位機的通信由GPRS/GSM模塊實現(xiàn)。上位機軟件負責對下位機的參數(shù)設(shè)置及狀態(tài)查詢界面的編寫以及與GPRS/GSM模塊間通信的實現(xiàn);而信號采集、分析及處理等主要工作由下位機實現(xiàn),并通過GPRS/GSM模塊將信號處理結(jié)果告知上位機(如地面工作站)。下位機由傳感器、數(shù)據(jù)采集模塊、低功耗微處理器和高性能ADSP-BF533處理器組成。數(shù)據(jù)采集模塊采集來自傳感器的原始信號數(shù)據(jù)(如水下壓力或聲納、管道應(yīng)力或振幅、高空風力或溫度變化等),并根據(jù)需要進行放大/衰減、模/數(shù)轉(zhuǎn)換等處理,然后將數(shù)據(jù)送給后面的低功耗微處理器。后者對信號數(shù)據(jù)依照經(jīng)驗閾值進行簡單判別——若與經(jīng)驗閾值有悖,即信號“可能異常但不確定”。則將信號數(shù)據(jù)傳送給后面的ADSP-BF533處理器,后者利用其強大的數(shù)據(jù)處理能力按照復(fù)雜的算法對信號進行高速實時處理.得出信號是否“異常”的準確結(jié)果”,并將結(jié)果回送至低功耗MCU。并由后者通過GPRS/GSM模塊通知上位機。
這種低性能低功耗微處理器和高性能ADSP—BF533相結(jié)合的雙核模式非常適用于上述幾種系統(tǒng),試驗中低功耗MCU選用51單片機。由于此類系統(tǒng)長期處于正常狀態(tài),不需要一直進行復(fù)雜的數(shù)據(jù)處理。正常狀態(tài)下.僅由單片機接收數(shù)據(jù)并進行簡單判別而ADSP-BF533處于深度休眠狀態(tài),此時DSP內(nèi)核、外設(shè)時鐘全部禁止,僅用0.8V電壓維持RTC模塊的實時時鐘運轉(zhuǎn),電流僅為幾十微安,功耗微乎其微——滿足此類電池供電系統(tǒng)的節(jié)能要求;而一旦單片機判決數(shù)據(jù)“可能異常”,將喚醒休眠的ADSP-BF533并對信號進行高速實時處理——滿足此類系統(tǒng)的高速實時性要求。
ADSP-BF533與單片機間通過異步串口UART傳送數(shù)據(jù)。數(shù)據(jù)格式和波特率可編程設(shè)定。為了將DSP從深度休眠中喚醒,單片機另用一根輸出線(如P2.0)接至RESET腳。另外,因為ADSP-BF533沒有片內(nèi)程序存儲器,用戶的代碼必須通過外部的存儲器來進行引導。ADSP-BF533的兩個引腳BMODEO和BMODEl的最終狀態(tài)決定ADSP-BF533的引導方式,試驗中選用從外部FLASH引導的方式(BMODEO腳接高電平,BMODEI腳接低電平),將用戶代碼放入FLASH中,F(xiàn)LASH選用PSD4256G6V(IMB)。ADSP-BF533的地址線A[1:19]分別接至PSD4256G6V-10UI的ADl1~ADl5及PCO~PC3腳,數(shù)據(jù)線D[0:15]分別接至PSD4256G6V-IOUI的PFO~PF7及PG0~PG7腳,在讀寫控制部分,將ADSP-BF533的ABE0、ABE1、AMS0、AMS2、AOE分別接至PSD4256G6V-10UI的AD0、CNTL2、PC6、PC7及CNTLI腳,另將ADSP-BF533的而云和PSD4256G6V-10UI的CNTL、PD3腳相連。ADSP-BF533與單片機間的部分連接關(guān)系如圖2所示。
系統(tǒng)上電復(fù)位后.7單片機先通過UART向ADSP-BF533發(fā)送一個握手信號.為了區(qū)別后面發(fā)送的正常數(shù)據(jù),此握手信號可選用特殊符號“EOF,此后ADSP-BF533進入深度休眠的省電模式。系統(tǒng)下作時由單片機接收前端采集的數(shù)據(jù)并進行簡單判別,若無異常則ADSP-BF533保持深度休眠,程序?qū)崟r時鐘編程為每1天(24小時)產(chǎn)生一次中斷(RTC中斷),由中斷喚醒DSP并通過UART向單片機傳送一個特定數(shù)據(jù)(如10101010)表示DSP硬件正常并處于深度休眠,再由單片機通過GPBS/GSM模塊通知上位機然后再次進入深度休眠:當單片機對前端數(shù)據(jù)初次判決為“可能異常”時,立即輸出一個低電平信號(1毫秒)至ADSP-BF533的面面矛腳令其復(fù)位,然后ADSP-BF533切換到全速方式(通過對ADSP~BF533的PLL編程實現(xiàn)),接著單片機通過UART向ADSP-BF533傳送數(shù)據(jù)(因數(shù)據(jù)量不大,將數(shù)據(jù)放在ADSP-BF533內(nèi)部的L1數(shù)據(jù)存儲器中)。接著533進行調(diào)用相應(yīng)算法處理進行高速實時處理,若結(jié)果異常,則啟用UART向單片機傳送另一個特定數(shù)據(jù)(如11111111)告知異常,再由單片機通過GPRS/GSM模塊通知上位機,然后ADSP-BF533再次進入深度休眠.直至下面發(fā)生兩種情況之一才再次被激活:1.實時時鐘再次計數(shù)滿一天:2.單片機再次發(fā)出低電平復(fù)位信號。ADSP-BF533的工作流程如圖3所示。
圖3 ADSP-BF533的工作流程
對ADSP-BF533的編程是通過寫相關(guān)寄存器實現(xiàn)的,在visual DSP++環(huán)境下使用匯編語言或C語言均可。試驗中采用c語言實現(xiàn),如PLL(片內(nèi)鎖相環(huán))子函數(shù)的編程代碼如下:
void Init-PLlXvoid)
{
*pSIC_IWR=Ox81; //寫SIC_IWR寄存器使能實時時鐘中斷喚醒和PLL喚醒
*pPLL_CTL=Ox1100;//對輸入27晶振16倍頻,配置內(nèi)核時鐘為324MHz
*pPLL_DIV=0x2; //系統(tǒng)時鐘頻率=1/2內(nèi)核時鐘頻率
ssync(); //抽空流水線,切換到設(shè)定的工作頻率
idle();
} //end Init_PLL
4 結(jié)論
當今社會,電子技術(shù)廣泛應(yīng)用于各種領(lǐng)域。人們對電子系統(tǒng)的速度和功耗提出了越來越高的要求。綜上所述。利用高性能ADSP-BF533處理器高速實時處理和低功耗的特點.可以使其在那些要求低功耗、高速度的實時信號處理系統(tǒng)中發(fā)揮無與倫比的作用。
本文作者創(chuàng)新點:提出了一種基于單片機+ADSP BF533的雙核結(jié)構(gòu),適用于一些具有低功耗、高速實時處理特點的系統(tǒng)。利用這種雙核結(jié)構(gòu),可以兼顧高速實時數(shù)據(jù)處理和節(jié)約能源的要求,可在許多相關(guān)領(lǐng)域發(fā)揮無與倫比的作用。
評論