This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADC12QJ1600:无法接收 k28.5

Guru**** 1109750 points
Other Parts Discussed in Thread: ADC12QJ1600, LMK04821
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1338812/adc12qj1600-cannot-receive-k28-5

器件型号:ADC12QJ1600
主题中讨论的其他器件: LMK04821

您好!

 我正在使用 adc12qj1600 ,我的采样率是1Gsps,并使用 jmode0,km1=31。但我发现当同步较低时我无法接收 k28.5。我捕获的通道数据如下所示。

ADC 的寄存器配置如下所示

{ 0x0000、0xB0 }、//#RESET 寄存器模拟组主页。750ns 自清零
{ 0x0270,0 },//在继续读取 INIT_DONE 之前验证器件初始化已完成,直到返回1。
{0x02c1、0x3F}、//ALM_STATUS
{0x02c4、0xFF}、//FIFO_LANE_ALM
{ 0x002B、0x15 },
{0x002A、0x02}、//sysref_LVPECL_en = 1 dclk_LVPECL_en = 0

{0x0057、0x00}、//TRIGOUT_EN = 0
{0x0057、0x01}、//TRIGOUT_EN =0 32DIV
{0x0057、0x81}、//TRIGOUT_EN =1 32DIV

{0x0200、0x00}、//JESD_EN = 0
{0x0061、0x00}、//CAL_EN = 0
{0x0201、0x00}、//JMODE = 0
{0x0202、0x1F}、//K = 32 = KM1 + 1
{0x0204、0x00}、//SYNC_SEL;OFFSET BINARY;8B/10B 扰频器已禁用
//
{0x0048、0x00}、//预加重,(如果需要)
//报警
{ 0x02c2,0x02 },//取消屏蔽所有警报

{0x0205、0x00}、//测试模式(如果需要)
{0x0062、0x01}、//CAL_CFG0、禁用 BG;禁用 OS;禁用 BG;启用 FG
{ 0x0061、0x01}、//CAL_EN = 1、启用校准状态机

{ 0x0029、0xA0 },
{0x0029、0xF6}、//SYSREF_PROC_EN=1、SYSREF_RECV_EN=1、SYSREF_ZOG=1、设置 SYSREF_SEL
{0x0200、0x01}、//JESD_EN = 1、重新启动 JESD 链路
{ 0x006c、0x00}、//cal_soft_trig 触发 FG
{ 0x006c、0x01}、//cal_soft_trig 触发 FG
{ 0x02c1,0x3F }

您能帮我解决这个问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Xiaxin:

    请确认 JESD_STATUS 寄存器(0x208)中的 SYNC_STATUS 位是否设置为"0"。 这将表明 ADC 看到 SYNCn 为低电平。 如果设置为"1"、则 FPGA 和 ADC 之间可能存在连接或信号发送问题。

    或者、请尝试以下序列:

    1>将 JCTRL 寄存器(0x204)中的 SYNC_SEL 设置为0x2。 这将覆盖 SYNCn 输入引脚、并允许 SPI 寄存器控制同步

    2>将 JSYNC_N 位(0x203)设置为0x0。 这将在内部强制将 SYNC 设置为0。

    请检查上面的两个选项中是否有一个显示在 FPGA 中接收到 K28.5字符。 否则、ADC 和 FPGA 可能使用不同的 JESD 通道速率。  

    此致、

    艾米特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是 jesd204b 内核配置、线速率是8Gbps、同时我把 ADC 的 jesd204b 模式配置为 jmode0、我觉得 FPGA 和 ADC 的通道速率是一样的。

    并且、 根据您的建议、JESD_STATUS 寄存器中的 SYNC_STATUS 位也会设置为1。 我仍然无法接收正确的 K 代码。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果 SYNCn 信号有效(低电平)、SYNC_STATUS 位应读取‘0’、而不是‘1’。  

    如果 ADC 没有将 SYNCn 视为低电平、它将不会发送 K 代码  

    此致、

    艾米特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Amet:

    我尽量给 SYNC 信号一个固定的1或0、ADC 的同步端口可以收到正确的0或1。所以我怀疑 SerDes 速率仍然不正确。我用 lmk04821生成所有时钟。ADC 的 dclk 为1GHz、sysref 为6.25MHz。FPGA 的 JESD 内核 clk 为200MHz、qpll clk 200MHz 是否也是、sysref 是6.25MHz。这些时钟频率是否正确?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Amet:

    由于采样时钟设置不正确、我发现了这个问题。 现在可以接收 K28.5、但在 ILAS 状态、在帧起始处无法接收 K28.0。我捕获的通道数据如下所示。

    据我了解、CGS 完成后、ILAS 阶段应该以 K28.0开始、但我不知道为什么我捕获的数据不以 K28.0开始。

    此致、

    夏新