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.

[参考译文] ADS131M04-Q1:与数据表中所述的 24 位对齐和补零相混淆

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1649597/ads131m04-q1-confused-with-24-bit-alignment-and-zero-padding-described-in-datasheet

器件型号: ADS131M04-Q1

数据表的第 37 页显示:

字可以是 16、24 或 32 位。 字大小由 MODE 寄存器中的 WLENGTH[1:0]位配置。  该器件默认为 24 位字大小。 命令、响应、CRC 和寄存器始终包含 16 位实际数据。 这些字始终是最高有效位 (MSB) 对齐、因此最低有效位 (LSB) 用零填充、以适应 24 位或 32 位字大小。 ADC 转换数据的标称值为 24 位。

首先命令:

命令为 16 位;是否必须用零填充才能与 24 位字大小对齐?

CRC 为 16 位;是否必须用零填充才能与 24 位字大小对齐?

 换言之、我是否将其发送:

或者:

第二,全面回应:

完整响应是否如下所示:






或者:






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

    尊敬的 Jeremy Barney:

    1. 如果针对 16 位数据字长将 WLENGTH[1:0]设置为 00b、则 不需要零填充数据、请参阅下面的 16 位字格式读取时钟寄存器的时序示例(禁用输入 CRC):

       

    2. CRC 是 16 位数据、因此 在 16 位模式下无需将其填充为零。 默认情况下禁用输入 CRC、 如果启用输入 CRC、则必须向 M04 发送 CRC 字以读取寄存器或数据。   

    在 24 位字模式下、来自 M04 ADC 的响应将为零填充状态字 (24 位格式)+ 4 通道数据(24 位格式)+零填充 CRC 字(24 位格式)。 第一个回答选项就是这种情况。

      在 16 位字模式下、 来自 M04 ADC 的响应将为状态字 (16 位格式) + 4 通道数据   (16 位格式)+ CRC 字(16 位格式)。 请注意、 响应和 CRC 始终包含 16 位实际数据。 下面是 16 位格式的时序示例。

       

      注意:由于启用了输入 CRC、但在 采集数据时没有向 M04 发送输入 CRC、因此在 STATUS 字中报告了 CRC 错误。

    BR、

    Dale

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

    感谢您提供的信息!

    我想确保我理解你说的话。 因此配置为 24 位模式、在禁用输入 CRC 的情况下、读取状态的命令将如下所示:

    1.置位芯片选择

    2.

    3.将芯片选择置为无效

    4.置位芯片选择

    SPI_CLKS 数量
    16 响应
    8. 补零(丢弃)
    24 通道 0
    24 地址
    24 通道 2
    24 通道 3
    16 CRC
    8. 补零(丢弃)
    144. 总计

    如果我在 24 位模式下读取寄存器、例如 CLOCK 寄存器、那么我是否会执行此操作(输入 CRC 仍被禁用)?

    发送 RREG 命令、由于 24 位模式而补零:

    获取响应和状态

    <128 SPI_CLKs>

    我是否正确理解?

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

    无论填充位置如何、是否始终从 CRC 计算中排除补零? 参考上面的示例、我将通过 CRC 计算器传递 clock_reg[15:0]、但不通过下面的 zero_padding[7:0];我将使用通道 0 Data[23]恢复 CRC 计算、并继续转到 CRC[0];在 CRC 之后通过 CRC 计算器推补零没有意义。

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

    尊敬的 Jeremy:

    1.您对 24 位模式的理解是正确的。

    2.在 24 位模式下读取寄存器(例如时钟寄存器)时。

    •   您需要切换/CS 以获取寄存器数据。  
    •   如果启用了输入 CRC、则需要向 ADC 发送输入 CRC 字。

       以下是 读取 GAIN 寄存器 (0x4 地址、默认禁用输入 CRC) 的时序示例:

       

    3、  CRC 计算中应包括补零。 您可以使用 ADC-DESIGN-CALC  适用于 TI 高精度 ADC 的在线设计计算器工具中的 CRC 工具 来验证 CRC。 应用手册(简单的基于浏览器的CRC 计算器) 可以帮助您理解和检查。

    BR、

    Dale