主题中讨论的其他器件: ADC08D1520
工具与软件:
您好!
我们使用的是 ADC12QJ1600-SEP、它通过接口与 Microchip PolarFire MPF500T-FCG1152相连。 过去、我们使用 TI ADC08D1520、但现在我们通过新硬件将板升级到 TI ADC12QJ1600-SEP。 我们对该芯片和 JESD 技术非常陌生。 我需要 ADC12QJ1600-SEP 配置方面的支持。 以下是 ADC 配置寄存器的序列和状态。 在我们开始 FPGA 端的调试之前、您能否确认并告知我是否已配置 ADC。 如果未配置、则请建议配置序列所需的更改。 基本上、我们按照以下文档中的 ADC 配置序列和步骤进行操作:
硬件将所有8个通道连接到 FPGA。
我想使用 JMODE9 (8位、8B/10B 编码、8个通道)、
ADC 的时钟设置
ADC 的当前配置序列为:
引脚:PLL_EN ="0";PLLREF_SE ="0";接地。 CLK+/-= 1000 MHz;
步骤1。 PD ="1" (目前~40us)
步骤2。 PD ='0'(目前~40us)
步骤3:发出 SOFT_RESET:写入寄存器- CONFIG_A (地址:0x000;值:0xB0)
步骤4:等待1280ns (根据规格、需要等待750ns)
步骤5:读取 init_status:读取寄存器- init_status (地址:0x030)
步骤6:init_status 寄存器值为"0x01"(我们现在正在读取值)
步骤7:读取 VENDOR_ID:读取寄存器- VENDOR_ID (地址:0x00C)
步骤8:VENDOR_ID 寄存器值为"0x0451"(我们现在正在读取值)
步骤9:停止 JESD204:写入寄存器- JESD_EN (地址:0x200;值:0x00)
步骤10:停止校准:写入寄存器- CAL_EN (地址:0x061;值:0x00)
步骤11:默认为高性能模式
步骤12:JMODE 选择:写入寄存器- JMODE (地址:0x201;值:0x09)
步骤13:所需的 KM1值:写入寄存器- KM1 (地址:0x202;值:0x1f)
步骤14:SYNC_SEL:写入寄存器- JCTRL (地址:0x204;值:0x0B)
步骤15:JSYNC_N:写入寄存器- JSYNC_N (地址:0x203;值:0x01)
步骤16:ALM_MASK:写入寄存器- ALM_MARK (地址:0x2C2;值:0x02)
步骤17:校准设置:写入寄存器- CAL_CFG0 (地址:0x062;值:0x01)
步骤18:校准设置:写入寄存器- CAL_CFG1 (地址:0x065;值:0x01)
步骤19:启用 TRIGOUT:写入寄存器- TRIGOUT_CTRL (地址:0x057;值:0x81)
C_PLL 被禁用、因此此时不读取 VCO_CAL_STATUS 寄存器
步骤20:启用校准:写入寄存器- CAL_EN (地址:0x061;值:0x01)
步骤21:启用超范围:写入寄存器- OVR_CFG (地址:0x213;值:0x0F)
步骤22:JESD204 -启动 Re:写入寄存器- JESD_EN (地址:0x200;值:0x01)
步骤23:清除 ALM_STATUS:写入寄存器- ALM_STATUS (地址:0x2C1;值:0x3F)
步骤24:启用校准:写入寄存器- CAL_PIN_CFG (地址:0x06B;值:0x00)
步骤25:CAL_SOFT_TRIG:写入寄存器- CAL_SOFT_TRIG (地址:0x06C;值:0x00)
步骤26:CAL_SOFT_TRIG:写入寄存器- CAL_SOFT_TRIG (地址:0x06C;值:0x01)
读取所有状态寄存器
VCO_CAL_STATUS:(地址:0x05E)- 我们读取的值为(0x02)
JESD_STATUS:(地址:0x208)- 我们读取的值为(0x64)
ALM_STATUS:(地址:0x2C1)- 我们读取的值为(0x00)
CAL_STATUS:(地址:0x06A)- 我们读取的值是(0x0F)
>>> BTW、其中是校准状态代码
器件的值 TRIGOUT+/- 它就是这样 Expected ~156.5 MHz。
根据当前状态、我们来了解一下 ADC 的状态以及我们还需要做什么、因为 FPGA (Microchip)中的 JESD 接口会显示 CGS_ERR。 如果您认为 ADC 处于良好状态、不需要做任何事情、那么我们将研究 FPGA 方面
谢谢
Madhu