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.

[参考译文] ADS131A04:ADS131A04的 CRC 计算

Guru**** 2393495 points
Other Parts Discussed in Thread: ADS131A04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/712609/ads131a04-crc-calculations-on-ads131a04

器件型号:ADS131A04

我具有 ADS13104正常运行的可靠性。  我想在 SPI 总线上启用 CRC 校验、但在启用 CRC 校验时、无法获取 A2D 接受的命令。

例如、要使用命令0x5506解锁器件、将以下字节发送到 A2D (在32位模式下):

//复位 a2d (禁用 CRC 模式)

//解锁寄存器

06 55 00 00 - 00 00 00 00 - 00 00 00 - 00 00 00 00 - 00 00 00 00 -[ 83 DA 00 ](前5个字的 CRC16为0xDA83)  

//响应与预期 的0x00005506匹配

//设置固定帧模式,CRC 模式=1,启用 CRC

4C 43 00 00 - 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 -[6C 65 00 ]

//响应与预期 的0x0000432C 相匹配

//设置 A_SYS_CFG

4B 68 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - [ F1 6F 00 ]

//响应*不*与预期的0x0000684B 匹配-响应为0x00002122。

因此、我希望评估发送的 CRC 值的第一个命令失败。

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

    您好!

    感谢您的发帖!

    我有几个澄清问题/意见要从以下几个方面开始:

    [引用 USER="AJMAJM"]//重置 a2d (禁用 CRC 模式)

    //解锁寄存器[/引用]

    默认情况下、ADS131A04在动态帧模式下加电、同时禁用 CRC。 复位后、只需发送一个32位字即可解锁 ADC (图53B)。 您是否尝试仅发送0x0655 0x0000?

    [引用 USER="AJMAJM"]//响应与预期 的0x00005506匹配[/引用]

    解锁命令的预期响应为0x0655 0x0000 (与您在前一帧中写入器件的响应相同)。 响应应该是 MSB 对齐。

    [引用 USER="AJMAJM"]//设置固定帧模式,CRC 模式=1,启用 CRC [/引用]

    再说一次-此时仍处于动态帧模式、CRC 仍处于禁用状态。 您只需要发送0x4C43 0x0000。 下一帧的正确响应是寄存器地址和更新的寄存器数据(0x4C43 0x0000)。

    [引用用户="AJMAJM"]//设置 A_SYS_CFG [/引用]

    现在您处于启用 CRC 的固定帧模式、您必须向器件发送6个32位字。 我认为 CRC 字应该为0x9949 0x0000。

    此致、