AD9268、AD9643调试过程中遇到的问题

发布于:2025-05-25 ⋅ 阅读:(14) ⋅ 点赞:(0)
  1. Ad9268芯片

    AD9268是一款双通道、16位、80 MSPS/105 MSPS/125 MSPS模数转换器(ADC)。AD9268旨在支持要求高性能、低成本、小尺寸和多功能的通信应用。双通道ADC内核采用多级差分流水线架构,集成输出纠错逻辑。每个ADC都具有宽带宽、差分采样保持模拟输入放大器,支持各种用户可选的输入范围。集成基准电压源简化了设计考虑。占空比稳定器用于补偿ADC时钟占空比的变化,使转换器保持出色的性能。ADC输出数据可以直接路由至两个外部16位输出端口。这些输出可以设置为1.8 V CMOS或LVDS。有灵活的关断选项可以显著省电。设置和控制编程利用三线式SPI兼容型串行接口完成。

  AD9643管脚与AD9268相同,故一般都兼容设计。AD9643的最高采样率为250Msps,分辨率为14bit。

2.调试环境

使用UD LAN-402信号处理模块,软件配置如下:

硬件框图如下:

LAN-402的主要特点是支持4通道A/D(可以分别用于短波、超短波和雷达),对外支持16路双向差分RS422接口(可用作波控),也有千兆网和PCIe2.0x8接口,fpga可以完成信号处理任务。

3.调试过程

AD9268对外的接口支持LVDS接口、CMOS接口两种模式,通过SPI可以配置芯片使用哪种接口、是否开启测试模式等等。

调试中时,可以先通过SPI对ADC芯片进行配置为累加数测试模式(用于测试硬件连接是否正常),效果如下:

再配置为PN码测试模式,用于校验相位和测误码,效果如下:

4.调试遇到的问题

    1. 调试时遇到的问题记录
      1. 通道1的ADC数据无法呈现正常的正弦波脉络,表现如下

        1. 分析猜测1:可能是通道1和2数据隔离没做好,导致ADC数据混合

尝试测试与实验:配置寄存器将通道2设置未完全断电模式:

结果仍然不正确:

        1. 分析猜测2:ADC寄存器配置错误,导致ADC数据输出有

1;尝试修改数据输出格式:

二进制补码:

偏移二进制

结果仍不正确

2;尝试配置输入输出延时

3;打开deither_enable

4;测试寄存器配置表

配置完成后,表现变好;但仍然不正确

        1. 分析猜测3:ADC数据输出后在FPGA内部DDR采样时出问题

将DDR采样时 差分终结设置为TRUE,设置为高性能表现模式。

        1. 分析猜测4:ADC数据输出后在FPGA内部DDR采样时时钟未对齐(延迟)

给DDR的数据线的时钟添加延时

        1. 分析猜测5:ADC芯片未焊接好,导致LVDS模式下P/N某个脚无数据

1;在FPGA内部将ADC数据输出的电平约束改为LVCMOS,发现通道2数据完全正确,但通道1仍不正确

2;在使用FPGA内部测试模式,输出一个累加数据,发现ADC芯片通道1的bit15,13,12一直没有数据,通道2正确

        1. 最终问题定位为ADC芯片通道1的15,13,12三个管脚未焊接好

再次焊接后,输入70MHz中频,双通道最终数据采集结果与环境记录。

数据导入matlab,查看频谱图,分析信噪比:

以上频谱可以看出,输入70MHz中频时,有两个杂散,导致SFDR才80.73dB,还没有达到datasheet的性能指标,还需要继续调试。

这两个杂散分布为主信号的左右两侧,且对称,频率为10MHz。模块中,使用10MHz的晶振给PLL供时钟,应该是这个10MHz泄露产生的。今天没时间来调试了,请关注后续文章,来解决此问题的记录。


网站公告

今日签到

点亮在社区的每一天
去签到