您好、TI 支持团队、
我尝试使用 FET_CONTROL 命令手动设置 FET 状态。 我实现了以下操作(仅允许 DSG FET 关闭),但它不执行任何操作,我会知道我的事务是否正常(使用不带 CRC 的通信模式 I2C):

感谢您的帮助、
Robin
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.
您好 Robin、
除了 fet_control()命令外,您还必须发送相应的位来启用/禁用 FET,如 表5-8所述。 《技术参考手册》的 FET 控制子命令。 这意味着在发送 fet_control()后,必须发送与 FET Status()寄存器匹配的位。 如果一个位被置位、它将禁用那个特定的 FET。
除此之外, 在发送 FET_CONTRARINS()命令和相应的控制位之后,必须将校验和和长度写入0x60。 BQ769x2软件开发指南的第2节-子命令对此进行了说明。
0x40用于数据读取、因此您在该命令中不需要它。 此外、BQ76942的器件地址为0x10、而不是0x08。
因此、打开所有 FET 的示例序列为:
写入[0x10] <Device Address
0x3E
0x97
0x00
0x00 <For all FETs on (For all FETs off, this would be 0x05)
写入[0x10]<For checksum
0x60
0x68
0x05 <New length
我希望这对您有所帮助。
此致、
Luis Hernandez Salomon
您好 Robin、
我发送的事务不使用 CRC。 FET_CONTRAINU()子命令等子命令要求发送校验和。 《BQ769x2软件开发指南》的第2节对此进行了介绍
此致、
Luis Hernandez Salomon
您好 Robin、
似乎我误解了命令的目的。 FET_CONTINUV()仅禁用 已置位的 FET。 如果您想控制 FET、最好与 DSG_PDSG_OFF ()和 CHG_PCHG_OFF ()命令一起发送 All_FET_ON (0x0096)、这样就更容易控制 FET。
但是,如果您要使用 FET_CONTINUVENT(),则可以通过发送 all_FET_ON()命令,然后使用 FET_CONTINUV()任意打开或关闭 FET 来实现相同的效果。
我对这种混乱表示歉意。
此致、
Luis Hernandez Salomon