Other Parts Discussed in Thread: ADS112C04EVM, ADS122C04EVM, ADS112C04
主题中讨论的其他器件: ADS122C04EVM、
我正在将对该器件的支持添加到我的器件 I/O 库 diozero 中-我的原型实现 在这里提供。
我已经测试了基本的单次和连续读取、并正在尝试绕过数据完整性(DI)检查和数据计数器(DC)选项。
我有一个电位器连接到 AIN0、对于这些测试、该电位器保持在可提供~3660 (0x0E4C)模拟读数的位置。
当这两种模式都被禁用时、读数看起来是正确的。
当禁用 DI 检查并启用 DC 时、一切都是正确的、我可以看到数据计数器正在递增。
当 DI 设置为"反相数据输出"且启用直流时、读数正确、但直流值似乎固定在175 (0xAF)。 读取数据反转是正确的、但是直流反转是错误的。 实际上、直流反转看起来是正确直流值的反转。 针对5个单次读取读数的原始输出
AF 0e 4b fe f1 b4.
AF 0e 4b FD F1 b4
AF 0e 4b fc F1 b4
AF 0e 4b fb f1 b4.
AF 0e 4b fa f1 b4.
第一个字节是直流、始终为0xAF、接下来的2个字节是我所期望的读数、第四个字节是直流反转、正如您所看到的、它按预期递减、 最后2个字节是字节2和3的正确反转。
当我禁用直流电时、我会得到奇怪的读数:
EF 4b F1 b4
EF 4c F1 B3
EF 4b F1 b4
读取值不正确、字节3不是字节1的反转、字节4是字节2的反转。
接下来将 DI 校验更改为 CRC-16、在启用直流的情况 下、我获得固定直流值(141 - 0x8D)、正确的读数、但是 CRC-16计算是不同的。 我已 根据 crccalc.com 上的数据验证了我的 CRC 实施。 原始数据示例:
8d 0e 4a 9d 76
将直流标志更改为禁用我会得到奇怪的读数、并且再次无法验证 CRC-16值:
C5 4a f2 67
如果有任何指示,将不胜感激。
