低功耗通用語(yǔ)音處理平臺的設計實(shí)現
HR/W:HPI讀寫(xiě)信號線(xiàn)。標識著(zhù)MCU與DSP的通信方向。該信號線(xiàn)為高,表示MCU從DSP的存儲空間中讀取數據;為低,表示MCU將數據寫(xiě)入DSP的存儲空間。
HDS1/2:HPI數據控制信號??梢赃m應不同類(lèi)型的MCU的數據控制信號。要將HCNTL2置高,本例中的接法是HCNTL1通過(guò)MSP430F149的P2.1來(lái)控制。
HRDY:HPI準備好信號。DSP通過(guò)該信號通知MCU當前主機接口是否可以訪(fǎng)問(wèn)。為低,DSP的主機接口忙,MCU不能通過(guò)它訪(fǎng)問(wèn);為高,可以訪(fǎng)問(wèn)。
HCNTL0/1:HPI訪(fǎng)問(wèn)控制信號。在復用模式中,通過(guò)這2個(gè)信號決定本次MCU訪(fǎng)問(wèn)的是DSP的HPI接口的內部寄存器。
HAS:HPI地址控制信號。在復用模式中,直接置高。
HMODE:HPI模式選擇信號。置高,HPI工作在非復用模式下;置低,HPI工作在復用模式下。
HINT:主機中斷信號。當DSP將該信號線(xiàn)置低時(shí),表示DSP請求主機中斷。因此這根信號線(xiàn)應加上拉電阻。
HBE0/1:HPI字節使能信號。TMS320VC5510A中置低,忽略該信號。
MSP430F149通過(guò)向DSP主機接口內部的3個(gè)寄存器寫(xiě)入相應的數據來(lái)控制相應的通信方式。在復用方式下,這3個(gè)寄存器分別是 HPIC(控制寄存器)、HPIA(地址寄存器)、HPID(數據寄存器)。為了提高在復用方式下的訪(fǎng)問(wèn)速度,DSP的HPI接口還提供了另外一個(gè)數據寄存器。當MCU訪(fǎng)問(wèn)連續地址時(shí),可以通過(guò)HCNTL0/1選擇利用這個(gè)數據寄存器進(jìn)行連續訪(fǎng)問(wèn)DSP內部存儲器,相應的地址寄存器會(huì )在每次訪(fǎng)問(wèn)這個(gè)數據寄存器之后自動(dòng)增加。
MCU和DSP的通信通過(guò)中斷完成。其中MSP430F149通過(guò)訪(fǎng)問(wèn)HPIC寄存器,將其中的DSPINT位置1來(lái)觸發(fā)DSP的中斷,而DSP則通過(guò)將HINT信號線(xiàn)置低來(lái)觸發(fā)MCU的中斷。
當前的硬件平臺中,通過(guò)置I/O口線(xiàn)的方式實(shí)現了MCU對DSP主機接口的讀寫(xiě)操作,可以選擇通過(guò)主機啟動(dòng)DSP的方式[4]。啟動(dòng)過(guò)程的框圖如圖6所示。
HPI 啟動(dòng)方式流程圖

圖6 HPI 啟動(dòng)方式流程圖
3 系統軟件優(yōu)化降低功耗
上面已提到,在硬件平臺的設計中采用了低功耗的器件,屬于低功耗設計中的靜態(tài)技術(shù)。在系統軟件的具體實(shí)現中,可以根據執行算法的情況進(jìn)行動(dòng)態(tài)調整,從而達到降低系統功耗的目的。由于DSP采用內部可編程鎖相環(huán)(PLL)產(chǎn)生時(shí)鐘,可以使處理器根據對于計算能力的即時(shí)需求動(dòng)態(tài)改變運行速度。雖然系統提供了幾種低功耗模式,但是相應的喚醒時(shí)間各不相同,實(shí)際中要根據具體情況對功耗和喚醒時(shí)間綜合考慮。
由于MCU具有較強的事件響應能力以及DSP具有較強的數據處理能力,因此可以通過(guò)MCU針對不同算法動(dòng)態(tài)地改變系統的工作頻率及DSP的工作狀態(tài),從而降低系統功耗。例如在該平臺運行清華大學(xué)自主研制的600、1 200、2 400bps語(yǔ)音算法,需要針對不同算法要求不同的數據運算量進(jìn)行動(dòng)態(tài)配置。DSP采用MCU提供的8.192MHz的時(shí)鐘、通過(guò)片內集成的DPLL進(jìn)行倍頻得到所需要的主時(shí)鐘。由于系統的部分代碼是處于54兼容模式下,所以在系統軟件的主函數中,當不需要進(jìn)行編解碼操作時(shí),系統可以處于正常狀態(tài),即IDLE1或IDLE2狀態(tài)。更具體的管理可以使用c55x系列的IDLE domain(IDLE域)機制進(jìn)行管理[6]。3種狀態(tài)具體描述如下:
NO IDLE:定時(shí)器、通用串口和內核均處于正常工作模式。
IDLE 1:定時(shí)器和通用串口正常工作模式,內核處于IDLE狀態(tài),由中斷喚醒。
IDLE 2:定時(shí)器、通用串口和內核都處于IDLE狀態(tài),由中斷喚醒。
針對不同的算法,由于要求的數據運算量不同,能夠保證算法工作的最低系統頻率也不同。通過(guò)對不同的數據運算要求動(dòng)態(tài)調整系統的工作狀態(tài),可以最大限度地實(shí)現降低功耗的目的,從而實(shí)現針對不同運算量的功耗控制。實(shí)際使用中,當DSP:運行600SELP算法時(shí),系統工作在32.768MHz;運行1 200SELP算法時(shí),系統工作在40.960MHz;運行2 400SELP算法時(shí),系統工作在24.576MHz。與單一的運行在81.92MHz情況下相比,系統功耗分別降低了41%、36%、48%,大大減少了系統功耗。
該硬件平臺已經(jīng)成功運行了G.723.1、G.729A/B和CVSD等算法,并且獲得了良好的效果,具有廣闊的應用前景。本文引用地址:http://dyxdggzs.com/article/179973.htm
評論