靈活構建複雜的RF場景——ADI ADALM-PLUTO SDR主動學習模塊
SDR即軟體定義的無線電(Software Defined Radio),簡單來說,SDR設備能將接收到的信號進行數字化處理,通過軟體的可重配置再將信號按照不同的通信協議需求發送出去,這樣,通過軟體修改我們就能產生或接收不同頻率與協議的無線電信號,無論收音機的AM、FM,還是Wi-Fi、藍牙,甚至3G、4G,還有將來的5G等都能用SDR設備進行收發調試,這種方式也打破了有史以來設備通信功能的實現僅僅依賴於硬體發展的格局,意義深遠。
面對日益增多的無線標準,在設計複雜型RF產品時所需考慮的因素也愈來愈多。為兼容各種無線標準,無論是方案選型、器件選購,還是電路設計布局等都對開發者提出了更加嚴峻的考驗。
這時,你是否迫切需要一種具備靈活可配置、支持「無限」升級的可編程RF平台?這樣,你就無需針對不同的無線標準構建不同的硬體平台,只需單一一種方案,或者一款晶元,通過簡單的軟體修改,即可滿足不同的市場需求,省時又省力。
說到這,可能大多數有經驗的工程師都想到了SDR。SDR並不是一個新概念,相反,它很早就出現,但是,通常人們對SDR還停留在錯誤觀念,比如「SDR是以犧牲性能和特性為代價,換取靈活性的」,真的是這樣的嗎?相信看完本文可以改變你的看法。
今天,我們就來了解一款不同尋常的SDR產品——ADI ADALM-PLUTO SDR主動學習模塊(下文都簡稱PlutoSDR),這款產品的火爆程度直接導致了前段時間一直處於有市無價的狀態。
開箱&外觀
相比市面上動輒幾萬的SDR設備,PlutoSDR的價格明顯要親民多,整個套件官方售價只要149美金,但是筆者也在第三方的平台看到了99美金的價格,有點詫異,要知道,模塊本身板載的RF捷變收發器單顆晶元的報價就要80美金左右(和目前高通最新旗艦SoC驍龍845的價格差不多了),99美金賣的完全是「交個朋友」的價格嘛,超高性價比的實驗平台。
從打開的包裝盒來看,PlutoSDR套件自帶的配件不多(相信使用的時候也會非常簡單),包括:
ADI PlutoSDR 主動學習模塊
兩根天線(如下圖,已經安裝在PlutoSDR上了,824 MHz~894MHz/1710 MHz~2170 MHz)
一根 15cm SMA線
一根 MicroUSB線
從ADI官方的介紹來看,千萬別被PlutoSDR小巧精緻的外觀欺騙了,它實質是一個非常強悍的SDR RF方案,總體硬體方案採用了ADI的高集成RF捷變收發器AD9363+Xilinx Zynq Z-7010 SoC,支持:
RF頻率範圍:325 MHz至3.8 GHz
瞬時帶寬最高達20 MHz
靈活速率、12位ADC和DAC
一個發射器和一個接收器,半雙工或全雙工
支持MATLAB、Simulink
GNU無線電吸電流和源電流模塊
libiio、C、C++、C#和Python API
USB 2.0供電介面,帶有Micro-USB 2.0連接器
具體的一些參數可以參考下表:
來看下PlutoSDR的一些細節,開發板用深藍色的高質量塑料外殼包裹,兩邊還帶防滑膠,手感出眾,殼體只留出了天線以及MicroUSB電源、MicroUSB 2.0通信/供電介面、「設備」按鍵孔(用於實現手動進入DFU模式)。
如下圖所示,值得一提的是,MicroUSB 2.0介面(下圖左邊)除了供電外還支持眾多豐富的功能:
大容量存儲(用於輕鬆更新固件)
串列(用於與 PlutoSDR 上的 Linux 內核 / 用戶空間交互)
聯網 /RNDIS(用於載入和控制自定義 ARM應用)
Libiio(大容量 USB,用於 SDR 數據傳輸和控制)
設備固件升級(用於備份固件升級)
通過更新固件的方式,此MicroUSB介面甚至還可以支持USB OTG功能,可以連接USB WiFi,USB有線網路、USB音頻等設備,當然,這時供電需要通過(下圖右邊)MicroUSB電源介面供電。
PlutoSDR具備獨立的接收和發射通道,可在全雙工模式下工作,可以實現在325MHz~3800MHz寬頻率範圍內以最高每秒61.44MSPS 產生或捕獲RF模擬信號。PlutoSDR自帶的天線為824 MHz 至 ~894MHz/1710 MHz 至 ~2170 MHz,所以要實現其它頻段的RF接收發送還需要配不同的天線。
拆 解 部 分
以上只是PlutoSDR外部的一些介面情況,接下來我們拆開看看內部又是如何的?
拆掉外殼給人第一眼的感覺就是「空曠」,除了一些IC器件外,板載的其它被動元器件很少,尤其在RF這塊區域,這種情況更明顯,由此不難看出板子搭載的這顆AD9363 RF捷變收發器集成度之高。
另外,可能是因為採用了10層板的緣故,整個板子PCB走線看起來似乎很簡單,可能會讓有些硬體工程師躍躍欲試自己DIY一款SDR設備。
PlutoSDR整個PCB上的器件布局如下圖所示,涇渭分明的器件布局,很容易理解。
背面沒什麼IC器件,只有一些被動電子元件。
ADI AD9363 RF捷變收發器
再來看下板子上主要的一些晶元,ADI AD9363 RF捷變收發器。從下圖實際的PCB電路上也能明顯看到AD9363外圍基本沒什麼其它器件,只需注意一些射頻布線以及電源供給,硬體設計可以說是相當的簡單。
AD9363是一款高度集成的單晶元RF解決方案,要了解清楚這款晶元,可以通過以下的一個整體硬體系統框圖來了解。
在AD9363的接收端,包括一個LNA、Mixer(混頻器)、Filter(可配置的模擬濾波器)、ADC、Filter(數字濾波器)以及產生一個12bit信號的FIR,同時接收鏈路上還有自動增益控制或者人工增益控制、直流失調校正、正交校正,最終接收到的I和Q信號會傳輸到數字基帶處理器,也就是板子上的Zynq FPGA;
了解了接收端,發射端相對就容易理解了,相當於反過來。在AD9363的發射端同樣使用了一個直接轉換的架構,從基帶處理器(Zynq FPGA)出來的I和Q信號首先通過FIR、然後通過數字濾波器、DAC、模擬濾波器、混頻器,最後通過PA傳輸到天線上去。
當然,看到實際RF電路設計如此簡單就差不多能猜到,AD9363集成了完整的PLL,為發射鏈路和接收鏈路提供時鐘和本地振蕩器,同樣也為ADC、DAC、採樣提供時鐘。
AD9363 RF捷變收發器主要針對各種低功耗無線應用而設計,比如毫微微蜂窩、DAS、無線視頻傳輸等,其主要特點如下:
集成12位DAC和ADC的射頻(RF) 2 × 2收發器
寬頻寬:325 MHz至3.8 GHz
支持時分雙工(TDD)和頻分雙工(FDD)工作模式
可調諧通道帶寬(BW):最高20 MHz
接收器:6路差分或12路單端輸入
出色的接收器靈敏度,雜訊係數為3 dB
接收(Rx)增益控制:實時監控和控制信號用於手動增益;獨立的自動增益控制(AGC)
雙發射器:4路差分輸出
高線性度寬頻發射器:發射(Tx)誤差矢量幅度(EVM):-34 dB;Tx雜訊:≤?157 dBm/Hz本底雜訊;Tx監控器:66 dB動態範圍,精度=1 dB
集成式小數N分頻頻率合成器
2.4 Hz本振(LO)步長
CMOS/LVDS數字介面
SDR無線設備通常由一個可配置的射頻前端和一個用於實現數字功能的現場可編程門陣列 (FPGA) 或可編程片上系統 (SoC) 組合而成,PlutoSDR自然也不例外。在上文我們已經知曉,PlutoSDR選用了Xilinx Zynq XC7Z010作為數字基帶處理器,Xilinx Zynq XC7Z010事實上已經不能簡單的理解為FPGA,稱之為SoC更恰當,它包含了一個ARM Cortex-A9處理器以及一個硬體可編程的FPGA,通過集成CPU,DSP,ASSP以及混合信號功能單元可以輕鬆實現硬體加速。
FPGA與外部通信是通過SMSC USB3320C的USB收發器實現的, USB3320C與FPGA通過ULPI介面通信,可以實現諸多上文介紹的功能,如大容量存儲、固件更新、串列通信等。
靠近兩個MicroUSB介面旁的則是ADI自家的功率器件ADP2114A 穩壓降壓器,為整個RF系統提供穩定的電壓。
下圖中,AD9363RF捷變收發器下方的U1,U7為ADI的LDO ADP1755,為RF收發器提供1.3V供電。
所以綜合來看,ADI PlutoSDR的整個硬體框圖如下所示:
上 電 使 用
了解PlutoSDR的基本參數以及硬體結構後,我們實際上電瞧瞧,看看PlutoSDR到底該怎麼用?可以實現哪些功能或者實現什麼樣的測試評估?
就地取材最為方便,可以通過PlutoSDR本身自帶的配件進行一些測試,套件附帶的SMA線可以實現有線的接收端和發射端互聯,實現類似頻率發射和採集,自帶的天線也可以實現無線的發射和採集,MicroUSB線即可實現供電,又能實現固件更新等功能。
前面我們已經介紹過PlutoSDR的MicroUSB 2.0介面功能眾多,確實,上電後發現所需要安裝的驅動也很多,唯一一個不需要安裝驅動就能使用的功能就屬大容量存儲了,它可以支持更新固件,非常好用方便。
其它的驅動也好在ADI官方都打包在一個安裝包下。
安裝完驅動,就可以正式開用了,串口不用多介紹,其中PlutoSDR IIO USBD則是使用ADI的IIO示波器軟體所需要用到的通信介面。
另外,PlutoSDR還有一個DFU模式,這個模式下可以更新固件。上面都說通過大容量存儲更新固件比較方便,那為何還要進入DFU模式更新固件?很簡單,萬一PlutoSDR內部固件不小心玩壞了,都無法顯示大容量存儲或者通過大容量存儲無法更新固件,那隻能靠進入DFU模式更新了,很有必要的功能。
筆者初始拿到的PlutoSDR的固件版本為V0.26,通過大容量存儲U盤模式下的config頁面可以看到最新的固件版本V0.27,所以正好測試了下通過大容量存儲方式對固件的版本進行更新。
如下圖所示,更新的固件為pluto.frm,另一個pluto.dfu則為通過DFU更新的固件文件。
文件大小8.8MB左右,更新的時間沒有官方描述的4分鐘左右,差不多3分鐘時間就好了,畢竟內部編程交互還是受制於通信介面的。更新過程中LED1會快速閃爍,更新完會恢復原樣。
GIF
IIO Oscilloscope
在連接上,IIO Oscilloscope支持USB模式和網路連接模式(通過IP),但其實使用後才發現這個軟體並不是專為PlutoSDR準備的,從軟體的設置上來看,是針對ADI AD9361/AD9364使用的,AD9363算是借用了這個軟體平台。
比如設置接收1800MHz的頻率
實際接收到的1800MHz的FFT 頻域顯示,底噪偏高,毛刺有點多。
另外,有一個特別有意思的事,使用這個軟體在設置超過3.8GHz的頻率是無法實現的,這也符合PlutoSDR這個產品的RF參數,不過我們通過串口將環境設定為AD9364(方法如下),可以實現接受6GHz的頻率,不知道是個bug還是本身AD9363的性能就能達到,只不過被限制了。
在串口列印的界面輸入以下設定:
#fw_setenv attr_name compatible
#fw_setenv attr_val "ad9364"
#pluto_reboot reset
之後重啟PlutoSDR重新查看設備,能明顯看到已經被設置成AD9364,這才是這個套件開啟牛逼之路的點睛之筆。
附上一張AD9363與AD9364的對比圖,你就能明白這種「破解」意味著什麼。
MATLAB&Simulink
PlutoSDR支持的開發工具非常豐富,比如開源軟體gqrx/GNURadio,MATLAB,Simulink等,接下來主要來看下PlutoSDR與MATLAB&Simulink這兩個主流的工具之間的使用。
要讓PlutoSDR順利在MATLAB平台上使用,需要安裝必要的支持包adalmplutoradio.mlpkginstall
不過在硬體連接這步非常的坑,筆者原本已經將PlutoSDR的固件更新到最新的V0.27版本,結果提供的支持包只能推薦使用V0.26固件,無奈又更新了回去。
官方也提供了4個基於MATLAB&Simulink的常式應用。
不過筆者測試下來,目前只有Spectral Analysis with ADALM-PLUTO與FM Receiver Using ADALM-PLUTO可以無門檻的使用,其它兩個,Airplane Tracking Using ADSB Signals需要Mapping Toolbox支持,Transmitting and Receiving Images Using ADALM-PLUTO需要WLAN System Toolbox支持,需要申請試用或者購買。
FM Receiver Using ADALM-PLUTO常式
Spectral Analysis with ADALM-PLUTO常式主要是在基帶上執行基於FFT的頻譜分析,並提供接收器無雜散動態範圍的視圖以及接收信號的SNR質量,如下圖所示。
PlutoSDR可折騰的內容實在太多了,比如可以使用shell scripts、C&C++、Python構建自己的應用,可以使用Wifi Dongles、Wired Ethernet Dongles等來擴展PlutoSDR,甚至我們還可以結合樹莓派、BeagleBone、ARM認證的96Boards等平台配合PlutoSDR開發,本文不過是PlutoSDR全部功能的冰山一角,如有有興趣的朋友不放前往ADI官方購買,目前學術的價格僅售99美金,具有超高的性價比。
小 結
本文介紹了ADI推出的ADALM-PLUTO 主動學習模塊 (PlutoSDR),包括硬體組成、配套的軟體、資料、開發環境,PlutoSDR依託於清晰簡明的上手教程,很容易上手使用,有助於向電氣工程及通信相關專業學生介紹軟體定義無線電 (SDR)、射頻 (RF)和無線通信的基礎知識,當然,對於SDR感興趣的工程師,極客也可以通過PlutoSDR實現更多創新的設計。
面對愈加複雜多變的RF系統,PlutoSDR結合了AD9363+Xilinx Zynq Z-7010 SoC,提供可重複使用且適應未來發展的無線電開發測試平台,包括軟體可配置性和控制、優化的系統性能、更小的系統尺寸以及最小化設計風險和上市時間,PlutoSDR作為ADI新一代高性價比、高度集成式SDR原型製作和開發平台是非常值得入手。
閱讀推薦
※威剛發布XPG SX950 SATA SSD新品 主打遊戲市場
※一樣的功能,1/3的價格——匯聚「中國元素」的WIFI智能球泡燈評測拆解
TAG:愛板網 |