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.

[参考译文] ADS131A04EVM:WREGS 问题

Guru**** 2392095 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/994095/ads131a04evm-wregs-problem

器件型号:ADS131A04EVM

全部:

我正在调试 WREGS、我看不到寄存器被写入。

我有以20MHz 频率运行的外部32位 SPI、我将发送以下内容、CS 在整个4个字内处于活动状态:

0x6C030000 (WREGS、从位置0xC 开始、写入4个寄存器)

0x3C020000 (D_SYS_CFG = 3C、CLK1 = 02)

0x480F0000 (CLK2 = 48、EN_ADC = 0F)

0x00000000 (未使用 CRC)

但是、当我执行一个0xC 的单一 RREG 来读取内容时、我得到的值为0。  

如果我使用单个 WREG 命令、我可以写入正确的值并从上述寄存器读回它们。

我必须俯瞰某件事-我做了什么错?

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

    您好 Todd、

    您在下一帧接收到的响应字是什么? 您应该会收到0x4C030000。

    注意:如果您使用的是动态帧大小并且禁用了 CRC (D_SYS_CFG[1:0]= 00b)、则无需发送0x00000000 CRC 字。

    此致、

    Ryan

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

    是的、我接收到0x4C03000

    在该帧期间、我发送一 个 RREG 0x2C000000、下一帧显示0x2C000000、在这里我通常会看到0x2C3C。

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

    你好、Todd -我正在研究这个。 请注意、RREG 命令响应中的第二个字节应始终为0x00。 因此、您应该读取0x3C00。 0x3C 也是该寄存器的默认值。 在写入之前、您是否可以尝试发送0Ch 的 RREG?

    此致、

    Ryan

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

    我将包括一些屏幕截图:

    第一个是发送的 NULL:

    第二个是解锁。 (总线2上的命令、总线1上的应答)

    第三个是接收到解锁:

    然后、将 WWREGS 更改为 D_SYS_CFG、CLK1、CLK2、EN_ADC

    然后读取 D_SYS_CFG (之前的响应为4C03... 和预期的一样)

    然后是 RREG 的响应:

    为了向您展示单个 WREG 工作、下面是 A_SYS_CFG:

    和响应:

    很抱歉所有屏幕截图、但到目前为止、除 WREGS 命令外、一切都工作正常。

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

    嗨、Todd -在帧结束之前、看起来好像有东西将 MISO 拉高(似乎是最后4-5位)。 大多数帧在总线1的末尾以0x0F 或0x1F 结尾。

     第三个帧中的响应表示器件已通过第二个帧中发送的 UNLOCK 命令解锁。 就绪字也在第二个帧(0xFF04)中输出、这是正确的。 到目前为止、这看起来很好(暂时忽略总线1的末尾)。

    [引用 userid="472327" URL"~/support/data-converters/f/data-converters-forum/994095/ads131a04evm-wregs-problem/3672247 #3672247"]

    然后读取 D_SYS_CFG (之前的响应为4C03... 和预期的一样)

    然后是 RREG 的响应:

    [/报价]

    对 WREGS 的响应看起来正确(0x4C03)。 您能否读回0Eh 或0Fh、而不是通过读取地址0Ch 进行确认? 同样、请读回写入非默认值的寄存器。

    [引用 userid="472327" URL"~/support/data-converters/f/data-converters-forum/994095/ads131a04evm-wregs-problem/3672247 #3672247"]

    为了向您展示单个 WREG 工作、下面是 A_SYS_CFG:

    和响应:

    [/报价]

    WREG 命令(4Bxxh)被(0x2Bxx)响应这一事实表明该命令被正确接收。 但是、0x60是该寄存器的默认值。 是否可以尝试发送0x4B680000以验证它是否正常工作?

    另一个想法-请根据图1仔细检查您的计时延迟。 尤其是/CS 下降沿到 SCLK 上升沿(TD (CSSC)> 16ns)。  

    此致、

    Ryan

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

    Ryan:

    我将 CS 时序从8nsec 更改为18nsec。 我仍然看到 WREGS 的问题。 我确实写回 ADC_EN (0x0F)、以便 WREG/RREG 看起来工作正常。  

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

    您好 Todd、

    还有没有幸运吗? 我已将我们的数字设计人员环入线程、以查看我们可能缺少的其他内容。

    此致、

    Ryan

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

    Ryan:

    我在我的一侧没有看到任何东西可以解决我在 WREGS 中看到的问题。 BTW、除了从器件获取 ADC 数据之外、我还没有尝试 RREGS。 WREGS 是否适合您? (我应该看一下与 EVM 上 TiVo 处理器的交互、但从我看到的情况来看、一次设置是一个寄存器。) 感谢您与他人合作。

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

    您好 Todd、

    由于 EVM 不断轮询状态响应、因此无法获取逻辑分析仪捕获。 但是、我确实通过 EVM GUI 测试了 WREGS 和 RREGS 命令。 控制台日志和更新的寄存器映射捕获如下:

    您的电路板上是否启用了汉明码? 通过将引脚32连接到高电平(M2)来启用此功能。 我不确定在使用32位 LSB 填充字大小时、其他什么会导致最后4-5位切换。

    此致、

    Ryan