宋哲,曹暘等 發表於 2021-01-06 16:46:33
摘要: 針對當前無人機數據鏈日趨小型化,採用射頻收發一體化設計,基於FPGA 對零中頻射頻收發器AD9361 進行配置,實現機載視頻和遙控遙測的無線傳輸。測試結果表明,該設計可以實現無人機與地面站之間數據的可靠傳輸,同時滿足小型無人機對數據鏈體積、重量、功耗和低成本的要求。
無人機數據鏈是實現無人機與地面站之間雙向傳輸信息的無線通信系統,主要完成機載視頻的實時下傳、載荷控制及狀態回報和遙控遙測信息的分發
[1]。其中射頻收發系統是無線傳輸的重要組成部分,針對小型無人機數據鏈體積小、重量輕、功耗低等特點,一般的集成式寬帶收發器解決方案在性能、可調帶寬方面受限,缺乏實現實用性; 而分立式軟體定義無線電( SDR) 的設計成本高昂,缺乏有效的硬體和RF 信號鏈設計技術,從而導致開發周期過長,因此,需要一款高度集成式軟體定義RF 收發器
[2]。集成式RF 收發器AD9361 的優勢在於為多種無線電方案提供統一的可再編程軟體無線電平臺,具備出色的靈活性和可配置性以及支持現場升級
[3]。 姜浩等人提出採用PC + FPGA 配置AD9361 的方法,PC 機通過PCIe 接口將配置指令發送到FPGA,FPGA 通過SPI 接口發送配置指令到AD9361
[4]。Jorge Santos 等人提出採用FPGA + MicroBlaze的方案配置AD9361,並在Xilinx KC705 開發板上進行了實現和驗證
[5]。方良提出利用FPGA+ ARM 的方式實現AD9361 的配置,基於Zedboard和AD9361子板建立軟體無線電平臺進行雙向視頻的傳輸
[6]。本文提出一種FPGA 獨立實現AD9361配置的方案,該方案滿足小型數據鏈對於功耗、體積和成本的嚴苛要求,同時不受FPGA 型號的限制,可方便移植於不同的FPGA 平臺。 1 整體系統方案
無人機機載數據鏈設備的系統架構如圖1 所示。
首先,FPGA 通過EMIF 接收DSP 的高清壓縮視頻、通過UART 接收飛控計算機的遙測數據,壓縮後的視頻數據和遙測數據在FPGA 組幀編碼調製後通過LVDS 發送到AD9361,AD9361 對數據進行上變頻後經由天線發射出去; 同時,AD9361 對天線接收到的信號進行下變頻後,通過LVDS 將地面的遙控數據發送到FPGA,數據在FPGA 中經過解調解碼解幀後通過UART 發送到飛控計算機中。其中,AD9361 的配置是FPGA 通過SPI 讀寫寄存器完成的。
圖1 無人機機載數據鏈設備的系統架構圖
2 AD9361 配置流程AD9361 有0 - 0x3FF 共1 024 個寄存器,有些寄存器不需要配置,保持上電默認值即可,而有些寄存器需要進行多次寫入,比如fir 濾波器、增益表等[7 - 8]。圖2 給出了AD9361 配置的狀態轉移圖。
圖2 AD9361 配置狀態轉移圖
BB - PLL: BB - PLL ( Base Band PLL,基帶鎖相環) 狀態是AD9361 初始化配置的起始狀態,該狀態設置了晶振的輸入類型、參考時鐘頻率、AD9361內部基帶鎖相環頻率和環路濾波器參數、單雙通道選擇等。SPI 讀0x5E 寄存器最高位為1 則說明基帶鎖相環成功鎖定。
Charge Pump: Charge Pump ( 電荷泵) 狀態是對AD9361 內部電荷泵的電流進行設置並校準,接收電荷泵設置0x23D 寄存器,發射電荷泵設置0x27D 寄存器。 RF - PLL: RF - PLL ( Radio Frequency PLL,射頻鎖相環) 狀態對AD9361 的發射和接收頻率進行設置,包括射頻鎖相環的頻率、壓控振蕩器參數、環路濾波器參數、混頻器增益表等。
其中,壓控振蕩器和環路濾波器的參數分別寫入到FPGA 的rom ip 核中,通過查找表的方式進行調用。射頻鎖相環的頻率範圍是6 ~ 12 GHz,發射和接收頻率範圍是從70~ 6 000 MHz,發射頻率和接收頻率是獨立的,即使精度設為1 MHz,如果將整個頻率範圍都存入rom ip核,至少需要存11 000 多組數據,無論是工作量還是存儲空間都是巨大的,因此為了優化設計,發射頻率和接收頻率的設置通過式1 ~ 式3 來實現。
以發射頻率為例,式1:FLO為AD9361 的發射頻率,FRFPLL為發射鎖相環頻率,VCO_Divider 是鎖相環分頻,根據表1 選擇相應VCO_Divider 的值,例如AD9361 的發射頻率FLO設置為4 635 MHz,則對應的VCO_Divider 為0,然後根據式1 得到發射鎖相環的頻率FRFPLL為9 270 MHz。
由於在BB - PLL 狀態中已經將FREF參考時鐘設置為40MHz,那麼通過式2就可以得到發射頻率的整數部分NInteger = 0xE7 並寫入到AD9361 的0x271 和0x272 寄存器中,通過公式3 得到發射頻率的小數部分NFractional = 0x5F_FFF5並寫入0x273 - 0x275 寄存器中。 設置接收頻率的公式和發射頻率相同,不同的是接收頻率的整數部分NInteger要寫入AD9361 的0x231 和0x232 寄存器,NFractional寫入0x233 - 0x235 寄存器。
表1 發射頻率FLO與鎖相環分頻VCO_Divider 的對應關係
RX Gain: RX Gain( 接收增益) 狀態包括對LNA( 低噪聲放大器) 、TIA( 跨阻放大器) 、LPF( 低通濾波器) 、接收增益表、增益控制方式等進行配置。接收增益表分為整體表和分立表,整體表配置簡單,分立表配置複雜但是抗幹擾能力更強。不同的頻率範圍又對應著不同的增益表,接收頻率為70 ~ 1 550MHz、1 551 ~ 3 650 MHz、3 651 ~ 6 000 MHz 時需要設置不同增益表來調整輸入信號的增益。
增益控制方式分為自動增益控制( AGC) 和手動增益控制( MGC) ,自動增益控制又分為快速增益和慢速增益,通常情況下,時分雙工模式( TDD) 採用快速自動增益,而頻分雙工模式( FDD) 採用慢速自動增益。
Filter: Filter( 濾波器) 狀態是對AD9361 內部的數字和模擬濾波器進行配置,發射和接收端各有4個數字濾波器和2 個模擬濾波器,圖3 給出了發射端濾波器的通路,經過編碼後的IQ 兩路數據先後經過FIR 濾波器和HB1、HB2、HB3 等3 個半帶濾波器插值後送入DAC 進行數模轉換,接下來用一個3 階巴特沃斯低通濾波器BB LPF 和一個單極低通濾波器2ND LPF 來減小模擬信號的帶外雜散。
圖4 給出了接收端濾波器的通路,天線接到的模擬信號經過一個單極低通濾波器TIA LPF 和一個3 階巴特沃斯低通濾波器BB LPF 後進入到ADC 中進行模數轉換,然後經過HB1、HB2、HB3 等3 個半帶濾波器和FIR 濾波器輸出IQ 兩路數據到後面的數位訊號處理模塊。
圖3 AD9361 發射信號濾波器通道
圖4 AD9361 接收信號濾波器通道
Calibration: Calibration( 校準) 狀態包括基帶直流偏置校準、射頻直流偏置校準、發射正交校準、接收正交校準跟蹤、基帶和射頻直流跟蹤校準。校準的目的是通過對直流偏置、增益、相位誤差等進行改善來提高系統的性能,各個校準所需要的時間跟發射和接收頻率成反比,頻率越高,校準時間越短。
ATTEN&RSSI: ATTEN( Attenuation,衰減控制)和RSSI( Receive Signal Strength Indicator,接收信號強度指示) 狀態包括發射信號的衰減值和接收信號強度的指示。衰減值可設置的範圍是0 ~ 89. 75dBm,精度是0. 25 dBm,RSSI 顯示與實際信號大小成反比,信號越強,RSSI 值越小。
FDD/TDD: FDD( Frequency Division Duplex,頻分雙工) 或TDD( Time Division Duplex,時分雙工) 狀態通過配置0x13 - 0x15 寄存器切換AD9361 內部的ENSM 狀態機來實現FDD 或者TDD,AD9361 正常工作時的一直保持該狀態。
當FPGA 接收到切換頻率( FRQ change) 指令時,狀態機從FDD/TDD 狀態跳轉到RF - PLL 狀態,改變發射或接收頻率後再跳轉到FDD/TDD 狀態正常工作; 當FPGA 接收到切換帶寬( BW change) 指令時,狀態機從FDD/TDD 狀態跳轉到Filter 狀態,改變濾波器帶寬後再跳轉到FDD/TDD 狀態正常工作;當FPGA 接收到切換衰減( ATTEN change) 指令時,狀態機從FDD/TDD 狀態跳轉到ATTEN&RSSI 狀態,改變衰減值後跳轉到FDD/TDD 狀態正常工作。
3 系統測試
3.1 單音測試
基於Artix7 - 100T FPGA 配置AD9361 發射和接收頻率1. 7 GHz,發射和接收帶寬1 MHz,發射衰減10 dBm,雙工模式為FDD,單發單收。FPGA 內部生成一個DDS ip 核,DDS 產生720KHz 的正弦波和餘弦波作為AD9361 的I 路和Q 路發射數據,圖5 給出了單音頻譜,可以看出頻譜從1. 7 GHz 向上搬移了720 KHz,輸出功率為- 5. 57dBm。圖6 是ChipScope採集到AD9361 實時接收的數據,正確的還原出了發射的IQ 兩路信號。
圖5 AD9361 單音頻譜 3.2 寬帶測試
基於Kintex7 - 325T FPGA 配置AD9361 發射和接收頻率5 GHz,發射和接收帶寬48MHz,發射衰減25 dBm,雙工模式為FDD,單發雙收。FPGA內部產生一個32Mbps 業務速率的QPSK 信號,符號速率55Mbps,經過成型濾波後送入AD9361 的IQ 兩路,圖7給出了QPSK 調製信號的發射頻譜,中心頻率為5GHz,通道功率為- 22. 4 dBm。圖8 給出了AD9361接收到信號後經過QPSK 解調的星座圖,能夠看出信號解調正常,可以進行後續的解碼解幀等工作。
圖6 ChipScope 採集AD9361 的IQ 兩路數據
圖7 QPSK 調製信號的發射頻譜
圖8 QPSK 解調後星座圖 3.3 資源佔用
分別用ADI 官方提供的FPGA + ARM 方式和本文FPGA 的方式配置AD9361,表2 給出了在Zedboard開發板上布線後的資源佔用情況,通過對比可以看出,本文採用的FPGA 獨立配置AD9361 方式比FPGA + ARM 方式在資源上節省了60%以上。
表2 不同方式配置AD9361 佔用FPGA 資源情況 結論本文詳細的介紹了基於FPGA 獨立實現AD9361 射頻收發器的配置方法和步驟,該方法比ADI 官方提供的FPGA + ARM 或FPGA + MicroBlaze等解決方案更加通用,會大幅降低FPGA 的資源佔用率。
本文分別在Xilinx 平臺Artix - 7、Kintex - 7、Zynq - 7000 等三種不同型號FPGA 上實現了AD9361 的配置,說明該方法方便移植於任意型號FPGA,甚至可以通過生成網表文件跨平臺使用。此外由於不需要DDR3 作為緩存,可以節約硬體電路板卡的面積、整體功耗和成本。本方案可實現機載數據鏈的小型化和低成本,滿足在軍品和民品領域無線視頻傳輸和遙控遙測的需求。
責任編輯:xj
原文標題:FPGA+AD9361 SDR實現機載視頻無線傳輸
文章出處:【微信公眾號:FPGA入門到精通】歡迎添加關注!文章轉載請註明出處。
打開APP閱讀更多精彩內容
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴