电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
重磅首发 | 关于AD9361的配置与测试,万能测试模板
分 享
扫描二维码分享
重磅首发 | 关于AD9361的配置与测试,万能测试模板
AD9361
单元测试
电子设计
李肖遥
关注
发布时间: 2020-08-20
丨
阅读: 3986
## 本文目录 - 1.调试目标 - 2.调试过程和结果 - 2.1. 测试方法 - 2.1.1 开发板原始工程测试 - 2.1.2 在开发板直接生成调制信号,测试TX - 2.1.3 开发板自发自收测试,测试TRX环路 - 2.2 AD9361射频参数配置方法 - 2.2.1 收发频率以及接收增益设置 - 2.2.2 由Evaluation生成的脚本转换成工程代码 - 3.总结 # 调试目标 打通TX到RX数据通路:在FPGA侧加入调制信号S1,经数据接口传输至AD9361变成成射频信号RF1通过ANT发出;接收端收取RF1信号变成基带信号通过数据接口传输到FPGA。 # 调试过程和结果 ## 测试方法 ### 开发板原始工程测试 **测试条件:** 开发板原始程序设置——RX端接收信号,经过AD9361转换成基带信号传输至FPGA,FPGA侧不做任何处理,直接将信号给到TX数据接口,传回AD9361转换成射频信号经过ANT端发出。 开发板原始程序测试连线示意图如下: ![](https://cf05.ickimg.com/bbsimages/202008/74d7b65be74e111ab3991bbbbd013ed7.png) 原始程序设置接收和发射频率都为1G,接收增益为10dB,设置方法如下: ![](https://cf05.ickimg.com/bbsimages/202008/8cc2624cf69d87cc6a7258dc44b5d959.png) 信号源发出频率为1G的调制信号给到开发板RX1接口,TX1连接频谱仪,在频谱仪观察结果如下: ![](https://cf05.ickimg.com/bbsimages/202008/9059cd6b4a417aff906abd632c5bb689.png) ### 在开发板直接生成调制信号,测试TX 测试条件:不用信号源提供调制信号,在FPGA中做一个调制信号,AD9361配置与原始工程一致。 **测试连线示意图:** ![](https://cf05.ickimg.com/bbsimages/202008/c79f9574b92b8984776a17a26138fbc3.png) 在FPGA侧生成4倍上采样的BPSK调制信号,经过时钟速率为30.72M的传输口进入AD9361,在频谱仪上观察到的波形如下: ![](https://cf05.ickimg.com/bbsimages/202008/880056f9f07ffbeeea14457a76a07b03.png) 观察到信号带宽为7.5M左右,幅度在-15dbm ### 开发板自发自收测试,测试TRX环路 测试条件:AD9361设置成FDD模式,采用2.1.2用例中的调制信号由TX链路发出,RX接收TX信号解调成基带信号传输至FPGA,我们在FPGA侧抓取接收的信号仿真频谱。 测试连线示意图: ![](https://cf05.ickimg.com/bbsimages/202008/6e3878bd3f6f2847024c6a15709c0ac4.png) 在VIVADO工具抓取的ila数据,转换成十进制数据如下: ``` -4 -6 -4 -3 -3 -4 -7 -5 -4 -3 -2 -3 -4 -6 -4 -3 -1 5 3 0 -4 -5 ``` 可以看出,频谱带宽在7.5M左右,基本与2.1.2用例中TX频谱基本能对应。 由测试用例2.1.1、2.1.2、2.1.3结果来看,开发板发射至接收链路基本打通。 ## AD9361射频参数配置方法 AD9361的配置通过AD936X Evaluation工具进行,工具使用方法见下附件: ![](https://cf05.ickimg.com/bbsimages/202008/f7ee217d8a4ebcdb735c38800a43c742.png) ### 收发频率以及接收增益设置 需要说明的是,在合佳兴提供的原始程序中,频率和接收增益被拉出来单独设置。 设置方法:打开工程目录 MiniTRX-Z_prj_2016.3_v1.2\src下的usb30_top.v文件,修改如下寄存器。原始程序设置接收和发射频率都为1G,接收增益为10dB。 ![](https://cf05.ickimg.com/bbsimages/202008/90107544b57037afcb19f916b921671a.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` ![](https://cf05.ickimg.com/bbsimages/202008/c22fb34e37626935b7743fab7b7b6245.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]`。对应关系如下: ![](https://cf05.ickimg.com/bbsimages/202008/5887aabbcb7263d7da97ab134b9420f6.png) 本例中N_integer =8000/80=100=0x64,即寄存器0x231的值为64; N_Fractional =0。 ### 由Evaluation生成的脚本转换成工程代码 1、《AD936X Evaluation使用说明》中提到生成AD9361配置脚本,后缀为.txt文件。 2、通过bit_convert工具将.txt转换成.v格式脚本。 ![](https://cf05.ickimg.com/bbsimages/202008/53274c9940dd7fc18db6e478726d7f9a.png) 3、用.v后缀脚本中的函数替换原工程中-lut.v中的函数,如下图。 ![](https://cf05.ickimg.com/bbsimages/202008/7a514eecf0825c4ad25f19941cbc7650.png) 4、保存工程,在VIVADO中综合并执行。采样率 # 总结 本文详解解读了AD9361的配置,工程代码,采样,脚本转换,软件使用等等,帮助读者能够快速了解AD9361,在实际项目组了解,也提供了测试方法与测试技能,不可多得的学习好方法好实践,提升我们的动手能力
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
1
)
李肖遥
关注
评论
(4)
登录后可评论,请
登录
或
注册
bc9e24cb744f786e
206
天前...
博主你好,我最近也在调9361,博主能分享一下bit_convert工具吗,万分感谢!
0
回复
发布
电子芯吧客
回复
bc9e24cb744f786e
194
天前...
这里可以下载哦 https://www.icxbk.com/download/detail/49029.html
0
回复
发布
ada7ebc776fb706a
209
天前...
你好呀!能不能将代码放在GitHub上啊,第一次学这个AD9361不太会
0
回复
发布
ada7ebc776fb706a
202
天前...
这个txt转.v文件的脚本能分享一下吗
0
回复
发布
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交