请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TAS2557 我们正在尝试确保编程后不久看到的某些复位/中断行为不是编程期间的通信问题引起的。 因此、我们尝试利用芯片上的 CRC 功能。 但数据表中未提供有关如何实现这一目标的文档。 它所说的是、有一个用于 I2C 通信的 CRC-8、但没有说明它是如何生成的。
请有人简要介绍一下要使用的算法(例如、它是标准 CRC-8吗?)、以及当我将它们写入器件时、我需要将哪些值馈入其中(reg addr + value、或只是 value、 以及这是否包括/排除某些命令、如书籍/页面选择或特定区域-请参阅下面有关 YRAM 的注释)、以便我可以即时生成预期结果并读取寄存器并确保其匹配、从而验证编程?
背景信息/我尝试过的内容:
我们根据 PurePath3控制台应用发出的 I2C 命令列表使用 SPI 进行写入。
我希望随附的 json 文件将具有数据和匹配的校验和、因此我可以在编写代码以与目标进行通信之前测试 CRC 计算。 特别是要验证我上面询问的内容-即它是地址和值、还是只是值、它是否包括书籍/页面选择命令? 它甚至是我需要使用的标准 CRC-8多项式吗?
遗憾 的是、我尝试提取编程命令并将其馈送到 CRC-8计算器的所有排列都不会导致 json 文件中的值。 我仅解析了程序块、该程序块包含"pramChecksum 和"yramChecksum 等条目、但没有结果送入值或数据 +值、忽略或不忽略书籍/页面选择会导致这些校验和中的任何一个匹配。
我甚至不知道 yram 是什么(不在数据表中)、但 Linux/Android 驱动程序似乎需要对命令处理的书籍/页面以及它在计算其校验和时所涉及的领域有广泛的了解。
由于我们在写入器件之前更改了配置(该工具不满足我们的配置需求)、因此我希望 json 文件中没有校验和、我可以简单地获取和使用、但需要即时计算。