Maxim設(shè)計(jì)了一種易于構(gòu)建的CDMA基帶調(diào)制發(fā)生器,用于對(duì)設(shè)計(jì)到蜂窩手機(jī)發(fā)射路徑中的各種產(chǎn)品進(jìn)行電路評(píng)估。該設(shè)計(jì)結(jié)合了高密度可編程邏輯器件、晶體振蕩器和一對(duì)匹配的低通濾波器,以提供所需的正交輸出波形。復(fù)雜可編程邏輯器件(CPLD)中的數(shù)字電路基于IS95標(biāo)準(zhǔn)。4.9152MHz晶體振蕩器驅(qū)動(dòng)CY37256 CPLD產(chǎn)生1.2288MHz數(shù)字輸出,從而為輸出低通濾波器提供精確的I/Q(同相和正交)比特流。通過(guò)在MAX2361發(fā)送器IC上測(cè)量ACPR,并將結(jié)果與使用安捷倫E4433B任意波形發(fā)生器作為參考信號(hào)源觀察到的ACPR進(jìn)行比較,證實(shí)了性能。實(shí)驗(yàn)室測(cè)量的ACPR被發(fā)現(xiàn)在0.5dB以內(nèi)一致。
本應(yīng)用筆記介紹了CDMA反向鏈路波形發(fā)生器的數(shù)字部分,并描述了一些設(shè)計(jì)問(wèn)題及其處理方式。
介紹
Maxim設(shè)計(jì)了一種易于構(gòu)建的CDMA基帶調(diào)制發(fā)生器,用于對(duì)設(shè)計(jì)到蜂窩手機(jī)發(fā)射路徑中的各種產(chǎn)品進(jìn)行電路評(píng)估。該設(shè)計(jì)結(jié)合了高密度可編程邏輯器件、晶體振蕩器和一對(duì)匹配的低通濾波器,以提供所需的正交輸出波形。復(fù)雜可編程邏輯器件(CPLD)中的數(shù)字電路基于IS95標(biāo)準(zhǔn)。4.9152MHz晶體振蕩器驅(qū)動(dòng)CY37256 CPLD產(chǎn)生1.2288MHz數(shù)字輸出,從而為輸出低通濾波器提供精確的I/Q(同相和正交)比特流。通過(guò)在MAX2361發(fā)送器IC上測(cè)量ACPR,并將結(jié)果與使用安捷倫E4433B任意波形發(fā)生器作為參考信號(hào)源觀察到的ACPR進(jìn)行比較,證實(shí)了性能。實(shí)驗(yàn)室測(cè)量的ACPR被發(fā)現(xiàn)在0.5dB以內(nèi)一致。
本應(yīng)用筆記介紹了CDMA反向鏈路波形發(fā)生器的數(shù)字部分,并描述了一些設(shè)計(jì)問(wèn)題及其處理方式。
數(shù)字系統(tǒng)說(shuō)明
教科書(shū)CDMA發(fā)生器
圖1顯示了CDMA反向通道發(fā)生器的框圖。CDMA發(fā)生器由以下項(xiàng)目組成:
數(shù)字?jǐn)?shù)據(jù)源。在手機(jī)中,這是編碼的語(yǔ)音數(shù)據(jù)。
編碼和交錯(cuò)函數(shù)。
沃爾什代碼生成器。
最大長(zhǎng)度的 42 位長(zhǎng) PN(偽噪聲)發(fā)生器,此處稱為“長(zhǎng)代碼”。
3 個(gè)模二混頻器或?qū)S?OR 門(mén)。
兩個(gè)“短代碼”、15 位 PN 最大長(zhǎng)度移位寄存器。
半個(gè)芯片延遲,等于(813.8ns / 2)或406.9ns。
一對(duì)匹配的有限脈沖響應(yīng) (FIR) 低通濾波器。
圖1.教科書(shū)CDMA反向鏈接生成器。
這項(xiàng)工作中采取的捷徑
出于實(shí)際測(cè)量目的,可以簡(jiǎn)化一些編碼。消除了與前向糾錯(cuò)(FEC)和交錯(cuò)相關(guān)的模塊,因?yàn)樗鼈儗?duì)頻譜的貢獻(xiàn)很小。為了模擬 CELP 編解碼器數(shù)據(jù)源,使用了 7 位最大 PN 生成器。
42位長(zhǎng)代碼被實(shí)現(xiàn)為31位長(zhǎng)PN,最大長(zhǎng)度移位寄存器。采取這一步驟是為了在CPLD中保留寄存器,并使設(shè)計(jì)驗(yàn)證更快。以 42.1MHz 移動(dòng)的 2288 位 PN 發(fā)生器重復(fù)該周期需要 ~3 萬(wàn)秒。(這里的簡(jiǎn)單計(jì)算將揭示您的測(cè)試臺(tái)必須保持6天不受干擾!加快 41 位 PN 發(fā)生器驗(yàn)證速度的一種方法是更快地運(yùn)行時(shí)鐘。即使時(shí)鐘以42MHz運(yùn)行,周期重復(fù)仍然需要20.2天。以5MHz運(yùn)行的31位PN代碼將在不到20分鐘的時(shí)間內(nèi)重復(fù),這是一個(gè)更合理的測(cè)試時(shí)間。
輸出端的數(shù)字(FIR)低通濾波器被簡(jiǎn)單的電感和電容無(wú)源濾波器所取代。本應(yīng)用重點(diǎn)介紹了這些濾波器的復(fù)雜性和重要性,但對(duì)于那些感興趣的人,該設(shè)計(jì)被實(shí)現(xiàn)為7kHz的600階橢圓低通,并帶有相位均衡器部分。關(guān)鍵性能點(diǎn)設(shè)置為45kHz時(shí)的-740dBc和65kHz及以上的-881dBc。發(fā)射頻譜的帶寬、滾降速率以及觀察到的最終ACPR與這些濾波器的質(zhì)量直接相關(guān)。
圖 2 顯示了在此工作中實(shí)現(xiàn)的簡(jiǎn)短框圖。
圖2.實(shí)現(xiàn)了CDMA反向鏈路生成器。
設(shè)計(jì)細(xì)節(jié)
本應(yīng)用筆記不會(huì)試圖介紹設(shè)計(jì)和實(shí)現(xiàn)的每個(gè)細(xì)節(jié)。相反,將使用一些關(guān)鍵模塊來(lái)說(shuō)明設(shè)計(jì)技術(shù)和解決方案。這不是將讀者轉(zhuǎn)化為Verilog專(zhuān)家的意圖。
沃爾什代碼生成器
沃爾什代碼生成器通常在文獻(xiàn)中使用矩陣表示法進(jìn)行描述。
![]() |
(公式1) |
沃爾什向量的構(gòu)造假設(shè)起始種子為 W1= 0。沃爾什矩陣的右下角區(qū)域,在公式1中由W表示n頂部有一個(gè)條形,表示矩陣中每個(gè)條目的按位邏輯反轉(zhuǎn)。Walsh 矩陣中的每一行都可以使用一些獨(dú)占或門(mén)和一個(gè)六位計(jì)數(shù)器生成。在進(jìn)行此觀察之前,Walsh矩陣似乎是一個(gè)令人生畏的模塊,可以使用Verilog代碼生成并適合CPLD。此處包含的 Verilog 代碼列表僅作為示例提供。
module walsh( clk, resetn, select, wout); | ||
//Walsh code generator. Selects one out of N = 64. | ||
input clk, resetn; | ||
input [5:0]select; // vector to select which walsh code is generated | ||
output wout; | ||
reg [5:0] cntval; | ||
// intermediate terms to keep output exor size small. | ||
reg [5:0] p ; | ||
reg t01, t23, t45; // these registers are used to pipeline the EXOR section | ||
reg s0, s1; // more pipeline registers for EXOR | ||
always ? (negedge resetn or posedge clk) | ||
begin | ||
if(!resetn) // Is it time to reset?? | ||
begin | ||
cntval <= 0; // initialize the counter register | ||
end | ||
else | ||
begin | ||
cntval <= cntval + 1; //Warp does an efficient job implementing this. | ||
end | ||
end | ||
always ? (negedge resetn or posedge clk) | ||
begin | ||
if(!resetn) // Is it time to reset?? | ||
begin | ||
p[5:0] <= 0; // initialize all registers associated with this section. | ||
t01 <= 0; | ||
t23 <= 0; | ||
t45 <= 0; | ||
s0 <= 0; | ||
s1 <= 0; | ||
end | ||
else | ||
begin | ||
p <= cntval & select ; | ||
t01 <= p[0] ^ p[1] ; // the ^ symbol is the exclusive OR operation. | ||
t23 <= p[2] ^ p[3] ; | ||
t45 <= p[4] ^ p[5] ; | ||
s0 <= t01 ^ t23; | ||
s1 <= t45; | ||
end | ||
end | ||
assign wout = s0 ^ s1 ; // a last bit of async. Logic to generate the final output | ||
endmodule |
在上面的 Verilog 代碼中,請(qǐng)注意為構(gòu)建操作并盡可能使用同步邏輯而采取的預(yù)防措施。同步建模技術(shù)的使用在兩個(gè)方面有助于設(shè)計(jì):
亞穩(wěn)態(tài)條件最小化。
邏輯有效地映射到 CPLD 架構(gòu)中。
要使用現(xiàn)代硬件描述語(yǔ)言執(zhí)行數(shù)字設(shè)計(jì),必須始終牢記目標(biāo)硬件。由于大多數(shù)CPLD具有由LOGIC GATES-> REGISTER組成的常規(guī)結(jié)構(gòu),因此如果Verilog代碼遵循相同的結(jié)構(gòu),則可以有效地映射到CPLD。通過(guò)這種方式,工程師可以指導(dǎo)合成引擎。如果忽略這一點(diǎn),并且 Verilog 代碼中隱含了許多級(jí)別的異步邏輯,CPLD 擬合器將擴(kuò)展邏輯并迅速超過(guò)目標(biāo) CPLD 的容量。對(duì)于獨(dú)占 OR 函數(shù)尤其如此。此Verilog代碼描述的Walsh代碼生成器使用中間寄存器管道獨(dú)占OR函數(shù),從而提供了非常緊湊的實(shí)現(xiàn)。
Walsh生成器Verilog代碼還說(shuō)明了可靠設(shè)計(jì)的幾個(gè)關(guān)鍵點(diǎn)。在每個(gè)“總是?”部分的開(kāi)頭,對(duì)復(fù)位條件進(jìn)行測(cè)試,然后根據(jù)需要預(yù)設(shè)或清除所有相關(guān)寄存器。始終以已知狀態(tài)啟動(dòng)是一種經(jīng)過(guò)驗(yàn)證的設(shè)計(jì)技術(shù),可實(shí)現(xiàn)可靠運(yùn)行。還說(shuō)明了實(shí)現(xiàn) 6 位計(jì)數(shù)器的單獨(dú)部分,以及用于創(chuàng)建獨(dú)占 OR 邏輯以選擇要輸出的正確 Walsh 向量的部分。最后,請(qǐng)注意注釋的使用,在 Verilog 中由 // 符號(hào)顯示。
PN 發(fā)生器
CDMA 發(fā)生器采用四個(gè) PN 發(fā)生器。實(shí)現(xiàn)最大長(zhǎng)度碼移寄存器有兩種基本方法:簡(jiǎn)單反饋樣式和模塊化樣式。(見(jiàn)圖3)
圖3.簡(jiǎn)單和模塊化PN發(fā)生器的示例。
簡(jiǎn)單的PN發(fā)生器可以接受在碼速率(芯片)比所采用的邏輯更慢且反饋抽頭數(shù)量較少的情況下使用。隨著抽頭數(shù)量的增加,簡(jiǎn)單的方法開(kāi)始顯示出局限性,因?yàn)橥ㄟ^(guò)多級(jí)異步邏輯的延遲繼續(xù)串聯(lián)增加并限制可以使用的最大時(shí)鐘速度。本設(shè)計(jì)中,簡(jiǎn)單的PN發(fā)生器用于模擬隨機(jī)數(shù)據(jù),時(shí)鐘頻率為4.8kHz。
模塊化PN發(fā)生器使用更多的邏輯門(mén),因?yàn)镋XOR操作在線性寄存器的每一級(jí)并行執(zhí)行。在CPLD實(shí)現(xiàn)中,懲罰并不太嚴(yán)重,因?yàn)閂erilog代碼被編寫(xiě)為在需要時(shí)使用EXOR結(jié)構(gòu),而在其他地方使用簡(jiǎn)單的D類(lèi)型觸發(fā)器。
此設(shè)計(jì)中使用的 CDMA 特定多項(xiàng)式包括:
短代碼 I:
I(X):= X15+ X13+ X9+X8+ X7+ X5+ 1
短代碼 Q:
Q(X):= X15+ X12+ X11+ X10+ X6+ X5+ X4+ X3+ 1
長(zhǎng)代碼:
LC(X):= X42+ X35+ X33+ X31+ X27+ X26+ X25+ X22+ X21+ X19+ X18+ X17+ X16+ X10+ X7+ X6+ X5+ X3+ X2+ X1+ 1
用于實(shí)現(xiàn)短 I 代碼的 Verilog 代碼如下:
模塊i_code_s(時(shí)鐘、復(fù)位、i_code_out); | ||
使用多項(xiàng)式生成 15 位 PN 代碼 | ||
x15+ x13+ x9+ x8+ x7+ x5+ 1 | ||
輸入時(shí)鐘,復(fù)位; | ||
輸出i_code_out; | ||
注冊(cè) [15:1]pi; |
-
cpld
+關(guān)注
關(guān)注
32文章
1257瀏覽量
171255 -
振蕩器
+關(guān)注
關(guān)注
28文章
3979瀏覽量
140640 -
發(fā)送器
+關(guān)注
關(guān)注
1文章
261瀏覽量
27216
發(fā)布評(píng)論請(qǐng)先 登錄
怎么設(shè)計(jì)CDMA反向鏈路波形發(fā)生器?
實(shí)現(xiàn)CDMA2000系統(tǒng)前向鏈路卷積編碼器的方法有哪些?
如何實(shí)現(xiàn)基帶信號(hào)發(fā)生器CDMA2000下行鏈路基帶模塊的設(shè)計(jì)?
波形發(fā)生器設(shè)計(jì)
基于EasyFPGA030的波形發(fā)生器設(shè)計(jì)
基于DDS的波形發(fā)生器設(shè)計(jì)
基帶信號(hào)發(fā)生器中CDMA2000無(wú)線傳輸技術(shù)的下行鏈路基帶處理方案

CDMA反向鏈路波形發(fā)生器的設(shè)計(jì)

評(píng)論