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.

[参考译文] ADS4229:最佳性能寄存器在写入后返回随机数据

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1126792/ads4229-best-performance-registers-returns-random-data-after-write

器件型号:ADS4229
主题中讨论的其他器件: ADS4249EVM

尊敬的 TI:

我们在项目中使用的是 ADS4229双通道、12位、250MSPS 超低功 耗 ADC、但存在解决方案可能存在的问题和理论。 使用的数据表是可从 TI 获得的最新版本: https://www.ti.com/lit/ds/symlink/ads4229.pdf

该器件的设置旨在确保在高采样速度(大于160MSPS)下实现最佳性能。 因此、寄存器0x02、0x03、0xD5、0xD7和0xDB 中相应的位置位、如第37页所示。
写入完成后、我们执行回读以验证寄存器数据:
寄存器0x02、0x03          返回正确的值
   返回寄存器0xD5、0xD7、0xDB 随机值

Google 搜索未返回任何类似问题。

由于高速寄存器布局很奇怪、我们认为数据表可能已通过扫描副本甚至手写便笺进行了更新。 ‘D,“ ‘”可能是0’。 我们通过将适当的数据写入“新的”高速寄存器(0x05、0x07和0x0B)来测试这一理论,并且返回了正确的数据,但寄存器0x0B 除外。 我们第二次在最后一个寄存器上应用了我们的理论、并尝试了0x08、从而得到器件的正确响应。

我的问题:我们对寄存器地址的假设是否正确、是否应该如下面所示、或者我们是否应该使用提供的信息(这意味着器件不会使用这3个寄存器的正确数据进行回复)?

谢谢、

Chris

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

    尊敬的 Chris:  

    您能否按顺序提供您正在执行的完整寄存器序列? 此外、您能否提供原理图的一个片段、其中显示了上拉、下拉电阻器和任何电平转换器。 如果读数位被禁用(将值0x00写入寄存器0x00)、由于内部下拉电阻器、读操作结果应该全部为低电平、您看到了吗? 我正在实验室中设置一个板、以便立即进行检查。 敬请期待。

    此致、Chase

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

    Chris、这是我们的 EVM GUI 为启用这些 HP 寄存器而执行的寄存器写入。 我已将 SPI 线路连接到示波器、以验证正在执行的真正 SPI 写入。 请注意、标记为"2"的寄存器实际上是为了显示"D2"。

    0xD2 0x40
    0xD5 0x81
    0xD7 0x06
    0xD8 0x20

    GUI 已损坏、回读不起作用、因此必须使用我的示波器验证真正的 SPI 回读。 如果您执行这些寄存器写入、HP 模式将被启用。

    此致、Chase

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

    你好 Chase、

    感谢您的回复、以及延迟回复的拓扑。

    有关寄存器值的一个快速问题:寄存器0xD5是否应为0x18、0xD7是否应为0x0C?

    我们如何验证器件是否已启用高性能模式?

    此致、

    Chris

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

    Chris、您好、我们的应用程序团队应该很快帮助您解决这个问题。 感谢您耐心等待我们。

    此致

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

    嗨、Chris。  

    我继续尝试对 ADS4249EVM (同一器件系列的14位引脚)执行一些 SPI 写入和读取操作、并有一些观察结果。 我将使用一些伪代码来描述写入和读取。 这些写入和读取是在 GUI 环境之外的 Python 脚本中完成的

    writeSPI (0x000x02)#复位设备
    writeSPI (0x020x40)#设置高性能模式位3.
    writeSPI (0xD50x18)#设置高性能模式位4和5
    writeSPI (0xD70x0C)#设置高性能模式位6和位7
    writeSPI (0xDB0x20)#set 高性能模式位8

    writeSPI (0x00、 0x01) # 启用回读
    readSPI (0x02)-> readback = 0x40
    readSPI (0xD5)-> readback = 0x18
    readSPI (0xD7)-> readback = 0x0C
    readSPI (0xDB)-> readback = 0x20

    因此、我能够写入所有四个寄存器并读回我写入的值。 此外 、器件的共模也按预期下降。 这可能是 验证您是否处于高性能模式的最简单方法。 我注意到、当我将其中一个寄存器从写入中退出时、CM 将高于 正常 值(>1V)。  

    您使用什么与器件进行通信? 很好奇。  

    此致、  

    Matt

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

    您好、Matt、

    我们使用的是 Zynq-7000器件。

    我们的解决 方案与您的解决方案相同、不同之处在于我们还设置了高性能模式(而不仅仅是高速模式)。 我们的写入和读取周期如下所示:

       

    关于使用 VCM 来验证高性能模式-数据表未提及这一点。 它确实指定了当高速模式激活时、VCM 将从0.95V 更改为0.87V。 玩了一会儿之后、我们发现了以下内容:

    禁用 HP 和 HS (在设备上电后、或设置 高性能模式[0:7]= 0x00)-> VCM = 0.974V ->预期

    启用 HP (  高性能模式[2:1]=全部1 -> VCM = 0.974V ->预期

    启用部分 HS (高性能模式[7:2] =全部1 -> VCM = 1.178V ->正如 Matt 提到的那样

    根据  数据表、启用 HS (高性能模式[8:2]=全部1 -> VCM = 0.893V ->预期。

    因此、我们可以验证高速模式、但仍然无法验证高性能模式。  

    感谢您迄今提供的帮助。

    此致、

    Chris

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

    嗨、Chris、  

    我能够写入0x03寄存器0x03并将其读回0x03、因此从 SPI 的角度来看、我不会看到任何错误。 这也是您看到的吗? 我不是完全熟悉 Xilinx SPI 接口。

    当我对该寄存器进行编程时、共模不会改变、正如您在数据表中所说的那样、该寄存器没有提到、因此我不会看到任何错误。

    您能确认所有寄存器现在都正确读回吗?

    此致、  
    Matt