專利名稱:一種應(yīng)用于射頻通信接收機(jī)中的數(shù)字信號處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于射頻(RF)通信接收機(jī)高度集成方案中的DSP結(jié)構(gòu),更具體地是指一種用于FM/AM/SW音頻廣播接收機(jī)高度集成方案中的DSP結(jié)構(gòu),本發(fā)明還涉及一種DSP指令集。
背景技術(shù):
隨著集成電路設(shè)計和制造技術(shù)的飛速發(fā)展,射頻通信系統(tǒng)已經(jīng)步入了 SOC時代。射頻通信高度集成方案克服了傳統(tǒng)的采用多芯片板上集成方案的體積大、成本高、功耗高的缺點,建立高度集成的片上系統(tǒng),僅需要外加很少的元器件就能工作,性能也有了很大提高,具備了高接收靈敏度。
DSP在射頻接收機(jī)中用于完成信道濾波、解調(diào)、MPX立體聲解碼、RDS (無線數(shù)據(jù)服務(wù))/RBDS (無線廣播數(shù)據(jù)服務(wù))等數(shù)字信號處理,設(shè)計簡單、高效的專用DSP是射頻接收機(jī)集成方案中的關(guān)鍵技術(shù)。
發(fā)明內(nèi)容
本發(fā)明解決的問題是提供一種代價小、易實現(xiàn)、高集成度的專用DSP結(jié)構(gòu),以及采用這種電路結(jié)構(gòu)實現(xiàn)的一種專用DSP指令集,以滿足射頻通信接收機(jī)處理信號的需要,實現(xiàn)高度集成化。
為解決上述技術(shù)問題,本發(fā)明提出的解決方案為:一種DSP結(jié)構(gòu),包含兩組獨立的數(shù)據(jù)總線、一組程序總線、ALU、多個累加器寄存器、乘加器、乘積定標(biāo)移位寄存器、多個輔助寄存器、多個輔助運算部件、狀態(tài)寄存器、多個外部訪存接口、采用流水線結(jié)構(gòu)、多個存儲器、多個外設(shè)。
本發(fā)明中的ALU為η位邏輯算術(shù)運算部件,能完成η位有符號數(shù)和無符號數(shù)的算術(shù)運算,包括加/減法運算、加/減I運算、求相反數(shù)、求絕對值;能完成η位數(shù)的邏輯運算,包括邏輯非、與、或、異或運算。ALU的輸入和輸出都是累加器寄存器。本發(fā)明中DSP包含有多個累加器寄存器,其輸入可以是ALU的結(jié)果、乘加器的結(jié)果、數(shù)據(jù)存儲器的輸出,其輸出可以作為ALU的源操作數(shù)、乘加器的源操作數(shù)、數(shù)據(jù)存儲器的輸入。
本發(fā)明中的乘加器能完成η位乘η位的有符號數(shù)乘法運算和η位乘η位加2η位的有符號數(shù)乘加運算。乘積定標(biāo)移位寄存器分為高η位和低η位,兩個共同組成一個2η位的定標(biāo)移位器,用于處理乘加器的結(jié)果,寄存器能向左和向右移一位,左移用于對二進(jìn)制補碼數(shù)乘法產(chǎn)生的額外符號位進(jìn)行處理,右移用于將數(shù)字量按比例縮小,以防乘積累加結(jié)果溢出。
本發(fā)明中DSP具有多個m位的輔助寄存器AR和多個輔助運算部件(ARAU),輔助寄存器既可用作地址寄存器也可用作數(shù)據(jù)寄存器。 輔助運算部件實現(xiàn)了有多種間接尋址計算方法,其中包含多種循環(huán)尋址方式。
本發(fā)明中的DSP采用改進(jìn)型哈弗總線結(jié)構(gòu),程序總線和數(shù)據(jù)總線分開,兩塊獨立的數(shù)據(jù)存儲器具有獨立的數(shù)據(jù)總線和地址總線,程序存儲器具有獨立的數(shù)據(jù)總線和地址總線。DSP內(nèi)部存儲器具有多個總線接口和一個仲裁器,不但能與內(nèi)部寄存器之間進(jìn)行數(shù)據(jù)傳輸,還能與片內(nèi)外圍設(shè)備及片外設(shè)備進(jìn)行數(shù)據(jù)傳輸。每個總線接口都設(shè)置有暫存器,以暫存向SDRAM發(fā)送的數(shù)據(jù)請求。
本發(fā)明中的DSP包括多個片內(nèi)外圍設(shè)備,如兩路插值濾波器、兩路抽取濾波器、Cordic核,可根據(jù)需要擴(kuò)展片內(nèi)的外圍設(shè)備。
本發(fā)明中的DSP能向外部發(fā)送中斷請求,并接收外部中斷請求。所述DSP由外部控制流水線使能。
本發(fā)明還提供了用上述DSP電路實現(xiàn)的一種DSP指令集,主要包含數(shù)據(jù)傳輸和邏輯算術(shù)運算指令,以及程序流控制指令。所述指令集包含多條并行指令,內(nèi)核可同時進(jìn)行數(shù)據(jù)傳輸和邏輯算術(shù)運算操作。DSP采用指令流水線結(jié)構(gòu),具有多種尋址方式,其中間接尋址由輔助運算部件ARAU產(chǎn)生地址??赏ㄟ^DSP待機(jī)指令向外部發(fā)送中斷請求,如MCU。
所述DSP具有多個外部訪存接口。
圖1是DSP的總體框 圖2是DSP核的詳細(xì)框 圖3是DSP內(nèi)部存儲器的結(jié)構(gòu)示意圖。
圖4是改進(jìn)型哈弗總線結(jié)構(gòu)。
具體實施例方式以下將結(jié)合附圖與具體實施對本發(fā)明作進(jìn)一步說明。
如圖1所示,本發(fā)明提供一種DSP結(jié)構(gòu),包括DSP核、程序存儲器、兩塊獨立的數(shù)據(jù)存儲器、兩個外部訪存接口、多個片內(nèi)外圍設(shè)備。本實施例中內(nèi)外圍設(shè)備包括抽取濾波器、插值濾波器和Cordic核,但不限于這些外圍設(shè)備,可根據(jù)實際需要增加和減少外圍設(shè)備。抽取濾波器用于接收ADC轉(zhuǎn)換后的I位數(shù)字量,經(jīng)過抽取后產(chǎn)生η位的數(shù)字量送給DSP處理。插值濾波器用于接收經(jīng)過DSP處理后的η位數(shù)字信號,經(jīng)過插值后送給DAC轉(zhuǎn)換成模擬音頻輸出,或轉(zhuǎn)換成串行數(shù)字音頻信號輸出。Cordic核用來產(chǎn)生正弦、余弦和正切函數(shù)。
如圖2所示,本發(fā)明中DSP核采用哈弗總線結(jié)構(gòu),包括兩組獨立的數(shù)據(jù)總線、一組程序總線、一個ALU、多個累加器寄存器、一個乘加器、一個乘積定標(biāo)移位寄存器、多個輔助寄存器、多個輔助運算部件、一個狀態(tài)寄存器。ALU為η位邏輯算術(shù)運算部件,能完成η位有符號數(shù)和無符號數(shù)的算術(shù)運算,包括加/減法運算、加/減I運算、求相反數(shù)、求絕對值;能完成η位數(shù)的邏輯運算,包括邏輯非、與、或、異或運算。ALU的輸入和輸出都是累加器寄存器。乘加器能完成η位乘η位的有符號數(shù)乘法運算和η位乘η位加2η位的有符號數(shù)乘加運算。乘積定標(biāo)移位寄存器分為高η位和低η位,兩個共同組成一個2η位的定標(biāo)移位器,用于處理乘加器的結(jié)果,寄存器能向左和向右移位,左移用于對二進(jìn)制補碼數(shù)乘法產(chǎn)生的額外符號位進(jìn)行處理,右移用于將數(shù)字量按比例縮小,以防乘積累加結(jié)果溢出。累加器寄存器的輸入可以是ALU的結(jié)果、乘加器的結(jié)果、數(shù)據(jù)存儲器的輸出,其輸出可以作為ALU的源操作數(shù)、乘加器的源操作數(shù)、數(shù)據(jù)存儲器的輸入。
輔助運算部件ARAU與ALU獨立, 與ALU并行工作,利用輔助寄存器AR進(jìn)行算術(shù)運算,形成間接尋址的數(shù)據(jù)地址。每個ARAU由多個輔助寄存器和運算器組成。運算器實現(xiàn)的是無符號運算。本發(fā)明中輔助運算部件實現(xiàn)了多種靈活的間接尋址方式,如循環(huán)尋址方式。
本發(fā)明中DSP狀態(tài)寄存器包括多位狀態(tài)位,如:
ZERO邏輯算術(shù)運算結(jié)果等于時O為I ;
NEG邏輯算術(shù)運算結(jié)果小于時O為I。
狀態(tài)寄存器可通過條件指令測試其狀態(tài)。可修改狀態(tài)寄存器的指令為邏輯算術(shù)運算指令。
本發(fā)明還提供了用上述DSP電路實現(xiàn)的一種DSP指令集。所述指令集包含的指令主要為數(shù)據(jù)傳輸和邏輯算術(shù)運算指令,以及程序流控制指令,并包含多條并行指令。DSP采用指令流水線結(jié)構(gòu),流水線分為多段,如本實施例中流水線分為四段:第一級為取指段,完成取指令操作;第二級為指令譯碼段1,完成指令的第一級譯碼,產(chǎn)生源操作數(shù)地址;第三級為譯碼段2和讀數(shù)據(jù)段,完成指令的第二級譯碼,產(chǎn)生目的操作數(shù)地址并取出源操作數(shù);第四級為執(zhí)行段,執(zhí)行并寫回結(jié)果。在本實施例中,尋址方式包括立即數(shù)尋址、直接尋址和間接尋址,立即數(shù)尋址是指操作數(shù)包含在指令字中,直接尋址是指操作數(shù)地址包含在指令字中,間接尋址由輔助運算部件ARAU產(chǎn)生操作數(shù)地址。
本發(fā)明中的DSP指令集包含待機(jī)指令,其功能是將DSP處于待機(jī)狀態(tài),同時發(fā)送外部中斷請求,并等待外部中斷喚醒,喚醒后從0x00地址開始執(zhí)行程序。該指令是特別針對射頻通信接收機(jī)設(shè)計的。本實施例中,DSP接收一組數(shù)據(jù)進(jìn)行處理,處理完后發(fā)出待機(jī)命令使得DSP待機(jī),同時向其它處理器如MCU發(fā)送中斷請求,通知其數(shù)據(jù)已經(jīng)處理完畢,直到下一組數(shù)據(jù)準(zhǔn)備好后,由外部設(shè)備喚醒DSP,繼續(xù)處理下一組數(shù)據(jù)。如此循環(huán)反復(fù)。本實施例中,計數(shù)器定時器向DSP發(fā)送中斷喚醒處理器,計數(shù)器對接收機(jī)接收的數(shù)據(jù)進(jìn)行計數(shù),每計數(shù)到指定個數(shù)產(chǎn)生中斷,并清零重新計數(shù)。
如圖3所示,本發(fā)明中DSP內(nèi)部數(shù)據(jù)存儲器具有多個接口和一個仲裁器,不但能與內(nèi)部寄存器之間進(jìn)行數(shù)據(jù)傳輸,還能與片內(nèi)外圍設(shè)備及片外設(shè)備進(jìn)行數(shù)據(jù)傳輸。存儲器具有多個總線接口和一個仲裁器,每組接口中都設(shè)置有暫存器,以暫存向SDRAM發(fā)送的數(shù)據(jù)請求。本實施例中,DSP具有兩個外部訪存接口,但本發(fā)明并不受此限制,可根據(jù)需要增加或減少外部訪存接口。外部訪存接口 I可以訪問DSP內(nèi)部數(shù)據(jù)存儲器,可以與MCU的訪存接口連接。外部訪存接口 2可以訪問DSP內(nèi)部數(shù)據(jù)存儲器和程序存儲器,可以與DMA連接。本實施例中,使用DMA通過外部訪存接口 2訪問內(nèi)部數(shù)據(jù)存儲器時,其地址空間分配與DSP內(nèi)部訪問接口和外部訪存接口 I不同,采用全芯片全局地址空間分配方式,全芯片存儲器不但包括DSP的程序存儲器和數(shù)據(jù)存儲器,還包括其它存儲器,如MCU的程序存儲器和數(shù)據(jù)存儲器,以及其它片上存儲器。本發(fā)明對地址映射表沒有限制,每個訪存接口可使用各自的地址空間映射表,也可多個訪存接口使用同一地址映射表。
綜上所述,本發(fā)明提供的DSP電路結(jié)構(gòu)簡易、工作高效,所提供的指令集能充分利用硬件資源,有效提高了數(shù)字信號處理效率,適合應(yīng)用在射頻通信接收機(jī)高度集成方案中,使得射頻通信接收機(jī)的高度集成方案實現(xiàn)更加簡單、高效,尤其是應(yīng)用在音頻廣播接收機(jī),也可用于射頻通信發(fā)送機(jī)。
權(quán)利要求
1.一種DSP結(jié)構(gòu),包括獨立的數(shù)據(jù)總線和程序總線、ALU、多個輔助寄存器、乘加器、乘積定標(biāo)移位寄存器、多個累加器寄存器、多個輔助運算部件、狀態(tài)寄存器、兩塊獨立的數(shù)據(jù)存儲器、一塊程序存儲器、多個片內(nèi)外圍設(shè)備、流水線結(jié)構(gòu)、一個程序計數(shù)器寄存器、一個程序地址運算部件、多個外部訪存接口 ;所述DSP的處理程序通過外部訪存接口寫入程序存儲器,或者在DSP電路中將處理程序固化(一般使用ROM存儲固化程序);待處理數(shù)據(jù)通過外部訪存接口寫入DSP的數(shù)據(jù)存儲器,經(jīng)DSP處理后結(jié)果暫存在數(shù)據(jù)存儲器中,外部設(shè)備通過訪存接口從DSP數(shù)據(jù)存儲器取出結(jié)果;DSP在處理數(shù)據(jù)過程中,根據(jù)程序中的指令調(diào)用內(nèi)核中各模塊,如ALU、輔助寄存器、乘加器、乘積定標(biāo)移位寄存器、累加器寄存器、輔助運算部件、狀態(tài)寄存器;DSP的片內(nèi)外圍設(shè)備由DSP寄存器控制,與DSP內(nèi)核并行工作,可訪問DSP的數(shù)據(jù)存儲器。
2.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:所述ALU為η位邏輯算術(shù)運算部件,能完成η位有符號和無符號數(shù)的算術(shù)運算,包括加/減法運算、加/減I運算、求相反數(shù)、求絕對值;所述ALU能完成η位數(shù)的邏輯運算,包括邏輯非、與、或、異或運算,所述ALU的輸入和輸出都是累加器寄存器。
3.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:所述多個累加器寄存器,其輸入可以是ALU的結(jié)果、乘加器的結(jié)果、數(shù)據(jù)存儲器的輸出,其輸出可以作為ALU的源操作數(shù)、乘加器的源操作數(shù)、數(shù)據(jù)存儲器的輸入。
4.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:所述乘加器能完成η位乘η位的有符號數(shù)乘法運算和η位乘η位加2η位的有符號數(shù)乘加運算。
5.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:所述乘積定標(biāo)移位寄存器能向左和向右移位,左移用于對二進(jìn)制補碼數(shù)乘法產(chǎn)生的額外符號位進(jìn)行處理,右移用于將數(shù)字量按比例縮小,以防乘積累加結(jié)果溢出;所述乘積定標(biāo)移位寄存器分為高η位和低η位,兩個共同組成一個2η位的定標(biāo)移位器。
6.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),本發(fā)明中DSP具有多個m位的輔助寄存器ARn和多個輔助運算部件(ARAU),其特征在于:ARAU用于產(chǎn)生間接尋址的數(shù)據(jù)地址,具有多種間接尋址方式,其中包含多種循環(huán)尋址方式;輔助寄存器既可用作地址寄存器也可用作數(shù)據(jù)寄存器。
7.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:采用改進(jìn)的哈弗總線結(jié)構(gòu),程序總線和數(shù)據(jù)總線分開,數(shù)據(jù)存儲器和程序存儲器具有獨立的數(shù)據(jù)總線和地址總線。
8.根據(jù)權(quán)利要求1所述的DSP結(jié)構(gòu),其特征在于:所述存儲器為SDRAM或非易失性存儲器,存儲器具有多個總線接口和一個仲裁器,每個接口中都設(shè)置有暫存器,以暫存向SDRAM發(fā)送的數(shù)據(jù)請求。
9.一種采用權(quán)利要求1所述的DSP結(jié)構(gòu)實現(xiàn)的DSP指令集,其特征在于:所述指令集包含的指令主要為數(shù)據(jù)傳輸和邏輯算術(shù)運算指令,以及程序流控制指令;所述指令集包含多條并行指令,能同時進(jìn)行數(shù)據(jù)傳輸和運算操作;尋址方式包括立即數(shù)尋址、直接尋址和多種間接尋址。
全文摘要
本發(fā)明公開了一種應(yīng)用于射頻通信接收機(jī)中的數(shù)字信號處理器(DSP),包括DSP的結(jié)構(gòu)和指令集。所述DSP為n位定點數(shù)字信號處理器,其CPU包括兩組獨立的數(shù)據(jù)總線、一組程序總線、ALU、多個累加器寄存器、乘加器、乘積定標(biāo)移位器、多個輔助寄存器、多個輔助運算部件、狀態(tài)寄存器、多個外部訪存接口。所述DSP采用流水線結(jié)構(gòu)。所述DSP的數(shù)據(jù)存儲器和程序存儲器具有獨立的地址總線和數(shù)據(jù)總線。所述DSP包括多個外設(shè)。本發(fā)明還公開了用上述DSP結(jié)構(gòu)實現(xiàn)的一種DSP指令集。所述指令集主要包含數(shù)據(jù)傳輸和邏輯算術(shù)運算指令,以及程序流控制指令。所述指令集包含多條并行指令。
文檔編號G06F15/76GK103218346SQ20121045265
公開日2013年7月24日 申請日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者劉麗霞 申請人:長沙景嘉微電子股份有限公司