500MhzADC AD9434调试过程中遇到的问题记录

芯片介绍

本次开发使用的国产adc CBM94AD34 该adc用来替代ad9434(封装管脚开发模式完全一样,由于 CBM94AD34数据手册过于简单,所以全部参照AD9434)ad9434是一款单通道12bit,采样率高达500Mhz的模数转换芯片,该芯片有sdr和ddr两种工作模式,本次开发采用的7系列fpga,adc采用的是ddr模式。

在这里插入图片描述
在这里插入图片描述
具体详情查看数据手册。


开发过程及思路

1.信号和时钟均为差分输入,使用IBUFDS原语使差分信号转为单端信号

  IBUFDS_inst : IBUFDS
   generic map (
      DIFF_TERM => FALSE, -- Differential Termination 
      IBUF_LOW_PWR => TRUE, -- Low power (TRUE) vs. performance (FALSE) setting for referenced I/O standards
      IOSTANDARD => "DEFAULT")
   port map (
      O => O,  -- Buffer output
      I => I,  -- Diff_p buffer input (connect directly to top-level port)
      IB => IB -- Diff_n buffer input (connect directly to top-level port)
   );

2.使用IDDR原语对双边缘数据进行分离和读取


```c
DR_inst : IDDR 
   generic map (
      DDR_CLK_EDGE => "OPPOSITE_EDGE", -- "OPPOSITE_EDGE", "SAME_EDGE" 
                                       -- or "SAME_EDGE_PIPELINED" 
      INIT_Q1 => '0', -- Initial value of Q1: '0' or '1'
      INIT_Q2 => '0', -- Initial value of Q2: '0' or '1'
      SRTYPE => "SYNC") -- Set/Reset type: "SYNC" or "ASYNC" 
   port map (
      Q1 => Q1, -- 1-bit output for positive edge of clock 
      Q2 => Q2, -- 1-bit output for negative edge of clock
      C => C,   -- 1-bit clock input
      CE => CE, -- 1-bit clock enable input
      D => D,   -- 1-bit DDR data input
      R => R,   -- 1-bit reset
      S => S    -- 1-bit set
      );

问题产生原因

FPGA的差分输入输出管脚硬件工程师设计板子时供电电压为1.8v,但配置为
LVDS后,软件提示报错说HRbank做差分输入输出时只能配置为LVDS_25,这就矛盾了,后来通过查阅资料,https://www.elecfans.com/d/1883119.html
https://xilinx.eetrend.com/blog/2022/100561754.html
这两篇写的比较详细
在第二篇文章中说到,HP BANk时当作为输入时vcco电压可以不为1.8v,此时内部端接电阻不可用,只能使用外部端接
虽未对HR BANk做同样文字描述但,表述为“对于图二检查表(HR BANK)上述类似”,可以理解为跟 HP BANk要求一样
在这里插入图片描述
所以在配置IBUFDS参数时DIFF_TERM我选择的是FLASE
FPGA输出给时钟驱动芯片的差分时钟就只能改为单端输出。差分输入就配置为LVDS_25.编译完成之后经过调试一直采不到正常的正弦信号(输入正弦信号作为测试信号)。

原因分析:

起初是怀疑输出时钟由差分改为单端后驱动能力有限。(500mHz的时钟手头的示波器也无法用示波器准确的测出来)
外接一个500Mhz的差分时钟,但还是采集不到正常的信号
后来公司前辈让我把DIFF_TERM 改为true试试,结果就好了。不合理但有效。

解决方案:

第二版硬件就将adc信号输入改到HR BANK了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值