当前位置: 首页 > article >正文

【SDR课堂第12讲】AD9361毛刺问题总结

1、AD9361 LVDS模式下数据接收简介

AD9361 LVDS模式下数据收发信号连接如下所示,对于数据接收,需要三种信号,DATA_CLK、RX_FRAME和RX_D[5:0],分别对应采样时钟、接收有效信号和数据,这三种信号都是由AD9361提供。BBP根据有效信号和采样时钟对数据总线的信号进行采样。在LVDS模式下,采样时钟必须为DDR模式。

1740539084895749.png

2 、毛刺问题现象

在本项目中,一共有5片AD9361的10个通道作为接收通道;正常情况下,在没有给信号时,接收到的信号的值应该是很小的,如下所示:       

1740539120189468.png

而在出现毛刺时,会不定时出现值特别大的采样点,在时域上表现出突然出现一根尖刺的情况,如下:

1740539186104330.png

3、 问题原因分析

AD9361在LVDS模式下数据收发需要满足一定的要求,数据收发时序约束如下所示:

1740539248380831.png

Tcp: DATA_CLK时钟周期,其最大76MHz

Tmp:DATA_CLK和FB_CLK高和/或低电平的最小脉冲宽度(包括占空比失真、周期抖动、周期抖动和半周期抖动的影响)

Tstx: Tx_FRAME对FB_CLK下降沿的建立时间

Thtx:Tx_FRAME对FB_CLK下降沿的保持时间

Tddrx:从DATA_CLK到 Rx_D[5:0]输出的延迟

Tddrv:从DATA_CLK到 Rx_FRAME的延迟

LVDS模式接收路径数据端口时序参数图:

1740539288698491.png

由于电路设计时时钟和数据线路不能做到严格等长,并且,在9361内部,数据会经过多个半带滤波器以及FIR滤波器(这些滤波器都是可以选择使用或者不使用),会造成数据相对于时钟的延迟;所以,实际的数据总线时序不能完全满足上述要求,DATA_CLK与RX_D的上升沿或者下降沿不在RX_D数据中中心时(CLK提前了或者延迟了),就会导致采样时的数据值不正确。

4、 问题解决办法

AD9361提供了两个寄存器用于校准DATA_CLK和数据的延时,寄存器定义和解释如下:

1740539352112437.png

可以通过这个寄存器调整DATA_CLK与DATA之间的相位,使它们能满足数据传输的时序要求;

如上所示,寄存器6用于接收时序调整,高4位用于调整DATA_CLK的延时,即可以使DATA_CLK延迟一定时间;低4位用于调整接收数据延时。

在调整这个值时,需要尝试输入所有的值(0~F),并记录每个值的接收数据是否正常,一般会有多个值是正确的,我们需要选择居中的值作为实际的寄存器值。

http://www.binhong-tech.com/http://www.binhong-tech.com/


http://www.kler.cn/a/568154.html

相关文章:

  • 手写RPC框架-V1版本
  • 一周学会Flask3 Python Web开发-Jinja2模版中加载静态文件
  • 2.9作业
  • 大模型最新面试题系列:训练篇之数据处理与增强
  • Python可视化大框架的研究与应用
  • 聊聊大数据测试开展方向有哪些?
  • Protobuf原理与序列化
  • Android中的四大组件及其生命周期
  • 学习笔记-单片机蓝桥杯大模板更新-米醋
  • uniapp h5页面获取跳转传参的简单方法
  • 设置电脑一接通电源就主动开机
  • OpenEuler学习笔记(三十五):搭建代码托管服务器
  • IP-----动态路由OSPF(2)
  • Docker数据卷容器实战
  • CSS 中最常用的三种选择器的详细讲解(配合实例)
  • (视频教程)Compass代谢分析详细流程及python版-R语言版下游分析和可视化
  • 从零基础到通过考试
  • 基于大数据的家用汽车推荐系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 【星云 Orbit-F4 开发板】03g. 按键玩法七:矩阵键盘单个触发
  • 网络安全员证书