ADC12DJ3200: 使用jmode0模式,采样率4.8G,采集2.6~4.6G的信号,出现较大杂散。

Part Number: ADC12DJ3200
Other Parts Discussed in Thread: LMK04828,

使用jmode0模式,采样率4.8G,采集2.6~4.6G的信号,出现如下所示的杂散。

需要进行那些校正才可以较小这些杂散呢,;

以下是我的配置,我已经进行了sysref的校准,在启动CAL_SOFT_TRIG = 1校准之前。

// 1. 启动或重置设备。  
    adc_cfg_rom[00]          = 32'h000000B0;
    adc_cfg_rom[01]          = 32'h00000030;        //软复位
    adc_cfg_rom[02]          = 32'h00000030;        //软复位

//3.  编程 JESD_EN = 0 以停止 JESD204B 状态机并允许设置更改。
    adc_cfg_rom[03]          = 32'h00020000;   
//4.  编程 CAL_EN = 0 以停止校准状态机并允许设置更改。    
    adc_cfg_rom[04]          = 32'h00006100;  
// 5. 编程所需的 JMODE。
    adc_cfg_rom[05]          = 32'h00020100;  // Set JMODE0
// 6. 编程所需的 KM1 值。KM1 = K–1。   
    adc_cfg_rom[06]          = 32'h0002021F;  //设置 k =32
// 7. 根据需要编程 SYNC_SEL。选择 SYNCSE 或时间戳差分输入。    
    adc_cfg_rom[07]          = 32'h00020402;  
    adc_cfg_rom[08]          = 32'h000030ff;  
    adc_cfg_rom[09]          = 32'h000031ff;  
//These bits enable adjustment of the analog full-scale range for INA±.


// 8. 根据需要配置设备校准设置。根据需要选择前台或后台校准模式和偏移校准。//0x062默认进行前台校准 
      adc_cfg_rom[10]          = 32'h00006205; //01 or 05//Calibration Configuration 0 Register(CAL_CFG0)
      adc_cfg_rom[11]          = 32'h0020900;// 
      adc_cfg_rom[12]          = 32'h00080bc;// TADJ_A_FG90。

// 9. 编程 CAL_EN = 1 以启用校准状态机。
    adc_cfg_rom[13]          = 32'h00006101;// Set CAL_EN (always before JESD_EN)
// 10. 通过 OVR_EN 启用超范围并根据需要调整设置。OVR_EN
    adc_cfg_rom[14]          = 32'h0002130f; //[3] Enable overrange, [2:0]set overrange holdoff to max period 8*2^7 = 1024 samples
    adc_cfg_rom[15]          = 32'h00004803; //03 Set serializer pre-emphasis to 3
// 11. sysref 校准。
        adc_cfg_rom[16]          = 32'h00002930;   //[5] 启用 SYSREF 接收器电路 SYSREF_RECV_EN=1 ,SYSREF_ZOOM =1,SYSREF_SEL 设置为 0
        adc_cfg_rom[17]          = 32'h00002970;   //[6] 启用 SYSREF 处理器 SYSREF_PROC_EN=1。必须设置此位以允许设备处理 SYSREF 事件     
        adc_cfg_rom[18]          = 32'h00002A04;   //
// 12. 编程 JESD_EN = 1 以重新启动 JESD204B 状态机并允许链路重新启动。
    adc_cfg_rom[19]          = 32'h00020001;// Set JESD_EN (always after CAL_EN)

//  13.加载或启用 FPGA JESD204B 链路固件(输出解除204Bip复位的信号)
    adc_cfg_rom[20]          = 32'h00020001;//延时
    adc_cfg_rom[21]          = 32'h00020001;//延时

//  14.对 CAL_SOFT_TRIG=0进行编程、以暂停器件性能校准过程
    adc_cfg_rom[22]          = 32'h00006C00;// Set CAL_SOFT_TRIG low to reset calibration state machine

//  15.编程 SRC_EN=1来启动 SYSREF 校准过程
      //********** 进行  SYSREF 自动 校准 ************* 需要连续sysyref
      //如果 SYSREF 周期超过支持的值,则校准失败。
        adc_cfg_rom[23]          = 32'h0002B105;   //0X2B1  SYSREF Calibration Configuration Register  //Program SRC_CFG before setting SRC_EN
        adc_cfg_rom[24]          = 32'h0002B001;   //0X2B0  SYSREF Calibration Enable Register //确保在设置 SRC_EN 之前 ADC 校准当前未运行。
      //可以监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B2  [17]),以确保 SYSREF 校准已完成
      //自动 SYSREF 校准完成后,可以执行其余启动过程以完成系统启动。
        adc_cfg_rom[25]          = 32'h0002B001;   //延时
        adc_cfg_rom[26]          = 32'h0002B001;   //延时

//  16.反复读取 SRC_DONE 位( 0x2B4  0x2B3 0x2B2 的 [17]  相当于0x2B4 [1] )以确认 SYSREF 校准过程已完成。     
        adc_cfg_rom[27]          = 32'h0082B200;   
        //监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B4  0x2B3 0x2B2  [17]),
        //以确保 SYSREF 校准已完成,SRC_TAD ( 0x2B4  0x2B3 0x2B2  [16:0])读取自动 SYSREF 校准发现的 tAD 调整设置。

       adc_cfg_rom[28]          = 32'h0082B300;   
       //监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B4  0x2B3 0x2B2   [17]),
       //以确保 SYSREF 校准已完成,SRC_TAD ( 0x2B4  0x2B3 0x2B2  [16:0])读取自动 SYSREF 校准发现的 tAD 调整设置。

       adc_cfg_rom[29]          = 32'h0082B400;   
       //监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B4  0x2B3 0x2B2   [17]),
       //以确保 SYSREF 校准已完成,SRC_TAD ( 0x2B4  0x2B3 0x2B2  [16:0])读取自动 SYSREF 校准发现的 tAD 调整设置。

       adc_cfg_rom[30]          = 32'h0082B400;   
       //监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B4  0x2B3 0x2B2   [17]),
       //以确保 SYSREF 校准已完成,SRC_TAD ( 0x2B4  0x2B3 0x2B2  [16:0])读取自动 SYSREF 校准发现的 tAD 调整设置。

       adc_cfg_rom[31]          = 32'h0082B400;   
       //监控 SYSREF 校准状态寄存器中的 SRC_DONE( 0x2B4  0x2B3 0x2B2   [17]),
       //以确保 SYSREF 校准已完成,SRC_TAD ( 0x2B4  0x2B3 0x2B2  [16:0])读取自动 SYSREF 校准发现的 tAD 调整设置。


// 17. 编程 CAL_SOFT_TRIG = 1 以启动校准。

    adc_cfg_rom[32]          = 32'h00006C00;// Set CAL_SOFT_TRIG high to enable calibration
    adc_cfg_rom[33]          = 32'h00006C01;// Set CAL_SOFT_TRIG high to enable calibration

  • 您好,

    您能解释一下确切的问题吗?

    请向我们发送您的测试设置的详细方框图。

    杂散很可能来自时钟源或模拟输入源。

    请确保遵循用户指南、并在源的输出与 EVM 上的时钟或模拟输入之间使用良好的带通滤波器。

  • 已使用调整TADJ_A_FG90寄存器减小FS/2-FIN频率处的杂散。

    想再咨询一个问题。

    系统上电后,我使用lmk04828给ADC12DJ3200提供连续的sysref,当明确链路建立完成,且已采集到正确数据后,关闭sysref,偶尔ADC12DJ3200会出现采集到数据错乱的情况。在使用04828停止提供sysref之前,是否需要在ADC12DJ3200这边进行什么寄存器的操作呢?比如关闭sysref接受电路?

  • 您好,

    在从 LMK 关闭连续 sysref 之前、请首先禁用 ADC 的 SYSREF 接收缓冲器和 SYSREF 处理功能。 我的猜测可能没有关闭、并且 ADC 将一些瞬态响应视为 SYSREF 并自行重新调整。

    TADJ_A_FG90寄存器用于调整测试仪的最佳性能。 尽管它可能会在一个采样率下提高交错性能、但不能保证器件在所有工作模式下都具有出色的性能。 此外、它可能会使交错杂散看起来更好、但也会使 ADC 的其他规格变差。

    为了确保每位客户的疑问都能得到高效且针对性的解答,建议您解决主题问题后提交新问题时创建独立的帖子,这样不仅能帮助您更快获得答案,也有利于其他用户在未来遇到相似疑问时轻松找到解决方案。感谢您的理解与合作!