沈俊
(南京郵電大學(xué),江蘇 南京 210003)
針對(duì)傳統(tǒng)分離式元器件搭建的無線電平臺(tái)的開發(fā)周期長(zhǎng),投入的成本高,提出了軟件無線電的概念。軟件無線電最初的思想是希望將數(shù)字信號(hào)處理部分盡量的靠近天線端。對(duì)采集的數(shù)據(jù)進(jìn)行的后續(xù)的處理都希望能通過高速數(shù)字信號(hào)處理單元來進(jìn)行數(shù)據(jù)的處理。但在該思想下,無論是對(duì)硬件或是軟件部分的處理能力都提出了極高的要求。因此,完全的軟件無線電的產(chǎn)品,在時(shí)至今日,仍然是很少被應(yīng)用到的。隨著集成技術(shù)的高速發(fā)展,新的解決方案被不斷地退出,其中就包括了ADI公司所推出的AD9361捷變收發(fā)器。在此背景下,采用 Xilinx FPGA + AD9361 對(duì)軟件無線電平臺(tái)的設(shè)計(jì)提出方案。在最后實(shí)現(xiàn)了基于此相關(guān)平臺(tái),還對(duì)其部分性能進(jìn)行測(cè)試和檢驗(yàn)[1-4]。
AD9361是一款高性能、高集成度的射頻(RF)Agile Transceiver?捷變收發(fā)器。在該器件中,將RF前端與混合信號(hào)的基帶部分集成為一體,并為處理器提供可配置數(shù)字接口,使其設(shè)計(jì)變得簡(jiǎn)化。 其主要應(yīng)用于,點(diǎn)對(duì)點(diǎn)通信系統(tǒng),微蜂窩基站以及通用無線電系統(tǒng)[5]。
平臺(tái)的搭建將使用AD9361和FPGA。選用Xilinx公司spartan6開發(fā)板。整體流程如圖1。
圖1 平臺(tái)整體流程Fig 1 overall process of the platform
圖1 中,PC作為上位機(jī)。接收時(shí),無線信號(hào)經(jīng)過天線,雙工器、低噪聲放大器后通過AD9361進(jìn)入FPGA;發(fā)射時(shí),數(shù)據(jù)經(jīng)FPGA通過AD9361,最后天線發(fā)射無線信號(hào)。PC協(xié)助FPGA完成對(duì)AD9361的控制,并對(duì)數(shù)據(jù)的接收和發(fā)送進(jìn)行傳輸和處理[6]。系統(tǒng)通路分為控制通路和數(shù)據(jù)通路。控制通路完成對(duì)AD9361的內(nèi)部寄存器的讀寫和校驗(yàn)。數(shù)據(jù)通路包括數(shù)據(jù)發(fā)送和數(shù)據(jù)接收兩部分。AD9361數(shù)據(jù)接口有兩種工作模式:CMOS模式以及低電壓差分信號(hào)(LVDS)模式。
AD9361的使用過程主要可以分為三個(gè)步驟:寄存器的配置、寄存器狀態(tài)的檢查以及工作狀態(tài)的進(jìn)入。根據(jù)實(shí)際的需求和場(chǎng)景來對(duì)其進(jìn)行相應(yīng)的配置。在配置過程中將會(huì)涉及到延遲以及寄存器的多次配置;隨后是通過讀取狀態(tài)寄存器來檢查配置是否正確;最后,當(dāng)在完成所有正確的配置后,投入到工作狀態(tài),便可進(jìn)行數(shù)據(jù)的收發(fā)。
3.1.1 對(duì)于寄存器的配置部分,我們可以分為下列四個(gè)部分[7]
(1)通用寄存器:其中包括時(shí)鐘控制,鎖相環(huán)的配置以及數(shù)據(jù)接口的配置,還有掉電和溢出等相應(yīng)控制的配置。
(2)發(fā)射(Tx)寄存器:包括了Tx有關(guān)的濾波器的配置、Tx相關(guān)的功率和衰減控制的寄存器、正交校準(zhǔn)配置等。
(3)接收(Rx)寄存器:包括Rx濾波器配置、增益控制的配置、Rx各部分校準(zhǔn)寄存器等。
(4)模擬部分的寄存器:包括頻率綜合器配置、本振通用配置、測(cè)試寄存器配置等。
3.1.2 部分相關(guān)寄存器
(1)發(fā)射/接收:對(duì)發(fā)射通道配置的寄存器地址為0x002[7-6]。分別為Tx1,Tx2通道。對(duì)接收通道配置的寄存器地址為0x003以及0x004。0x003地址用于選擇接收通道,對(duì)應(yīng)為Rx1,Rx2通道。0x004地址用于選擇單端輸入還是差分輸入
(2)時(shí)鐘控制配置:寄存器地址0x009到0x00A被用于對(duì)時(shí)鐘的控制。
0x009[4]為1時(shí),表明是外部晶振,0時(shí)選擇的是外接參考時(shí)鐘。BBPLL 開關(guān)為0x009[0]。CLK_OUT則是通過0x00A[7∶5]配置。
(3)并行接口配置:0x010到0x012可配置并行接口。Rx_Frame的模式,傳輸模式(2R2T或者單通道時(shí)序),以及DATA_CLK的觸發(fā)方式。
(4)使能狀態(tài)機(jī)。0x013 到 0x17配置使能狀態(tài)機(jī)。選擇TDD還是FDD由0x013選擇。
3.2.1 SPI總線配置寄存器[8]
寄存器的配置主要通過SPI總線進(jìn)行配置。SPI有兩種模式:三線和四線模式。前者與后者的區(qū)別在于三線模式中SPI_DI負(fù)責(zé)讀寫,而四線模式中,增加SPI_DO來負(fù)責(zé)讀取。這里默認(rèn)使用四線接口模式。
讀寫命令時(shí)序分別如圖2所示。
圖2 SPI讀寫命令時(shí)序圖Fig 2 SPI read-write command sequence diagram
3.2.2 數(shù)據(jù)接口
AD9361工作模式分為CMOS和LVDS模式;單收單發(fā)(1R1T)和雙手雙發(fā)(2R2T)模式;FDD 或者TDD模式等。在這里我們將只介紹AD9361 在 2T2R,F(xiàn)DD下的LVDS的工作模式以及AD9361與 FPGA 間的通信接口的時(shí)序。
AD9361和FPGA通過6位差分輸入/輸出總線進(jìn)行數(shù)據(jù)通信。接收數(shù)據(jù)時(shí),數(shù)據(jù)接口時(shí)序圖如下圖3所示。
圖3 收發(fā)數(shù)據(jù)接口時(shí)序Fig 3 Timing sequence of the transceiver data interface
FPGA模塊的編寫使用Verilog語言。根據(jù)數(shù)據(jù)手冊(cè)和相應(yīng)的電路手冊(cè),隨后將通過數(shù)據(jù)接口P0口和P1口來實(shí)現(xiàn)與AD9361間的信號(hào)數(shù)據(jù)的輸入和輸出[4]。
寄存器寫入后,需檢查AD9361的重要寄存器的狀態(tài),用以確定其是否配置正確。該寄存器為:BBPLL鎖定(0x05E[7]=1)、Rx cp校準(zhǔn)(0x244[5]=1)、Tx cp校準(zhǔn)(0x284[5]=1)、Rx RFPLL鎖定(0x247[1])=1、Tx RFPLL 鎖定(0x287[1]=1)。
在對(duì)AD9361寄存器進(jìn)行配置后和檢查后,進(jìn)行了單音信號(hào)發(fā)射的測(cè)試[8-11]。單音信號(hào)的頻率為2MHz,如圖4所示。在頻譜中能看到發(fā)射狀態(tài)正常。
圖4 發(fā)射信號(hào)頻譜Fig 4 transmission spectrum
測(cè)試QPSK調(diào)制。QPSK中心頻率為2.5GHZ。發(fā)射信號(hào)后,通過將頻譜儀的觀測(cè)的結(jié)果(圖6)同MATLAB仿真結(jié)果(圖5)比對(duì)來驗(yàn)證。
Matlab仿真圖(圖5):
圖5 Matlab仿真頻譜圖Fig 5 Matlab simulation spectrum
頻譜儀圖(圖6):
經(jīng)過觀察和比對(duì),最后可確定QPSK通信是成功的。
圖6 實(shí)際接收頻譜圖Fig 6 actual receiving spectrum diagram
簡(jiǎn)單介紹了基于 Xilinx FPGA,AD9361以及軟件無線電平臺(tái)的設(shè)計(jì)。通過使用 AD9361 集成收發(fā)器代替?zhèn)鹘y(tǒng)得用分立器件,整個(gè)平臺(tái)的開發(fā)周期以及投入的成本的下降是非??陀^的[12]。在系統(tǒng)平臺(tái)搭建后,還對(duì)系統(tǒng)的性能進(jìn)行了初步的驗(yàn)證。根據(jù)資料和實(shí)驗(yàn)結(jié)果,該系統(tǒng)不僅有著靈活的應(yīng)用,還廣泛適用于各種場(chǎng)景。但就目前系統(tǒng)而言,還有著很大的提升空間。