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.

[参考译文] BQ34110:I2C 事务之间的间隔

Guru**** 2609955 points
Other Parts Discussed in Thread: BQSTUDIO, BQ34110

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/994505/bq34110-intervals-between-i2c-transactions

器件型号:BQ34110
主题中讨论的其他器件:BQSTUDIO

要将内容置于上下文中、这也是我最近创建的线程的后续操作:

https://e2e.ti.com/support/power-management/f/power-management-forum/991009/bq34110-mfg-status-init-not-directly-writable

如上面的线程所述、工厂参数内置在我的固件中、并将在工厂配置过程中写入 DF。 我在执行参数编程时使用分析仪监控 I2C 总线。 在某些情况下、会发生总线错误。 例如:

请注意事务所需的时间(343)。 不同的运行会使错误出现在写入数据流的不同点。 我还注意到有一些事务被延长、例如上面的#135、其中发送字节花费了18ms。 驱动程序被轮询、无 RTOS、并且只有一个 ISR 每 ms 递增一次计数器、因此极短。 我假设较长的交易是由电量监测计拉伸引起的。

我在 BqStudio 将默认值写回电量监测计 DF 时捕获了 I2C 总线。 我获得了以下结果(部分):

不用说没有发生错误。

在分析上述捕获时、我最突出的是交易之间的时间间隔。 例如、在事务1 (写入 MAC 和 MAC_DATA)和事务2 (写入校验和和和长度)之间、间隔为~15ms。 介于2和3之间(BqStudio 发送地址以读回刚刚写入的数据)、~141ms。 3到4 (读取 MAC/MAC_DATA/校验和/长度)、~15ms。

我对以下事务重复分析、我注意到一种模式:在两个事务之间(有一个例外)、间隔约为15ms。 异常情况是、通过写入校验和/长度寄存器来触发写入操作、在新的传输开始之前有一个~140ms 的间隔。

我的固件出错的可能原因是与时序相关的、如果是几毫秒级的事务之间的时间间隔、写入后、我添加了一个时间间隔、但仅为几十毫秒。 在之前有关此问题的询问中、建议我读回 CONTRAL_STATUS 寄存器、但在我的测试中它不起作用、正如您看到的、BqStudio 不起作用。

我找不到有关 BQ34110 I2C 事务之间的时间间隔的信息。 数据表、TRM 和应用手册中的唯一信息是有关协议的信息;我无法找到有关时序的信息。  所以、我的第一个重要问题是、是否有这样的信息我可能错过了。 如果没有、建议的时间是多久? 我可能会尝试更改我的固件以模拟 BqStudio 时序、但我宁愿使用文档源而不是临时文档源。

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

    Elder、您好!

    您可以使用闪存流文件来参考延迟、使用解释格式的 slua801文档。 闪存流文件、以及我们建议用于对监测计进行编程的文件。

    如果您修改代码以增加匹配时间、bqStudio 是否能正常运行?

    此致、

    Wyatt Keller

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

    您好、Wyatt

    感谢您的提示。 我错过了闪存流文件、我必须深入挖掘一点才能找到有关格式的信息(我在对类似这样的另一个线程的答复中找到了它)。 我假设使用黄金映像对 FG 进行编程需要一个外部工具、但在我看来、未发生这种情况、在我的固件中可以实现它。

    我看到它使用存储器模式(地址 x16)。 检查 FSF 后、时序似乎比 BqStudio 的时序短。 也许它不需要 FG 的内部处理器即可工作、因此它可以更快地工作。 BqStudio 使用非常保守的时序

    无论如何、对于我的情况、FSF 不是一个选项、因此我将调整驱动程序以执行与 BqStudio 类似的操作。 幸运的是、固件代码的结构无需付出巨大的努力。

    我将在完成更改并测试后报告这些更改。