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.

[参考译文] ADS8681W:读取寄存器时出现奇怪的行为

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1510598/ads8681w-strange-behavior-when-reading-out-the-registers

器件型号:ADS8681W

工具/软件:

你好

启动 ADC 后直接读取时、会在 DEVICE_ID_REG 中读取0x0010、数据表指出该值应始终为0x0000。 是否有其他人观察到这种行为?

(发送(绿色) 0xCC01'0000 = 0b1100'0000'0001'...)

(接收(红色) 0x0010'0000、预期为0x0000'0000)

第二点、从我的角度来看、这也与数据表中的说明不对应、如果您已在 DATAOUT_CTL_REG 中激活了奇偶校验位、读取期间还会附加奇偶校验位、而数据表中指出16位数据用于半字读取、其余响应都是0。

示例、从设置为+-2.5V x Vref 的14h (RANGE_SEL_REG)读取半字:

(发送(绿色) 0xCC14'0000)

(接收(红色) 0x0001 'c000、预期值0x0001 '0000)

此致

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

    尊敬的 Simon:

    欢迎来到我们的 e2e 论坛!  DEVICE_ID_REG 的默认值需要在 ADS8681W 数据表中更新、默认情况下 D4看起来像"1"、因此我们将使用下一个数据表版本进行更新。  对于第二个问题、您是否启用了 DATAOUT_CTL_REG 中的奇偶校验位或任何其他标志?  这些位将在 HWORD 读取中设置(请参阅第6.5.3节中的详细信息)。

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

    您好、Tom、
    感谢您的答复。 我在 DATAOUT_CTL_REG 中设置 DEVICE_ADDR_INCL 和 PAR_EN 位。 但我只能观察到输出数据中的奇偶校验位。

    也许6.5.3可以写得更清楚一些,我读:

    "如果在帧 F 中发出有效的 READ_HWORD 命令、则帧(F+1)的输出数据字包含16位寄存器数据、后跟0。" 以及"对 DATAOUT_CTL_REG 寄存器进行编程以将各种数据标志附加到转换结果。"、因此我认为各种信息只附加到转换结果、而不是寄存器数据字。

    但是、更让我感到困惑的是、我只找到了奇偶校验位、而没有找到数据字低16位的地址。


    写入配置:

    读取寄存器02h 和10h:

    此致。

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

    感谢您的反馈。  我们将尝试稍微澄清一下措辞。

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

    如果启用了奇偶校验和地址、两者都应该连接到输出数据帧? 我仅观察了奇偶校验位。

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

    尊敬的 Simon:

    是-有关输出字中各种位的位置、请参阅表6-6。

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

    您好、Tom

    但地址位不在那里、请看我的最后两个作用域。

    此致。

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

    尊敬的 Simon:

    我看到的是0xD0020005、这会设置地址、然后在第二个捕获中写入0xCC020000 (可能是0xC802000)、下一帧数据输出0xXXXX 5. C00。  那不是你的地址吗?

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

    尊敬的 Tom:

    是、如果数据帧是转换结果、则存在奇偶校验和地址。 但如果我从寄存器读取数据、地址似乎不存在:

    占空比 发送 接收 注释
    0 0xCC02 0000 0xC61F 5C00

    Tx:读取寄存器0x02命令

    RX:具有地址和奇偶校验的转换结果

    1. 0x0000 0000 0x0005 0000

    TX:NOP

    RX:reg 02内容 之间的比较 地址和奇偶校验

    2. 0xCC10 0000 0xC61D 5000

    Tx:读取寄存器0x10命令

    RX:具有地址和奇偶校验的转换结果

    3. 0x0000 0000 0x4008 0000

    TX:NOP

    RX:reg 10内容 之间的比较 地址和奇偶校验

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

    尊敬的 Simon:

    在上面的屏幕截图中、蓝色迹线是否仍然是您的/CS 输入?  为什么该迹线上有这么多活动?  /CS 在整个32位命令周期内是否保持低电平?

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

    亲爱的汤姆

    我的 CS 生成存在小问题、但更正后输出没有变化:

    占空比 发送 接收 注释
    0 0x0000 0000 0xA7F5 0000

    TX:NOP

    RX:无地址和奇偶校验的转换结果

    1. 0xD002 0005 0xA7EF 0000

    TX:将0x0005写入寄存器0x02 (地址= 5)

    RX:无地址和奇偶校验的转换结果

    2. 0xD010 4008 0xA7F8 0000

    TX:将0x4008写入寄存器0x10 (PAR_EN、DEV_ADDR_INCL)

    RX:无地址和奇偶校验的转换结果

    3. 0xD014 000b 0xA7F9 5C00

    TX:将0x0B 写入寄存器0x14 (1.25V x VREF)

    RX:具有奇偶校验和地址的转换结果

    4. 0xC802 0000 0xA81A 5000

    TX:从寄存器0x02进行读取

    RX:具有奇偶校验和地址的转换结果

    5. 0xC810 0000 0x0500 0000

    TX:从寄存器0x10读取

    RX:寄存器内容 之间的比较 奇偶校验和地址

    6. 0x0000 0000 0x4008 0000

    TX:NOP

    RX:寄存器内容 之间的比较 奇偶校验和地址

    您能否使用您的设置验证此输出?

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

    尊敬的 Simon:

    好的-这看起来更接近我的期望。  以下是我在我这边看到的:

    我使输入饱和、从而更容易屏蔽实际数据。 0xC802之后的0x0005是地址。  我现在正在研究这一点-如果你更改为3、4、6 -你会看到它通过所有的读取传播。

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

    您好、Tom、

    感谢您的验证。 因此、在读取命令后、帧中不会附加任何地址和奇偶校验位。 帧仅包含高16位的寄存器内容。 低16位未使用。 我不明白该器件是正确的、但数据表实际上描述得很好:

    •如果在帧 F 中发出有效的读取命令、则帧(F+1)的输出数据字包含8位寄存器
    数据、 然后是0。
    •如果在帧 F 中发出有效的 READ_HWORD 命令、则帧(F+1)的输出数据字包含16位
    寄存器数据、 然后是0。

    DATAOUT_CTL_REG 中的配置的...independent。