摘要:傳統(tǒng)的3G移動臺接收機(jī)采用專用基帶芯片的設(shè)計方案,基帶芯片的設(shè)計是一個非常復(fù)雜的過程,在芯片設(shè)計階段需要投入大量的研發(fā)人員,每次流片都需要非常昂貴的費用,開發(fā)出一個真正能商用化的產(chǎn)品至少要花費兩年的時間,導(dǎo)致在激烈的市場環(huán)境中落后與競爭對手。芯片應(yīng)用到設(shè)備中一旦發(fā)現(xiàn)缺陷,其損失更是不可估量。如果未來需要在此設(shè)
傳統(tǒng)的3G移動臺接收機(jī)采用專用基帶芯片的設(shè)計方案,基帶芯片的設(shè)計是一個非常復(fù)雜的過程,在芯片設(shè)計階段需要投入大量的研發(fā)人員,每次流片都需要非常昂貴的費用,開發(fā)出一個真正能商用化的產(chǎn)品至少要花費兩年的時間,導(dǎo)致在激烈的市場環(huán)境中落后與競爭對手。芯片應(yīng)用到設(shè)備中一旦發(fā)現(xiàn)缺陷,其損失更是不可估量。如果未來需要在此設(shè)備上增加新的特性也無法實現(xiàn),只能更換硬件。PicoChip公司開發(fā)的PicoArray高速并行處理架構(gòu)的PC101處理器完全解決了上述問題,它是一個“軟件片上系統(tǒng)(SSoC)”,編程輕松靈活,運算速度快,完全可取代現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐罚ˋSIC)。PicoArray本身是整體并行的處理器陣列,由高速互連結(jié)構(gòu)所鏈接,在一個芯片中集中了400多個處理器核心,由于每個核心都能并行操作或相互連接,以及芯片總線的巨大帶寬,PicoArray可以提供超強(qiáng)的處理能力,每秒鐘運算速度超過1000億次。本文論述了以PC101為軟件無線電硬件平臺,用軟件方式實現(xiàn)CDMA2000移動臺基帶信號處理的方法。
PC101芯片介紹
PC101是一個無線通信處理器,專門用于無線通信基帶信號處理的優(yōu)化設(shè)計。PC101芯片的結(jié)構(gòu)框圖如圖1所示,系統(tǒng)由處理器陣列和一系列的外圍接口構(gòu)成。
接口的說明
鎖相環(huán)(PLL):模塊將輸入的時鐘進(jìn)行四倍頻,倍頻后的時鐘作為芯片內(nèi)的工作時鐘。主機(jī)接口:用來與外部CPU相連,對芯片進(jìn)行配置,與外部CPU進(jìn)行數(shù)據(jù)傳輸?shù)慕涌凇?shù)據(jù)傳輸可以有兩種方式,一種是通過寄存器進(jìn)行數(shù)據(jù)傳輸,另一種是直接采用DMA的方式進(jìn)行快速大量的數(shù)據(jù)傳輸。可配置的接口:PC101有四個可以配置的接口,這四個接口可以配置成下面兩種模式之一,芯片間互連(IPI)接口和異步數(shù)據(jù)傳輸接口(ADI),各個端口可以進(jìn)行獨立配置。控制和同步接口:完成對PC101的復(fù)位、啟動停止等操作,通過此接口也可實現(xiàn)多個PC101間的同步工作。外部SRAM接口:每個處理單元(AE)都有一定數(shù)量的數(shù)據(jù)和指令的存儲器,外部SRAM接口是對片上存儲器的一個擴(kuò)充, 用于對存儲空間要求比較大的場合,比如維特比譯碼。JTAG接口:遵從IEEE1149.1-2001規(guī)范,為系統(tǒng)調(diào)試所用。處理器陣列核心處理器陣列是PC101的核心部分,其系統(tǒng)結(jié)構(gòu)示意圖如圖2所示,一個PC101處理陣列由430處理器單元(AE)構(gòu)成,AE是一個16b位的RISC微處理器,各個處理單元之間由一條32位的總線和一些可編程的交換矩陣進(jìn)行互連。處理器單元間的通信是基于時分復(fù)用的策略,處理器間傳送的數(shù)據(jù)在不同的時隙進(jìn)行,對高速的信號傳送就分配更長時隙。每個AE的指令集都是一樣的,但是為了使基帶處理中各個處理單元都能很好的發(fā)揮性能,不同的AE之間又有一定的差別,主要表現(xiàn)為存儲器的數(shù)量和一些特殊指令上,這430個AE可分為四類:
標(biāo)準(zhǔn)(STAN)型:標(biāo)準(zhǔn)AE類型是為CDMA的擴(kuò)頻、解擴(kuò)和其他的基帶信號處理進(jìn)行優(yōu)化設(shè)計的,共有240個STAN型的AE。乘累加(MAC)型:乘累加型AE含有一乘累加協(xié)處理器,多了條乘累加指令,一共有120個MAC型的AE。存儲(MEM)型:存儲型比其他類型有更多的程序和數(shù)據(jù)存儲器,一共有68個MEM型號的AE??刂?CTRL)型:控制型含有更多的存儲數(shù)據(jù)和程序的存儲器,是實現(xiàn)控制功能的AE,共有2個CTRL型的AE。
CDMA2000移動臺硬件設(shè)計CDMA2000移動臺硬件結(jié)構(gòu)如圖3所示,系統(tǒng)從天線接收射頻信號,經(jīng)下變頻到基帶,通過A/D變換器分別對接收到的I,Q兩路進(jìn)行四倍采樣,然后送到由4個PC101互連構(gòu)成的基帶處理模塊,同時基帶處理模塊產(chǎn)生的控制信號對射頻模塊進(jìn)行控制(增益控制、頻率調(diào)整、功率控制等)?;鶐幚砟K與外部CPU(PowerPC)相連,由ETHERNET口連接,實現(xiàn)系統(tǒng)的開發(fā)階段的調(diào)試,CPU實現(xiàn)對PC101的控制和數(shù)據(jù)傳輸,同時可用于上層協(xié)議的處理。
CDMA2000移動臺陣列配置與軟件實現(xiàn)接收機(jī)功能模塊介紹CDMA2000接收機(jī)分為發(fā)送和接收兩部分,這里主要介紹接收部分,接收機(jī)基帶部分可分解為若干模塊,包括同步捕獲與跟蹤、RAKE接收機(jī)、解交織、維特比譯碼,模塊劃分如圖4所示。一個模塊可被映射到一個或多個PicoArray設(shè)備, 每個模塊的接口使用picoVHDL來定義,可使用一個或多個AE來構(gòu)造子系統(tǒng),AE之間的通信也由picoVHDL來表示,模塊的全部功能通過使用C或匯編語言對每個AE進(jìn)行編程來實現(xiàn)。
同步捕獲與跟蹤:系統(tǒng)剛啟動時處于失步狀態(tài),接收信號的PN碼相位沒有和本地PN碼相位同步,PN碼相位捕獲即粗同步,在PN序列整個周期上搜索相關(guān)峰,檢測輸入信號是否和本地參考PN序列同步;PN碼相位跟蹤即細(xì)同步,搜索粗同步附近的若干相位,使其和輸入PN碼相位一致。RAKE接收:是接收機(jī)的核心模塊, RAKE接收模塊又分為以下三種子模塊:多徑搜索,信道估計,多徑合并。解交織:交織是為防止信道產(chǎn)生突發(fā)的連續(xù)錯誤,解交織就是交織的逆過程。維特比譯碼:完成信道編碼中的卷積碼和TURBO碼的譯碼。
模塊定義和軟件設(shè)計實例
下面以維特比譯碼模塊為例,對模塊的VHDL描述和內(nèi)部的C語言實現(xiàn)加以說明,程序代碼如下所示:
entity ViterbiDecode is port (outPort: out integer16pair@16; inport : in integer16pair@16);end entity ViterbiDecode;
architecture C of ViterbiDecode is begin MEM
ENDCODE;
end architecture ViterbiDecode;
模塊的輸入輸出端口通過entity進(jìn)行定義, architecture內(nèi)部描述這個模塊的行為, 但不同于傳統(tǒng)的FPGA設(shè)計,其architecture內(nèi)部的行為描述采用C語言而不再是VHDL語言,對于C語言部分以“CODE”標(biāo)記作為開始,以“ENDCODE”標(biāo)記作為結(jié)束。C語言的入口點也是main函數(shù),這和標(biāo)準(zhǔn)C是非常類似的。各個子系統(tǒng)通過編譯器件自動進(jìn)行連接,并且自動完成AE的分配。下面對描述中幾點特殊的地方加以解釋:在端口描述中"@"數(shù)字代表系統(tǒng)需要占用總線的時隙,比如@16就表示每16個時隙總線就要分給此端口一次, 域指定了語言類型,這里可以是C和ASM兩種。用來指定本子系統(tǒng)采用的AE的類型,有MAC、STAN、MEM、CTRL四種可選,或指定為 ANY(任意一種),然后由編譯器來進(jìn)行分配。
結(jié)語
4 結(jié)論.利用PC101芯片設(shè)計的無線接收機(jī)具有功能實現(xiàn)靈活,開發(fā)容易,無須修改硬件就可適應(yīng)各種標(biāo)準(zhǔn)的特點.是一種全新的設(shè)計理念, 從目前存在的第三代移動通信各種體制中看出,它們具有許多類似的算法,CDMA2000接收機(jī)中的各模塊如Rake合并、信道估計、解交織等部分能應(yīng)用于多種體制?;赑C101的軟件定義的接收機(jī)具有極大的靈活性和開放性,易于結(jié)構(gòu)化、模塊化和通用化,有利于各種通信新標(biāo)準(zhǔn)的實施和兼容。為將來的多種制式間的互聯(lián)互通,提供了一種成本低廉的純軟件的解決方案。
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取