ila抓取數(shù)據(jù),matlab分析,調(diào)試AD9361信號通路
掃描二維碼
隨時隨地手機看文章
AD9361功能介紹
上次我們介紹了AD9361的配置,代碼,采樣,腳本轉(zhuǎn)換,軟件使用等等,今天我們來調(diào)試并使用ila抓取實測數(shù)據(jù),使用matlab分析其原因。
傳送門:
AD9361的配置,代碼,采樣,腳本轉(zhuǎn)換,軟件使用
另外,我也整理了一份AD936x資料。
免費共享 | AD936x 相關資料吐血整理
AD9361功能簡介
窄帶方案采用的是一個廠商的MINITRX-Z開發(fā)平臺,該平臺硬件框圖如下:
該平臺采用AD9361作為射頻收發(fā)器,工作頻率范圍是70M—6G;FPGA通過SPI對AD9361進行配置。
AD9361框圖如下圖所示:
TX信號路徑
RX信號路徑
調(diào)試目標
-
打通TX到RX數(shù)據(jù)通路:在FPGA側(cè)加入調(diào)制信號S1,經(jīng)數(shù)據(jù)接口傳輸至AD9361變成成射頻信號RF1通過ANT發(fā)出;接收端收取RF1信號變成基帶信號通過數(shù)據(jù)接口傳輸?shù)紽PGA。
-
配置9361修改射頻參數(shù)。
調(diào)試過程和結(jié)果
測試方法
對比法
開發(fā)板原始工程測試
測試條件:
開發(fā)板原始程序設置——RX端接收信號,經(jīng)過AD9361轉(zhuǎn)換成基帶信號傳輸至FPGA,F(xiàn)PGA側(cè)不做任何處理,直接將信號給到TX數(shù)據(jù)接口,傳回AD9361轉(zhuǎn)換成射頻信號經(jīng)過ANT端發(fā)出。
開發(fā)板原始程序測試連線示意圖如下:
原始程序設置接收和發(fā)射頻率都為1G,接收增益為10dB,設置方法如下:
信號源發(fā)出頻率為1G的調(diào)制信號給到開發(fā)板RX1接口,TX1連接頻譜儀,在頻譜儀觀察結(jié)果如下:
在開發(fā)板直接生成調(diào)制信號,測試TX
測試條件:
不用信號源提供調(diào)制信號,在FPGA中做一個調(diào)制信號,AD9361配置與原始工程一致。
測試連線示意圖:
在FPGA側(cè)生成4倍上采樣的BPSK調(diào)制信號,經(jīng)過時鐘速率為30.72M的傳輸口進入AD9361,在頻譜儀上觀察到的波形信號帶寬為7.5M左右,幅度在-15dbm
開發(fā)板自發(fā)自收測試,測試TRX環(huán)路
測試條件:
AD9361設置成FDD模式,采用2.1.2用例中的調(diào)制信號由TX鏈路發(fā)出,RX接收TX信號解調(diào)成基帶信號傳輸至FPGA,我們在FPGA側(cè)抓取接收的信號仿真頻譜。
測試連線示意圖:
在VIVADO工具抓取的ila數(shù)據(jù),轉(zhuǎn)換成十進制數(shù)據(jù)用matlab仿真頻譜如下:
可以看出,頻譜帶寬在7.5M左右,基本與用例中TX頻譜基本能對應。由測試用例結(jié)果來看,開發(fā)板發(fā)射至接收鏈路基本打通。
AD9361射頻參數(shù)配置方法
AD9361的配置通過AD936X Evaluation工具進行
收發(fā)頻率以及接收增益設置
需要說明的是,在合佳興提供的原始程序中,頻率和接收增益被拉出來單獨設置。
設置方法:打開工程目錄 MiniTRX-Z_prj_2016.3_v1.2\src下的usb30_top.v文件,修改如下寄存器。原始程序設置接收和發(fā)射頻率都為1G,接收增益為10dB。
事實上,原始工程中將頻率和增益設置都進行簡化了,下面對頻率設置做簡單說明。
設置收發(fā)頻率步驟:
-
確定本振頻率LO,本例中本振頻率為1000M HZ;
-
由0x005寄存器確定TX和RX VCO分頻系數(shù),本例中0x005=11,即TX和RX VCO分頻系數(shù)Divider Value=2,確定F_RFPLL=LO*2^(Divider Value+1)=8000M
-
確定 F_ref 。本項目采用外部時鐘40M,由0x2AB[D0]=1,0x2AC[D7]=1,確定F_ref=40*2=80M
-
確定頻率控制字。整數(shù)由11位二進制數(shù)確定,前三位存入0x232[D2:D0],后八位存入0x231[D7:D0];小數(shù)部分由23位二進制數(shù)確定,由高位到低位,分別存入0x235[D6:D0]、0x234[D7:D0]、0x233[D7:D0]。對應關系如下:
本例中N_integer =8000/80=100=0x64,即寄存器0x231的值為64;N_Fractional =0。
由Evaluation生成的腳本轉(zhuǎn)換成工程代碼
-
《AD936X Evaluation使用說明》中提到生成AD9361配置腳本,后綴為.txt文件。
-
通過bit_convert工具將.txt轉(zhuǎn)換成.v格式腳本。
-
用.v后綴腳本中的函數(shù)替換原工程中-lut.v中的函數(shù),如下圖。
-
保存工程,在VIVADO中綜合并執(zhí)行。
采樣率不一致問題
本工程在調(diào)試過程中,我們發(fā)射的是4倍上采樣后的信號,在接收端收到的數(shù)據(jù)需要5.5倍下采樣才能還原。開發(fā)板的數(shù)據(jù)鏈路如下:
確認AD9361數(shù)字濾波器,在TX端插值系數(shù)和RX端抽取系數(shù)設置是對應的。
發(fā)現(xiàn)采樣率問題,首先懷疑數(shù)字濾波器發(fā)射端內(nèi)插系數(shù)和接收端抽取系數(shù)相同。本工程數(shù)字濾波器設置如下,確認發(fā)射端和接收端數(shù)字濾波器對應。
本工程通過寄存器0x00A=09設置DAC=0.5*ADC,寄存器說明如下:
測量FPGA和AD9361數(shù)據(jù)傳輸?shù)臅r鐘
FPGA和AD9361數(shù)據(jù)傳輸示意圖如下:
DATA_CLK 和FB_CLK時鐘頻率相同,幅度不一致。
DATA_CLK
FB_CLK
同一工程,F(xiàn)PGA側(cè)接收到I0與I1數(shù)據(jù),I1能通過5.5倍上采樣解析,I0不能通過5.5倍解析
FDD模式下,發(fā)射和接收時序圖如下:

I0/I1(對應T1和T2)選擇由TX_FRAME決定,我們在工程中直接將i0賦值給i1,是否會有問題?
I0和I1接收到的數(shù)據(jù)量不一樣
下圖是ila抓取的log,fp列中0/1指示FPGA接收R1(i0/q0)和R2(i1/q1)路數(shù)據(jù),紅色框部分R1多了一個數(shù)據(jù)。導致數(shù)據(jù)解析下來,R1和R2路數(shù)據(jù)量不一致。
Matbab讀取的解析數(shù)據(jù):
在VIVADO工具下觀察時序圖,fp指示的是RX_FRAM,由時序圖可以看出,fp不是嚴格的周期信號,i1和i0信號也不是按照例中的時序圖進行傳輸?shù)摹?
ila抓取TX端數(shù)據(jù)分析
測試目的:
抓取進入AD9361前的數(shù)據(jù)(即TX數(shù)據(jù))分析,可以確定采樣率偏差是否由AD9361的處理導致的。
分析結(jié)果:
TX端數(shù)據(jù)頻譜看與RX端接收數(shù)據(jù)頻譜基本一致,但是按照5.5倍或4倍采樣無法解析數(shù)據(jù)。
TX端數(shù)據(jù)仿真頻域波形如下:
TX端數(shù)據(jù)5.5倍相關解析結(jié)果如下:
TX端數(shù)據(jù)4倍相關解析結(jié)果如下:
分析加入調(diào)制信號到ila抓取TX端數(shù)據(jù)鏈路:
4倍上采樣原始信號經(jīng)過雙邊沿變單沿后抓取,以4倍采樣無法還原信號。





