当前位置:   article > 正文

2dpsk调制解调实验matlab_ila抓取数据,matlab分析,调试AD9361信号通路

ad9361的4倍iq数率

关注、星标公众,直达精彩内容

fc297e41b8f280e9df9d9190f97804b1.png

公众号:ZYNQ

作者:watchman

AD9361功能介绍

上次我们介绍了AD9361的配置,代码,采样,脚本转换,软件使用等等,今天我们来调试并使用ila抓取实测数据,使用matlab分析其原因。

传送门:

AD9361的配置,代码,采样,脚本转换,软件使用

另外,我也整理了一份AD936x资料。

免费共享 | AD936x 相关资料吐血整理

AD9361功能简介

窄带方案采用的是一个厂商的MINITRX-Z开发平台,该平台硬件框图如下:

a87b3b044bb984b979cd39dde7a8ac78.png

该平台采用AD9361作为射频收发器,工作频率范围是70M—6G;FPGA通过SPI对AD9361进行配置。

AD9361框图如下图所示:

3f39981f0eab21aba058b0891e6946fe.png

TX信号路径

5c87a3697866dd261ca8fb40357e93e9.png

RX信号路径

c7ce196b503df55775694e653c6ee6c3.png

调试目标

  1. 打通TX到RX数据通路:在FPGA侧加入调制信号S1,经数据接口传输至AD9361变成成射频信号RF1通过ANT发出;接收端收取RF1信号变成基带信号通过数据接口传输到FPGA。

  2. 配置9361修改射频参数。

调试过程和结果

测试方法

对比法

开发板原始工程测试

测试条件

开发板原始程序设置——RX端接收信号,经过AD9361转换成基带信号传输至FPGA,FPGA侧不做任何处理,直接将信号给到TX数据接口,传回AD9361转换成射频信号经过ANT端发出。

开发板原始程序测试连线示意图如下:

d055fd6b4b1c76ed8e11691157dc9c41.png

原始程序设置接收和发射频率都为1G,接收增益为10dB,设置方法如下:

a1d881598c0dc67a04272045877f03f7.png

信号源发出频率为1G的调制信号给到开发板RX1接口,TX1连接频谱仪,在频谱仪观察结果如下:

824af032f9cf56409237937bb4b7d9d4.png

在开发板直接生成调制信号,测试TX

测试条件

不用信号源提供调制信号,在FPGA中做一个调制信号,AD9361配置与原始工程一致。

测试连线示意图:

d128728195b6c535d258034098ac9774.png

在FPGA侧生成4倍上采样的BPSK调制信号,经过时钟速率为30.72M的传输口进入AD9361,在频谱仪上观察到的波形信号带宽为7.5M左右,幅度在-15dbm

开发板自发自收测试,测试TRX环路

测试条件

AD9361设置成FDD模式,采用2.1.2用例中的调制信号由TX链路发出,RX接收TX信号解调成基带信号传输至FPGA,我们在FPGA侧抓取接收的信号仿真频谱。

测试连线示意图:

cec5e91294854a5e174fcaa6f29424bb.png

在VIVADO工具抓取的ila数据,转换成十进制数据用matlab仿真频谱如下:

9ec564b1f8a489dc091a090fce36e54e.png

可以看出,频谱带宽在7.5M左右,基本与用例中TX频谱基本能对应。由测试用例结果来看,开发板发射至接收链路基本打通。

AD9361射频参数配置方法

AD9361的配置通过AD936X Evaluation工具进行

收发频率以及接收增益设置

需要说明的是,在合佳兴提供的原始程序中,频率和接收增益被拉出来单独设置。

设置方法:打开工程目录 MiniTRX-Z_prj_2016.3_v1.2\src下的usb30_top.v文件,修改如下寄存器。原始程序设置接收和发射频率都为1G,接收增益为10dB。

9b2d39015c680d5585546293712f366f.png

事实上,原始工程中将频率和增益设置都进行简化了,下面对频率设置做简单说明。

设置收发频率步骤:

  1. 确定本振频率LO,本例中本振频率为1000M HZ;

  2. 由0x005寄存器确定TX和RX VCO分频系数,本例中0x005=11,即TX和RX VCO分频系数Divider Value=2,确定F_RFPLL=LO*2^(Divider Value+1)=8000M

    bb5761c02267381e9185fb400a3ab1cb.png
  3. 确定   F_ref  。本项目采用外部时钟40M,由0x2AB[D0]=1,0x2AC[D7]=1,确定F_ref=40*2=80M

  4. 确定频率控制字。整数由11位二进制数确定,前三位存入0x232[D2:D0],后八位存入0x231[D7:D0];小数部分由23位二进制数确定,由高位到低位,分别存入0x235[D6:D0]、0x234[D7:D0]、0x233[D7:D0]。对应关系如下:

    3504638248d3e946bfc1f4e4d5070919.png

本例中N_integer  =8000/80=100=0x64,即寄存器0x231的值为64;N_Fractional  =0。

由Evaluation生成的脚本转换成工程代码

  1. 《AD936X Evaluation使用说明》中提到生成AD9361配置脚本,后缀为.txt文件。

  2. 通过bit_convert工具将.txt转换成.v格式脚本。

    143518db38ef174a7ad231af1f551eba.png
  3. 用.v后缀脚本中的函数替换原工程中-lut.v中的函数,如下图。

    4ffc555f3346e63f9e30a4b9e14ead83.png
  4. 保存工程,在VIVADO中综合并执行。

采样率不一致问题

本工程在调试过程中,我们发射的是4倍上采样后的信号,在接收端收到的数据需要5.5倍下采样才能还原。开发板的数据链路如下:

cf9ca64ea01f5ccc73ef6092d3546586.png

确认AD9361数字滤波器,在TX端插值系数和RX端抽取系数设置是对应的。

发现采样率问题,首先怀疑数字滤波器发射端内插系数和接收端抽取系数相同。本工程数字滤波器设置如下,确认发射端和接收端数字滤波器对应。

e474056fc6b3ab844d9b5b1928649cc4.png

本工程通过寄存器0x00A=09设置DAC=0.5*ADC,寄存器说明如下:

478e241941010c1c4950695cc662fb25.png

测量FPGA和AD9361数据传输的时钟

FPGA和AD9361数据传输示意图如下:

9fceb43ded65e4fb35299beb1e10a047.png

DATA_CLK 和FB_CLK时钟频率相同,幅度不一致。

a1d157a5675be3c4bdca223c68682fed.png
DATA_CLK
3f3465593695f52bc88bd62965d44ff1.png
FB_CLK

同一工程,FPGA侧接收到I0与I1数据,I1能通过5.5倍上采样解析,I0不能通过5.5倍解析

FDD模式下,发射和接收时序图如下:

e4c92e44f5e0b1fc8ec50ee86f6a0087.png
cbaf01b3940d29783220d658edfedf99.png

I0/I1(对应T1和T2)选择由TX_FRAME决定,我们在工程中直接将i0赋值给i1,是否会有问题?

f88d4adc12e9b759b95da731656b36d8.png

I0和I1接收到的数据量不一样

下图是ila抓取的log,fp列中0/1指示FPGA接收R1(i0/q0)和R2(i1/q1)路数据,红色框部分R1多了一个数据。导致数据解析下来,R1和R2路数据量不一致。

1df571d026d0b12b115beb9fe488a047.png

Matbab读取的解析数据:

9e1a5401fbe2a9ed9e14b4ef64f3f387.png

在VIVADO工具下观察时序图,fp指示的是RX_FRAM,由时序图可以看出,fp不是严格的周期信号,i1和i0信号也不是按照例中的时序图进行传输的。

91525c13c8b323ea820f6f2961216c56.png

ila抓取TX端数据分析

测试目的

抓取进入AD9361前的数据(即TX数据)分析,可以确定采样率偏差是否由AD9361的处理导致的。

分析结果

TX端数据频谱看与RX端接收数据频谱基本一致,但是按照5.5倍或4倍采样无法解析数据。

TX端数据仿真频域波形如下:

b95c12ae614d91029fdc304139f003e5.png

TX端数据5.5倍相关解析结果如下:

4a699cece6851da72b97ba0c45f71c4c.png

TX端数据4倍相关解析结果如下:

f3e8bbaf2fd69def0e6ea67389b742c6.png
分析加入调制信号到ila抓取TX端数据链路:
05af84623bd002f36d23a47201c9bff0.png

4倍上采样原始信号经过双边沿变单沿后抓取,以4倍采样无法还原信号。

未完待续

太难了。。。原创不易,摸索更不易,如果对您有帮助,欢迎点赞,在看,转发也是对作者的支持与厚爱,感谢!

‧  END  

推荐阅读: ZYNQ 学习专辑

b087c6084a048d97d68486a47e7ef777.png

关注视频,直达精彩内容

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/900814
推荐阅读
相关标签
  

闽ICP备14008679号