DS/FH混合擴(kuò)頻接收機(jī)解擴(kuò)及同步技術(shù)的FPGA實(shí)現(xiàn)
相關(guān)累加器完成本地偽碼與接收信號(hào)的相關(guān)累加運(yùn)算,運(yùn)算得到的結(jié)果送入DSP完成偽碼的捕獲和跟蹤。取偽碼長(zhǎng)度為256位,采用半碼片滑動(dòng),則一個(gè)碼周期完成512次累加運(yùn)算。如采用串行滑動(dòng)相關(guān)捕獲方式,則遍歷所有的碼相位所需要的時(shí)間為512個(gè)碼周期,即捕獲所需要的最長(zhǎng)時(shí)間為512個(gè)PN碼周期。由于可編程邏輯器件的發(fā)展,使得有足夠的硬件資源來完成并行運(yùn)算。此處采用串/并混合的捕獲方式[6][7],采用8路相關(guān)累加器,每一路分為超前、當(dāng)前、滯后3組,每組相差半個(gè)碼片的相位,每一路相差64個(gè)半碼片的相位。這樣,只需滑動(dòng)64個(gè)半碼片相位就可以遍歷所有的偽碼相位,完成捕獲所需時(shí)間縮短為原來的八分之一。數(shù)據(jù)解調(diào)由另外4組相關(guān)累加器完成。由于發(fā)射端同步偽碼與數(shù)據(jù)偽碼相位嚴(yán)格對(duì)齊,所以在接收模塊中,完成同步偽碼捕獲跟蹤后,直接將所獲得的相位信息用于數(shù)據(jù)解調(diào)相關(guān)器,即可正確解調(diào)數(shù)據(jù)。
同步偽碼的跟蹤采用超前―滯后延遲鎖相環(huán)路(DPLL),每一路相關(guān)器包括3組累加器。捕獲跟蹤及數(shù)據(jù)解調(diào)共使用28組相關(guān)累加器,每一組相關(guān)累加器結(jié)構(gòu)都是完全一樣的,均分為I、Q兩路,分別進(jìn)行累加運(yùn)算,完成512次累加運(yùn)算后由DSP讀取數(shù)據(jù)。I、Q兩路結(jié)構(gòu)完全相同,其中一路的原理圖如圖4所示。
相關(guān)累加器由18位加減法器、鎖存器1和鎖存器2組成,data[7..0]為下變頻后的輸入數(shù)據(jù),PN CODE來自碼發(fā)生器。作為控制端,低電平完成加運(yùn)算,高電平完成減運(yùn)算,DP上升沿進(jìn)行數(shù)據(jù)鎖存,下降沿完成一次累加運(yùn)算。當(dāng)累加運(yùn)算完成后,由CLR信號(hào)清零并將結(jié)果存入鎖存器2,CLR下降沿有效。鎖存器1輸出OV信號(hào)作為溢出標(biāo)志位,鎖存器2輸出累加結(jié)果out[16..0]。輸入與輸出端的最高位為符號(hào)位。
1.4 本地碼發(fā)生器及碼移相電路
本地碼發(fā)生器用于產(chǎn)生本地PN碼,從而與接收信號(hào)進(jìn)行相關(guān)運(yùn)算。由于發(fā)送端采用編碼擴(kuò)頻調(diào)制方式,接收信號(hào)中既有同步PN碼,還有數(shù)據(jù)PN碼,與接收信號(hào)相對(duì)應(yīng),本地也應(yīng)該產(chǎn)生相應(yīng)的PN碼,用于同步及解調(diào)數(shù)據(jù)。
本地PN碼發(fā)生器全部采用FPGA實(shí)現(xiàn),并且設(shè)置了可編程寄存器和外部接口,DSP通過接口可預(yù)置PN碼長(zhǎng)度。1024進(jìn)制計(jì)數(shù)器電路用于產(chǎn)生ROM的輸入地址,ROM由FPGA內(nèi)部RAM資源來實(shí)現(xiàn),采用ALTERA公司APEX20K200器件。該器件內(nèi)部可編程RAM容量為106496位,完全可以滿足設(shè)計(jì)需求。本地PN碼采用半碼片滑動(dòng)方式,ROM內(nèi)部PN碼也以半碼片方式存儲(chǔ)。如碼長(zhǎng)為256,采用半碼片存儲(chǔ)方式后,每一組PN碼需存儲(chǔ)512位數(shù)據(jù),相應(yīng)的ROM有9位地址線驅(qū)動(dòng)輸出。驅(qū)動(dòng)時(shí)鐘為PN碼時(shí)鐘的2倍。在實(shí)際設(shè)計(jì)時(shí),PN碼發(fā)生器內(nèi)存放了8組PN碼,但只用了五組,一組用于同步,另外四組用于解調(diào)數(shù)據(jù)。ROM輸入地址由1024進(jìn)制計(jì)數(shù)器產(chǎn)生,實(shí)際上只需用512進(jìn)制計(jì)數(shù)器即可得到ROM輸入地址??紤]到可擴(kuò)展性,這里采用了計(jì)數(shù)容量最大為1024的可變計(jì)數(shù)器。由DSP通過DSP-FPGA接口改寫寄存器值,可以很方便地調(diào)整PN碼的輸出相位。
偽碼移位電路的主要作用是將碼發(fā)生器產(chǎn)生的PN碼進(jìn)行移位操作,從而得到偽碼的不同相位。捕獲和跟蹤過程共使用了8路24組相關(guān)累加器,每一路分為超前、當(dāng)前、滯后3組,這3組累加器輸入端PN碼相差半個(gè)碼片的相位,8路相關(guān)累加器中每相鄰兩路相差64個(gè)半碼片。碼發(fā)生器輸出5組PN碼序列(第0組~第4組),分別對(duì)應(yīng)同步偽碼及4組數(shù)據(jù)偽碼。5組偽碼均經(jīng)過512級(jí)移位寄存器,第0組PN碼作為同步碼,取其0、1、2相位作為第一路的超前、當(dāng)前、滯后3組相關(guān)累加器的輸入;64、65、66相位作為第二路的超前、當(dāng)前、滯后3組相關(guān)累加器的輸入,其余各路依此類推。當(dāng)完成捕獲后,需要將捕獲所得的同步PN相位切換到數(shù)據(jù)解調(diào)相關(guān)累加器中。例如,假設(shè)在第二組相關(guān)累加器的當(dāng)前通道捕獲,那么此時(shí)解調(diào)數(shù)據(jù)用的相關(guān)累加器的PN碼相位就應(yīng)該與第二組相關(guān)累加器當(dāng)前通道的PN碼相位保持一致。數(shù)據(jù)偽碼相位切換的實(shí)現(xiàn)是由DSP記憶捕獲通道的相位,然后控制多路選擇開關(guān)選擇該相位。
評(píng)論