孫南南,周洪波,張雋康,尚國武
(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)
軟件定義無線電(SDR)架構(gòu)可以簡化系統(tǒng)設(shè)計,實現(xiàn)無線電平臺標準化。提出SDR已經(jīng)二三十年[1-4],限于高昂的成本和復(fù)雜的實現(xiàn)方案,一直以來是少數(shù)高端應(yīng)用的獨寵。ADI推出的集成式RF收發(fā)器AD9364的優(yōu)勢在于為多種無線電方案提供統(tǒng)一的可再編程無線電平臺[5]。
AD9364射頻捷變收發(fā)器具備靈活性、可配置性、低功耗、體積小、重量輕以及支持現(xiàn)場升級等優(yōu)點,在無人飛行器、LTE通信基礎(chǔ)設(shè)施以及防務(wù)電子等領(lǐng)域有較大的應(yīng)用價值[6-10]。AD9364將信號鏈封裝于一個軟件可配置IC之中,包括混頻器、發(fā)射和接收通道的頻率合成器、模擬濾波、數(shù)據(jù)轉(zhuǎn)換器和其他功能模塊。而一般的集成式寬帶捷變收發(fā)器解決方案在性能、可調(diào)帶寬方面受限,缺乏實用性、高性價比的SDR能力,因此,AD9364自上市以來供不應(yīng)求。
目前,國內(nèi)基于AD9364的研究主要集中在平臺架構(gòu)設(shè)計,以及該芯片的指標參數(shù)和芯片架構(gòu),這些在官方手冊中有比較全面的介紹[11]。但是涉及在實際工程中的使用并沒有詳盡的研究,尤其是配置方法和實際應(yīng)用中遇到的一些問題。
本文基于現(xiàn)有AD9364常見平臺架構(gòu)設(shè)計方案[12-15],結(jié)合實際工程應(yīng)用中的經(jīng)驗,詳盡闡述了AD9364射頻捷變收發(fā)器的4種配置方法:FPGA邏輯配置方式、FPGA片上Nios配置方式、FPGA+SDRAM配置方式與FPGA+單片機配置方式。描述了其軟硬件設(shè)計方案,分析了各方法的適用場景和優(yōu)缺點,為AD9364和AD936x系列的使用提供了指導(dǎo)。
ADI公司的AD9364射頻捷變收發(fā)器作為一款單發(fā)單收的零中頻信號發(fā)射模塊,由發(fā)射器、接收器、濾波器、混頻器、ADC、DAC、數(shù)字數(shù)據(jù)接口及控制接口組成,其芯片架構(gòu)如圖1所示。
圖1 AD9364芯片架構(gòu)
AD9364的接口設(shè)計主要分為2部分:芯片與基帶處理芯片(比如FPGA)之間的12位并行數(shù)據(jù)端口P0,P1,用于芯片配置寄存器的控制參數(shù)傳輸?shù)目刂平涌凇?/p>
AD9364通過內(nèi)部寄存器映射表實現(xiàn)可配置和靈活性的特點。芯片內(nèi)部的寄存器雖然多達上千個,但是這些寄存器按照其主要功能被分為基帶鎖相環(huán)頻率設(shè)定、發(fā)送與接收信號帶寬設(shè)定、數(shù)字數(shù)據(jù)接口設(shè)置、發(fā)送與接收射頻頻點設(shè)定、接收功率控制和發(fā)射功率設(shè)定等。以上這些模塊需要根據(jù)實現(xiàn)的功能來設(shè)計,而像低通濾波器參數(shù)設(shè)定、正交校正與直流補償這些功能模塊的寄存器值一般參照默認值設(shè)置即可。
AD9364提供了2種配置控制接口的方式:SPI控制和管腳配置。在SPI控制模式下,AD9364通過芯片上的SPI接口與外圍控制模塊交互,可以實時修改芯片的所有寄存器值,尤其是芯片當前工作狀態(tài)(比如:頻分雙工FDD、時分雙工TDD、發(fā)射狀態(tài)和接收狀態(tài))。而在管腳配置模式下,外圍控制模塊通過對芯片特定的幾個管腳進行高低電平控制,只能實現(xiàn)芯片當前工作狀態(tài)的切換,應(yīng)用范圍比較小。實際使用中,結(jié)合 SPI控制和管腳配置一起使用,只需要設(shè)置某幾個寄存器參數(shù)即可,這樣可以直觀簡單地控制芯片當前的工作狀態(tài)。
采用FPGA邏輯配置方式的硬件設(shè)計如圖2所示。FPGA自身具有強大的時鐘、運算及擴展能力,只需將FPGA與AD9364之間的管腳在物理上正確連接,通過編程實現(xiàn)與AD9364之間的SPI通信。從硬件設(shè)計角度分析,板卡可以通過一塊電源芯片、一片晶振及相關(guān)電路設(shè)計滿足FPGA,AD9364及其他器件的所有需求,從而減小板卡尺寸并節(jié)約成本。
圖2 FPGA邏輯配置方式
根據(jù)圖2 的設(shè)計,在FPGA中利用VHDL語言或Verilog語言編程實現(xiàn)AD9364相關(guān)寄存器的賦值,通過SPI接口配置AD9364。同時AD9364的CTRL控制管腳只需要高低電平就可以工作,因此在FPGA中,對這類管腳的控制非常簡單。
FPGA中AD9364寄存器賦值模塊的軟件設(shè)計如圖3所示。
圖3 FPGA邏輯配置方式軟件設(shè)計
首先按照順序依次給寄存器賦值,查詢SPI口的狀態(tài)決定是否寫數(shù),在某些寄存器寫完值后等待AD9364返回的校驗值,如果校驗值正確則繼續(xù)給寄存器賦值,反之重新給該寄存器賦值等待校驗正確。
從硬件、軟件設(shè)計角度分析,該種配置模式的使用較簡單,涉及的硬件電路和開發(fā)環(huán)境較少。但是,AD9364的配置是一個閉環(huán)過程,通過AD9364與外圍配置模塊之間配置環(huán)節(jié)的校驗功能,根據(jù)反饋的信息更加精確地調(diào)整AD9364的工作狀態(tài),從而更好地實現(xiàn)設(shè)計的功能;同時把當前工作狀態(tài)反饋給外圍配置模塊。而FPGA邏輯配置方式大量簡化了校驗功能,直接單向輸出控制指令,對校驗的判斷僅限于是否配置正確而沒有校準功能。如果校驗一直失敗程序會陷入死循環(huán),導(dǎo)致AD9364工作指標的偏差。AD9364每個寄存器的位寬是8 bit,每個比特代表不同的功能,該芯片的某些功能有時需要幾個寄存器一起配合實現(xiàn),而該芯片涉及了基帶信號處理、射頻信號處理和模擬電路等多方面知識。該種配置方式需要給所有相關(guān)的寄存器依次賦值,這就需要準確地知道這些寄存器的功能,從這一角度來說,這種配置方式有一定的難度。
圖2與FPGA邏輯配置方式一致。從硬件設(shè)計來說二者一致,不同的是該種配置方式對FPGA性能要求高,需要占用3 M左右的FPGA片上RAM資源。因此,在FPGA選型時需要注意。
根據(jù)圖2 的設(shè)計,該種配置方式需要使用FPGA片上自帶的Nios II系列軟核處理器,作為Altera公司推出的第2代FPGA嵌入式處理器,其性能超過200DMIPS。在Nios II開發(fā)環(huán)境下使用C/C++語言編程實現(xiàn)AD9364相關(guān)寄存器的賦值,通過SPI接口配置AD9364。同時,在FPGA中通過VHDL語言或Verilog語言編程實現(xiàn)對AD9364的CTRL管腳的控制。
FPGA片上Nios配置方式的軟件設(shè)計如圖4所示。
圖4 FPGA片上Nios配置方式軟件設(shè)計
軟件設(shè)計主要分為5部分:主要寄存器參數(shù)配置接口、寄存器參數(shù)回報接口、函數(shù)計算、寄存器賦值和指令校驗。用戶通過主要寄存器參數(shù)配置接口模塊設(shè)計AD9364工作指標,函數(shù)計算模塊根據(jù)參數(shù)值進行相關(guān)運算,寄存器賦值模塊根據(jù)其輸出結(jié)果給AD9364的相關(guān)寄存器賦值,經(jīng)由指令校驗?zāi)K處理后通過FPGA管腳輸出給AD9364,指令校驗?zāi)K根據(jù)AD9364返回的指令調(diào)整相關(guān)寄存器的偏差并反饋給函數(shù)計算模塊,從而形成一個閉環(huán)的配置校驗過程。同時,用戶通過寄存器參數(shù)回報接口實時觀測AD9364的寄存值來分析其工作狀態(tài)。該種軟件設(shè)計方式的主要優(yōu)勢如下:
① 用戶體驗佳,簡潔、高效和直觀地使用AD9364;
② 形成一個完整的閉環(huán)配置校驗過程,更加精準地調(diào)整AD9364的工作狀態(tài)。
從硬件設(shè)計角度分析,該配置模式的硬件電路比較簡單。從軟件設(shè)計角度分析,該種配置模式實現(xiàn)了AD9364的閉環(huán)配置過程,但是需要研發(fā)人員熟練掌握C/C++語言編程。Nios II作為FPGA片上嵌入式處理器,在跨芯片平臺、跨芯片系列使用時并不適用,并且不支持軟件開發(fā)工具的跨界使用。
采用FPGA+SDRAM配置方式的硬件設(shè)計如圖5所示,與前2種配置方式相比較,板卡上增加了一片SDRAM芯片及相關(guān)電路,從而節(jié)省了FPGA片上RAM資源。
眾所周知,F(xiàn)PGA片上RAM資源是寶貴的,一般中端系列的FPGA片上RAM資源約12 M左右。相較于前一種配置方式,該種配置方式將Nios II處理器運行過程中需要占用的內(nèi)存資源轉(zhuǎn)移到SDRAM芯片內(nèi),從而釋放了原本需要在FPGA片上占用的RAM資源,進而降低FPGA芯片的指標要求并降低成本。
圖5 FPGA+SDRAM配置方式
FPGA+SDRAM配置方式的軟件設(shè)計方法與FPGA片上Nios配置方式一致,也需要借助Nios II開發(fā)環(huán)境,形成一個完整閉環(huán)的配置校驗過程。
從硬件設(shè)計角度分析,該配置模式的硬件電路相對復(fù)雜,增加了額外成本。從軟件設(shè)計角度分析,該配置模式實現(xiàn)了AD9364的閉環(huán)配置過程。雖然SDRAM憑借其極高的性價比,廣泛應(yīng)用于高速數(shù)據(jù)存儲等設(shè)計中,但是相對于SRAM等其他存儲器件,SDRAM的控制相對復(fù)雜[16]。在實際工程應(yīng)用中發(fā)現(xiàn),SDRAM內(nèi)部的命令發(fā)送和數(shù)據(jù)傳輸都以同步工作時鐘為基準,因此對其與FPGA交互的44條信號線(數(shù)據(jù)線和地址線)的時鐘同步要求很高,會發(fā)生轉(zhuǎn)發(fā)給AD9364的指令無法解析的情況。這種情況下只能通過改善同步工作時鐘與信號線的時序關(guān)系來解決,增加了程序運行的風(fēng)險。同時SDRAM與FPGA交互的管腳數(shù)為54,大量占用了FPGA的IO口資源。
采用FPGA+單片機配置方式的硬件設(shè)計如圖6所示。與前2種配置方式相比,板卡上增加了一片單片機及相關(guān)電路,可以節(jié)省FPGA片上RAM資源,但是增加了板卡的尺寸和設(shè)計復(fù)雜度。
圖6 FPGA+單片機配置方式
相對于FPGA邏輯配置方式和FPGA+SDRAM配置方式,該種配置方式用單片機替代了FPGA片上嵌入式處理器,用Keil替代Nios II開發(fā)環(huán)境,F(xiàn)PGA只作為AD9364和單片機的電平轉(zhuǎn)換接口,不做任何信號處理。
該配置方式的軟件設(shè)計方法與前2種配置方式一致,只是在Keil開發(fā)環(huán)境中用C/C++語言編程,最終形成一個完整閉環(huán)的配置校驗過程。
從硬件設(shè)計角度分析,該種配置模式的硬件電路最為復(fù)雜,雖然單片機成本低(約15元一片),但需要給單片機提供單獨的供電、晶振、調(diào)試接口和相關(guān)電路,因此增加了板卡尺寸和附帶成本。該種方式附帶總成本仍然比一片SDRAM成本的一半要少。單片機與FPGA交互的管腳數(shù)僅為2,大大節(jié)約了FPGA的IO口資源。從軟件設(shè)計角度分析,該種配置模式不僅能實現(xiàn)AD9364的閉環(huán)配置過程,還可以跨芯片平臺、跨芯片系列使用,移植性強,但是需要研發(fā)人員熟練掌握單片機的開發(fā)。
根據(jù)上述介紹的4種配置方式,從軟件設(shè)計和硬件設(shè)計2個角度分析各自的特性。表1和表2以類別A,B,C,D分別表示FPGA邏輯配置方式、FPGA片上Nios配置方式、FPGA+SDRAM配置方式和FPGA+單片機配置方式。
AD9364四種配置方式的軟件設(shè)計特性如表1和表2所示。
表1 軟件設(shè)計特性
類別代碼可讀性校驗功能是否支持浮點運算時序要求調(diào)試編譯時長A差不支持不支持一般長B好支持支持一般短C好支持支持較高短D好支持支持一般一般
表2 軟件設(shè)計特性
AD9364的4種配置方式的硬件設(shè)計特性如表3和表4所示。
表3 硬件設(shè)計特性
表4 硬件設(shè)計特性
類別額外增加的成本是否支持跨FPGA系列是否支持跨FPGA品牌國產(chǎn)化要求A無支持支持支持B無不支持不支持不支持C最多不支持不支持不支持D較少支持支持支持
結(jié)合表1~表4,可以發(fā)現(xiàn):
① 對AD9364配置程序移植性要求高,只能采用FPGA邏輯配置方式和FPGA+單片機配置方式;
② 對板卡尺寸、復(fù)雜度和成本要求高,建議采用FPGA邏輯配置方式和FPGA片上Nios配置方式;
③ 對研發(fā)人員要求低,建議選擇FPGA邏輯配置方式;
④ 對程序可讀性、調(diào)試便捷性要求高,建議采用FPGA片上Nios配置方式、FPGA+SDRAM配置方式、FPGA+單片機配置方式。
在ADI公司提供的配置方法的基礎(chǔ)上,根據(jù)實際工程經(jīng)驗總結(jié)了射頻捷變收發(fā)器AD9364的4種配置方式并分析了常見問題,從硬件設(shè)計復(fù)雜度、硬件設(shè)計成本、軟件開發(fā)復(fù)雜度及是否滿足國產(chǎn)化要求等方面分析。FPGA邏輯配置方式成本較低但調(diào)試最為復(fù)雜,F(xiàn)PGA片上Nios配置方式成本較低但移植性差,F(xiàn)PGA+SDRAM配置方式節(jié)省FPGA片上RAM資源但開發(fā)復(fù)雜,F(xiàn)PGA+單片機配置方式移植性好但板卡尺寸最大。闡述的4種配置方式可以靈活滿足各種硬件平臺架構(gòu),從而滿足大多數(shù)軟件無線電平臺的應(yīng)用需求。