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