基于PC101處理器的CDMA2000接收機設計
基于PC101處理器的CDMA2000接收機設計
清華大學(xué)微波與數字通信國家重點(diǎn)實(shí)驗室 曲晶 鄭宇 王京
摘要:本文用PC101芯片作為軟件無(wú)線(xiàn)電硬件平臺, 用軟件實(shí)現CDMA2000接收機基帶信號處理。軟件片上系統可使基帶的所有功能完全由軟件來(lái)實(shí)現,并且可實(shí)現產(chǎn)品現場(chǎng)升級和多種制式兼容等優(yōu)點(diǎn)。
關(guān)鍵詞:SSoC;PicoArray;AE;軟件無(wú)線(xiàn)電
引言
傳統的3G移動(dòng)臺接收機采用專(zhuān)用基帶芯片的設計方案,基帶芯片的設計是一個(gè)非常復雜的過(guò)程,在芯片設計階段需要投入大量的研發(fā)人員,每次流片都需要非常昂貴的費用,開(kāi)發(fā)出一個(gè)真正能商用化的產(chǎn)品至少要花費兩年的時(shí)間,導致在激烈的市場(chǎng)環(huán)境中落后與競爭對手。芯片應用到設備中一旦發(fā)現缺陷,其損失更是不可估量。如果未來(lái)需要在此設備上增加新的特性也無(wú)法實(shí)現,只能更換硬件。PicoChip公司開(kāi)發(fā)的PicoArray高速并行處理架構的PC101處理器完全解決了上述問(wèn)題,它是一個(gè)“軟件片上系統(SSoC)”,編程輕松靈活,運算速度快,完全可取代現場(chǎng)可編程門(mén)陣列(FPGA)或專(zhuān)用集成電路(ASIC)。PicoArray本身是整體并行的處理器陣列,由高速互連結構所鏈接,在一個(gè)芯片中集中了400多個(gè)處理器核心,由于每個(gè)核心都能并行操作或相互連接,以及芯片總線(xiàn)的巨大帶寬,PicoArray可以提供超強的處理能力,每秒鐘運算速度超過(guò)1000億次。本文論述了以PC101為軟件無(wú)線(xiàn)電硬件平臺,用軟件方式實(shí)現CDMA2000移動(dòng)臺基帶信號處理的方法。
PC101芯片介紹
PC101是一個(gè)無(wú)線(xiàn)通信處理器,專(zhuān)門(mén)用于無(wú)線(xiàn)通信基帶信號處理的優(yōu)化設計。PC101芯片的結構框圖如圖1所示,系統由處理器陣列和一系列的外圍接口構成, 下面對各個(gè)接口的用途和處理器陣列作詳細的介紹。圖1 PC101芯片結構框圖
接口的說(shuō)明
鎖相環(huán)(PLL):模塊將輸入的時(shí)鐘進(jìn)行四倍頻,倍頻后的時(shí)鐘作為芯片內的工作時(shí)鐘。
主機接口:用來(lái)與外部CPU相連,對芯片進(jìn)行配置,與外部CPU進(jìn)行數據傳輸的接口。數據傳輸可以有兩種方式,一種是通過(guò)寄存器進(jìn)行數據傳輸,另一種是直接采用DMA的方式進(jìn)行快速大量的數據傳輸。
可配置的接口:PC101有四個(gè)可以配置的接口,這四個(gè)接口可以配置成下面兩種模式之一,芯片間互連(IPI)接口和異步數據傳輸接口(ADI),各個(gè)端口可以進(jìn)行獨立配置。
控制和同步接口:完成對PC101的復位、啟動(dòng)停止等操作,通過(guò)此接口也可實(shí)現多個(gè)PC101間的同步工作。
外部SRAM接口:每個(gè)處理單元(AE)都有一定數量的數據和指令的存儲器,外部SRAM接口是對片上存儲器的一個(gè)擴充, 用于對存儲空間要求比較大的場(chǎng)合,比如維特比譯碼。
JTAG接口:遵從IEEE1149.1-2001規范,為系統調試所用。
處理器陣列核心
處理器陣列是PC101的核心部分,其系統結構示意圖如圖2所示,一個(gè)PC101處理陣列由430處理器單元(AE)構成,AE是一個(gè)16b位的RISC微處理器,各個(gè)處理單元之間由一條32位的總線(xiàn)和一些可編程的交換矩陣進(jìn)行互連。處理器單元間的通信是基于時(shí)分復用的策略,處理器間傳送的數據在不同的時(shí)隙進(jìn)行,對高速的信號傳送就分配更長(cháng)時(shí)隙。每個(gè)AE的指令集都是一樣的,但是為了使基帶處理中各個(gè)處理單元都能很好的發(fā)揮性能,不同的AE之間又有一定的差別,主要表現為存儲器的數量和一些特殊指令上,這430個(gè)AE可分為四類(lèi):圖2 PC101處理陣列結構示意圖
標準(STAN)型:標準AE類(lèi)型是為CDMA的擴頻、解擴和其他的基帶信號處理進(jìn)行優(yōu)化設計的,共有240個(gè)STAN型的AE。
乘累加(MAC)型:乘累加型AE含有一乘累加協(xié)處理器,多了條乘累加指令,一共有120個(gè)MAC型的AE。
存儲(MEM)型:存儲型比其他類(lèi)型有更多的程序和數據存儲器,一共有68個(gè)MEM型號的AE。
控制(CTRL)型:控制型含有更多的存儲數據和程序的存儲器,是實(shí)現控制功能的AE,共有2個(gè)CTRL型的AE。
CDMA2000移動(dòng)臺硬件設計
CDMA2000移動(dòng)臺硬件結構如圖3所示,系統從天線(xiàn)接收射頻信號,經(jīng)下變頻到基帶,通過(guò)A/D變換器分別對接收到的I,Q兩路進(jìn)行四倍采樣,然后送到由4個(gè)PC101互連構成的基帶處理模塊,同時(shí)基帶處理模塊產(chǎn)生的控制信號對射頻模塊進(jìn)行控制(增益控制、頻率調整、功率控制等)?;鶐幚砟K與外部CPU(PowerPC)相連,由ETHERNET口連接,實(shí)現系統的開(kāi)發(fā)階段的調試,CPU實(shí)現對PC101的控制和數據傳輸,同時(shí)可用于上層協(xié)議的處理。圖3 CDMA2000移動(dòng)臺硬件結構圖
CDMA2000移動(dòng)臺陣列配置與軟件實(shí)現
接收機功能模塊介紹
CDMA2000接收機分為發(fā)送和接收兩部分,這里主要介紹接收部分,接收機基帶部分可分解為若干模塊,包括同步捕獲與跟蹤、RAKE接收機、解交織、維特比譯碼,模塊劃分如圖4所示。一個(gè)模塊可被映射到一個(gè)或多個(gè)PicoArray設備, 每個(gè)模塊的接口使用picoVHDL來(lái)定義,可使用一個(gè)或多個(gè)AE來(lái)構造子系統,AE之間的通信也由picoVHDL來(lái)表示,模塊的全部功能通過(guò)使用C或匯編語(yǔ)言對每個(gè)AE進(jìn)行編程來(lái)實(shí)現。各個(gè)模塊實(shí)現的功能如下:圖4 CDMA2000移動(dòng)臺基帶模塊劃分
同步捕獲與跟蹤:系統剛啟動(dòng)時(shí)處于失步狀態(tài),接收信號的PN碼相位沒(méi)有和本地PN碼相位同步,PN碼相位捕獲即粗同步,在PN序列整個(gè)周期上搜索相關(guān)峰,檢測輸入信號是否和本地參考PN序列同步;PN碼相位跟蹤即細同步,搜索粗同步附近的若干相位,使其和輸入PN碼相位一致。
RAKE接收:是接收機的核心模塊, RAKE接收模塊又分為以下三種子模塊:多徑搜索,信道估計,多徑合并。
解交織:交織是為防止信道產(chǎn)生突發(fā)的連續錯誤,解交織就是交織的逆過(guò)程。
維特比譯碼:完成信道編碼中的卷積碼和TURBO碼的譯碼。
模塊定義和軟件設計實(shí)例
下面以維特比譯碼模塊為例,對模塊的VHDL描述和內部的C語(yǔ)言實(shí)現加以說(shuō)明,程序代碼如下所示:
entity ViterbiDecode is
port (outPort: out integer16pair@16;
inport : in integer16pair@16);
end entity ViterbiDecode;
architecture C<type> of ViterbiDecode is
begin MEM<AE type>
CODE
int main()
{
while (1)
{ //從輸入端口讀取數據
integer16pair outputval;
integer16pair value = getinPort();
//進(jìn)行維特比譯碼
............
//將譯碼結果送給輸出端口
putoutPort(outputval);
}
return 0;
}
ENDCODE;
end architecture ViterbiDecode;
模塊的輸入輸出端口通過(guò)entity進(jìn)行定義, architecture內部描述這個(gè)模塊的行為, 但不同于傳統的FPGA設計,其architecture內部的行為描述采用C語(yǔ)言而不再是VHDL語(yǔ)言,對于C語(yǔ)言部分以“CODE”標記作為開(kāi)始,以“ENDCODE”標記作為結束。C語(yǔ)言的入口點(diǎn)也是main函數,這和標準C是非常類(lèi)似的。各個(gè)子系統通過(guò)編譯器件自動(dòng)進(jìn)行連接,并且自動(dòng)完成AE的分配。
下面對描述中幾點(diǎn)特殊的地方加以解釋?zhuān)?br/>在端口描述中"@"數字代表系統需要占用總線(xiàn)的時(shí)隙,比如@16就表示每16個(gè)時(shí)隙總線(xiàn)就要分給此端口一次, <type>域指定了語(yǔ)言類(lèi)型,這里可以是C和ASM兩種。<AE type>用來(lái)指定本子系統采用的AE的類(lèi)型,有MAC、STAN、MEM、CTRL四種可選,或指定為 ANY(任意一種),然后由編譯器來(lái)進(jìn)行分配。
結語(yǔ)
4 結論.
利用PC101芯片設計的無(wú)線(xiàn)接收機具有功能實(shí)現靈活,開(kāi)發(fā)容易,無(wú)須修改硬件就可適應各種標準的特點(diǎn).是一種全新的設計理念, 從目前存在的第三代移動(dòng)通信各種體制中看出,它們具有許多類(lèi)似的算法,CDMA2000接收機中的各模塊如Rake合并、信道估計、解交織等部分能應用于多種體制?;赑C101的軟件定義的接收機具有極大的靈活性和開(kāi)放性,易于結構化、模塊化和通用化,有利于各種通信新標準的實(shí)施和兼容。
為將來(lái)的多種制式間的互聯(lián)互通,提供了一種成本低廉的純軟件的解決方案。
參考文獻:
1. Picochip數據手冊 Preliminary technical datasheet-PC101
2. TIA/EIA/cdma2000.“Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spectrum Cellular System”.1995
3. Jhong Sam Lee, Leonard E. Miller著(zhù). 許希斌 周世東等譯.CDMA系統工程手冊. 北京:人民郵電出版社.2001.2:343-395
4. 邱玲 , 朱近康, 孫葆根,張磊 .第 三 代 移 動(dòng) 通 信 技 術(shù) .北 京 : 人 民 郵 電 出 版 社.2001年 :90-96
5. Man Young Rhee 著(zhù),袁超偉等譯.CDMA蜂窩移動(dòng)通信與網(wǎng)絡(luò )安全.北京:電子工業(yè)出版社.2002.5:41-150
cdma相關(guān)文章:cdma原理
評論