主题中讨论的其他器件:BQ79616
您好!
我之所以编写此文章、是因为 BQ79600中存在异常行为。
我正在尝试使用 INH 引脚功能、以便在发生故障事件时通过菊花链器件对 PMIC 进行反向唤醒。
在链中、我们 通过 SPI 将 MCU 连接到 BQ79600、然后是 BQ79631、最后是 BQ79616。 然后、链以环形架构闭合。
我通过将器件配置为以下方式来启动应用:
- 1小时长通信超时
- 睡眠时 HB_EN = 1
- 睡眠时 FTONE_EN = 1
- INH_DIS = 0 (BQ79600)
- NFAULT_EN = 1 (BQ79600)
启动应用程序后、我复位了所有故障条件、并且获得:
- BQ79600 NFAULT 为高电平
- BQ79600 INH 为低电平
在这种情况下、我执行以下步骤将器件置于睡眠状态:
- 将0x77写入 FAULT_MSK2 ->以屏蔽所有不必要的故障
- 将 GOTO_sleep 发送到最后一个器件(BQ79616)
- 将 GOTO_sleep 发送到第二个器件(BQ79631)
- 设置 TONE_RX_EN = 1 (BQ79600)
- 将0xEF 写入 FAULT_MSK (BQ79600)
- 将0x20写入 DIAG_CTRL (BQ79600)
- 将0xFF 写入 FAULT_RST (BQ79600)
- 将 GOTO_sleep 发送到基础器件(BQ79600)
在最后一步后、我始终将 INH 引脚置为高电平、表示存在故障。
我通过 SLEEP2ACTIVE ping 唤醒 BQ79600、然后发出 SEND_SLCTOACT 命令以唤醒其他器件。
在读取 BQ79600上的故障寄存器时、即使在 BQ79600进入睡眠模式之前 HB 音调存在400ms 周期、也会产生故障 HB_FAIL。
我注意到的另一点是、如果我不屏蔽 HB_FAIL 故障、即使在工作模式下也会出现该故障、并且无法通过写入 FAULT_RST 寄存器中的 RST_HB 来清除它。
您能否提供一些有关这些器件和 INH 引脚功能的帮助?