主题中讨论的其他器件:BQ78350
您好!
我们有一个定制板、除了 HostFETControl 寄存器外、与 BQ78350的 SMBus 通信工作正常。 有时、该器件会将时钟延长约25ms、并生成 NACK。 有时、在读取时、它会拉伸时钟、然后使用数据0xFFFF 和 PEC 0xFF 进行响应。
其他用户似乎也遇到了第一个问题、如下所述:
是否有任何结论、或者是否有人建议该特定寄存器的行为为何如此?
此致
伊曼纽尔·W
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.
您好!
我们有一个定制板、除了 HostFETControl 寄存器外、与 BQ78350的 SMBus 通信工作正常。 有时、该器件会将时钟延长约25ms、并生成 NACK。 有时、在读取时、它会拉伸时钟、然后使用数据0xFFFF 和 PEC 0xFF 进行响应。
其他用户似乎也遇到了第一个问题、如下所述:
是否有任何结论、或者是否有人建议该特定寄存器的行为为何如此?
此致
伊曼纽尔·W
您好!
当然、这里有一些使用逻辑8分析仪拍摄的详细信息和图片。 我还注意到、写入期间出现 NACK 问题、读取期间出现0xFFFF 问题。 不过、它们似乎都与 SMBus 超时相关。 在测试时、我每5秒仅发出一次 HostFETControl 命令(根据要重现的错误进行读取或写入)。 如果命令失败、将立即发出重试尝试。
请注意、我图片中的名为 PRECHG 的信号不是实际的 PRECHG 信号、而是在检测到 SMBus 错误时从 MCU 发送的调试触发信号。 我没有意识到我忘记重命名它、直到它太晚了...
NACK_1和_2:发送解锁代码0x1197正常
NACK_3和_4:发送0x0000到 HostFetControl 失败、0x00后 NACK
NACK_4和_5:通过发送解锁代码0x1197失败来重试、在代码 MSB 0x11之后 NACK (逻辑将代码 MSB 0x11解释为 PEC 并错误地报告 PEC 错误)
NACK_6和_7:我们的 MCU 未能检测到解锁失败、并始终发送 HostFETControl 命令0x0000、这会成功(可能是因为之前在4S 窗口内执行了成功解锁)。
0xFFF_1和_2:从 HostFETControl 读取、在大约25ms 的时钟延长后、通过数据0xFFFF 和 PEC 0xFF 进行响应
0xFFF_3和_4:从 HostFETControl 重试读取以数据0x1717和 PEC 0x17进行响应
0xFFF_5和_6:第二次重试、成功读取 HostFETControl
请随时询问是否需要更多数据/样片。
编辑:我忘记提到错误发生的频率如下:
NACK:有所不同、但10到30对的 UNLOC+命令成功、然后错误发生1或几次
0xFFFF:大约30次读取后、出现1到10个0xFFFF 错误、然后它再次运行大约30次