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.

[参考译文] ADS54J60:ADS54J60 LMFC 重新对齐

Guru**** 2535150 points
Other Parts Discussed in Thread: ADS54J60, LMK04821

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/698760/ads54j60-ads54j60-lmfc-re-align

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

您好!

ADS54J60转换器是否仅将 LMFC 计数器与初始化后的第一个 SYSREF 事件对齐、或在所有 SYSREF 事件上重新对齐?

感谢您的回答

此致、

Jiri

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

    大家好、

    有任何反馈吗?

    非常感谢您的参与

    kr

    Vincenzo

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有关该主题的更多详细信息:

    到目前为止、ADS54J60转换器的一切都正常。

    下一步/最后一步是根据 www.xilinx.com/.../pg066-jesd204.pdf 中的"实现可重复延迟"一章(第66页)实现可重复延迟。

    遗憾的是、它不能按预期工作。
    还有另一个配置非常相似的项目、但对于模拟器件 ADC、它的工作原理与预期的一样。
    我们认为问题可能出在 ADC LMFC 时钟。

    配置为:1GSPS、LMFS 8224、K=32 => SYSREF = 1000/4/32/4 = 1.953125MHz

    在其他 E2E 博文中、说明了在 ADC 配置期间必须打开 SYSREF 信号。 ADC 硬件复位后是每多帧值(K) 10的默认帧、由于 SYSREF 正在运行、因此 LMFC 时钟开始。 在 SPI 寄存器中将 K 值更改为32后、LMFC 时钟是否自动重新对齐? 如何手动重新对齐?

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

    Vincenzo、

    在 SYSREF 的每个上升沿上、LMFC 被复位。  SYSREF 是在更改 K 值后重新对齐 ADC 的唯一方法。 SYSREF 是否在您的系统中持续运行? 如果没有、请尝试此操作。

    此致、

    Jim   

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

    Jim、

    SYSREF 在我们的系统中持续运行、我们使用示波器进行了验证。

    还有其他想法吗? 是否有任何用于调试/诊断 SYSREF 和 LMFC 的隐藏寄存器(作为冻结/取消冻结杂散校正电路的隐藏寄存器)?

    此致、

    Jiri

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

    e2e.ti.com/.../6318.Link-Latency-in-JESD204B-devices_5F00_TI.pptxJiri、

    您实际上是如何对此进行测试的? 连接是我们在另一个器件上所做的。 您的测试设置是否类似? 您是否尝试增加 RBD 值和/或 K 值? 在任一种情况下、请确保 RBD 始终= K 或小于 K。是否可以发送 ADC 寄存器映射信息?

    此致、

    Jim

     

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

    Jim、

    我们使用一种简化的方法来实现 Xilinx 强大的可重复延迟(www.xilinx.com/.../67442.html)。

    我们有一个测试固件、该固件:
    1.初始化 LMK04821时钟电路
    2.在该周期内复位 Xilinx JESD204内核、重新初始化 ADS54J60并读取 JESD204寄存器

    每次重新初始化后、缓冲器调整寄存器的值都是非常不同的。

    例如:
    RX_缓冲 器_ADJUST_REG0 0x0000000C
    RX_缓冲 器_ADJUST_REG1 0x0000000C
    RX_缓冲 器_ADJUST_REG2 0x00000010
    RX_缓冲 器_ADJUST_REG3 0x0000000C
    RX_缓冲 器_ADJUST_REG4 0x0000000C
    RX_缓冲 器_ADJUST_REG5 0x0000000C
    RX_缓冲 器_ADJUST_REG6 0x0000000C
    RX_缓冲 器_ADJUST_REG7 0x0000000C

    在下一次初始化之后:
    RX_缓冲 器_ADJUST_REG0 0x00000000
    RX_缓冲 器_ADJUST_REG1 0x00000004
    RX_缓冲 器_ADJUST_REG2 0x00000000
    RX_缓冲 器_ADJUST_REG3 0x00000004
    RX_缓冲 器_ADJUST_REG4 0x00000000
    RX_缓冲 器_ADJUST_REG5 0x00000000
    RX_缓冲 器_ADJUST_REG6 0x00000000
    RX_缓冲 器_ADJUST_REG7 0x00000000

    我们的 ADC 寄存器:
    AdcReg adcreg_init[]=

                { 0x0000、0x81 },//重置设备
                {0x4001、0x00}、//清除任何不需要的内容
                {0x4002、0x00}、
                //*********
                //主数字页
                //*********
                { 0x4003、0x00 }、//页 SEL
                {0x4004、0x68}、//页 SEL
                {0x60F7、0x01}、// DIG 复位 A
                { 0x604B、0x20 }、//格式 SEL 启用 A
                {0x6043、0x01}、//偏移二进制 A
                {0x6052、0x00}、// bus_re顺序_EN1禁用
                { 0x6072、0x00 }、// bus_re顺序_EN2禁用
                { 0x6000、0x01 }、//脉冲复位 A
                { 0x6000、0x00 }、//脉冲复位 A
                //*********
                //主页
                //*********
                { 0x0011、0x80 }、//页 SEL
                //{0x0054、0x80}、//手动 SYSREF
                //{0x0053、0x01}、// SYSREF 脉冲
                //{0x0053、0x00}、
                //{0x0053、0x01}、// SYSREF 脉冲
                { 0x0059、0x20 }、  //设置始终写入1位
                //*********
                //JESD 模拟页面
                //*********
                { 0x4003、0x00 }、 //页 SEL
                {0x4004、0x6A}、 //页 SEL
                { 0x6012、0x02 }, //设置始终写入1位
                {0x6016、0x80}、 // JESD PLL 模式20X、每个 ADC 四条通道
                { 0x6017、0x40 }、 // PLL 复位
                { 0x6017、0x00 }、 // PLL 复位清零
                //*********
                // JESD 数字页面
                //*********
                { 0x4003、0x00 }、//页 SEL
                {0x4004、0x69}、//页 SEL
             #ifndef ADC_TEST_pattern
                {0x6000、0x80}、// CTRLK
                {0x6001、0x01}、// 20xmode、每个 ADC 四条通道
                {0x6002、0x00}、//正常 ADC 数据
             其他
                { 0x6000、0x90 }、// CTRLK、测试模式
                {0x6001、0x01}、// 20xmode、每个 ADC 四条通道
                {0x6002、0x80}、// 12个八位位组 RPAT 抖动模式
             #endif
                //{0x6007、0x09}、//子类1
                {0x6016、0x00}、//通道共享正常运行(每个通道使用一个通道)
                {0x6031、0x00}、// DA_BUS_REORDER
                {0x6032、0x00}、// DB_BUS_REORDER
                //*********
                //JESD 模拟页面
                //*********
                //{0x4003、0x00}、 //页 SEL
                //{0x4004、0x6A}、 //页 SEL
                //{0x6012、0x02}、 //设置始终写入1位
                //{0x6016、0x00}、 // JESD PLL 模式20X、每个 ADC 四条通道
                //{0x6017、0x40}、 // PLL 复位
                //{0x6017、0x00}、 // PLL 复位清零
                //*********
                //主数字页
                //*********
                //{0x4003、0x00}、//页 SEL
                //{0x4004、0x68}、//页 SEL
                    //{0x6052、0x00}、// bus_re顺序_EN1禁用
                //{0x6072、0x00}、// bus_re顺序_EN2禁用
                //{0x6000、0x01}、//脉冲复位
                //{0x6000、0x00}、//脉冲复位
                //*********
                // JESD 数字页面
                //*********
                { 0x4003、0x00 }、//页 SEL
                {0x4004、0x69}、//页 SEL
                {0x6006、0x1F} // K=32
    };

    我们尝试使用 ADS54J60数据表(表65)中的初始化序列、但它对我们不起作用。 我们必须在 JESD 数字页面之前配置 JESD 模拟页面和主数字页面。 您有什么想法吗?

    谢谢你
    此致、
    Jiri

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

    Jiri、

    您的文件中有几个无效和不必要的写入。 请尝试附加的一个。 您能否详细解释一下上次有关 Xilinx Buffer_Adjust 寄存器的答复中显示的内容?  我猜、这些缓冲器会从各个通道捕获数据。  理想情况下、所有这些上的数据以及 执行系统复位后的数据都应该相同? 您是否在测试图形模式下使用 ADC? 如果是、这与系统复位如何同步? 您必须写入这些寄存 器以启用此测试模式、因此无法保证 Xilinx 器件在每个复位周期将同时捕获数据。

    Xilinx 电路板使用的 RBD 值是多少?

    此致、

    Jim  

    e2e.ti.com/.../ADS54J60-registers.docx

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

    Jim、

    您能解释一下为什么寄存器写入其默认值无效、而不仅仅是不必要的? 为什么您的文件不尊重数据表中的初始化序列(表65)?

     有关 Buffer_Adjust 寄存器的所有信息、请参阅文章 JESD204B -实现强大的可重复延迟的简化方法www.xilinx.com/.../67442.html

    我们现在在测试图形模式下使用 ADC。 当然、我们不会在复位后测试其值、因为它未定义。

    此致、

    Jiri

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

    Jiri、

    您可以写入所有寄存器。 我只是删除了您要写入的那些您没有太多的 SPI 开销的数据。 不过、有一个寄存器需要位7-2为"0"、您要向位7写入"1"。 这位于0x6A00地址0x16页。

    我在初始化序列中执行所有操作。 它的顺序并不完全相同。 此外、我们的 GUI 使用 特殊的软件命令执行4-001、4-002、4-003和4-004写入、因此我在发送的文档中没有列出这些命令。

    您是否让 SYSREF 持续运行?

    您的 RBD 值是多少?

    您能否从系统获得有效的输出音?

    您是否使用12 个八位位组 RPAT 进行此测试?

    此致、

    Jim   

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

    抱歉、我忽略了寄存器0x16…的错误值

    RBD = K

    我们让 SYSREF 持续运行。

    我们得到正确的输出音调。

    我们使用12个八位位组 RPAT 测试模式、输出是我们期望的结果。

    此致、

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

    Jiri、

    当我使用窄脉冲输入到 ADC 并监控 FPGA JESD 块中数据的 MSB 时、延迟是恒定的。 我们正在采集板上使用 Altera Arria 10 FPGA。 您是否尝试过类似的操作? 我无法使测试与您正在使用的测试模式配合使用。 我正在研究这个问题。

    此致、

    Jim

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

    Jim、

    我们尝试通过 SYNC REG 位使用 SYNC 请求(用0xC1初始化0x6900页0x6001寄存器、并在一段时间后将其设置为0x41)、它的工作方式与我们预期的一样! 每次初始化后、缓冲器调整寄存器具有相同的值。 但是、当我们为同步请求使用 JESD204 Xilinx 内核同步输出时、每次初始化后、缓冲器调整寄存器的值都不同。  

    您对此有什么解释吗?

    此致、

    Jiri

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

    这是否解决了您的问题、或者您是否需要任何进一步的支持?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jiri、
    您是否仍然对此有问题? 如果没有、我想关闭这个帖子。
    此致、
    Jim