此常见问题解答将介绍如何通过 I2C 写入在触发模式下设置看门狗的情况。
由于此常见问题解答涉及多个部分、[TPS6594/TPS6593]和[TPS8764]在实现上会略有不同
I2C 命令如下:[基地址]:[写入/读取]、[寄存器地址]、[ Write_Data:掩码]
查看有关示例用法的帖子末尾
假定 :PMIC 已成功通电,未启用 REGISTER_LOCK,默认情况下启用 I2C2,并且 nRSTOUT 引脚已释放(表示 PMIC 处于已知良好状态)。
在释放 nRSTOUT 引脚的时刻、看门狗处于启用状态且处于长窗口中、在此长窗口中将设置 PMIC 以进行更改。 所有这些命令都将在 I2C1总线上执行。
- 将 GPIO 从 I2C2 SDA 更改为 TRIG_WDOG
- 0x48:写入0x32、0x20:0x1F
- 写入您的窗口1和窗口2时序
- 设置最大 Windows 1&2的示例
- 0x12:写入0x03、0x7F:0x80
- 0x12:写入0x04、0x7F:0x80
- 0x7F 是分配的最大时间约为70ms、请仔细检查数据表中的时序方程
- 写入新的长窗口时间
- 设置1分钟窗口示例
- 0x12:写入0x05、0x4D:0x00
- 请注意、此时您的长窗口期需要比当前经历的时间长、再加上额外的时间才能配置 WD 的其余部分
- 将 POWERHOLD 位设置为在经过长窗口时间后离开长窗口并设置 TRIG_WD
- 0x12:写入0x06、0x00:0xF8
- 如果看门狗没有默认开启、则启用看门狗
- 0x12:写入0x09、0x40:0xBF
- 如果您希望默认 WD 行为简单地将0xFF 写入此寄存器、则仅启用 WD
- 0x12:写入0x09、0x40:0xBF
- 在 GPIO 上施加上升沿脉冲并针对 TWD_PULSE (定义在数据表中)保持高电平、以提前退出长窗口和启动窗口1
- 继续按照数据表中描述的方式向看门狗装置馈电
[ Write_Data:Mask]:如果我们只想将某些字段写入 Write_Data 中的寄存器、我们会应用掩码。
掩码允许字节模式中的任何0通过并写入当前寄存器、而不破坏寄存器中的前一个位模式。
例如、 向寄存器模式写入3位
- 当前寄存器值:0b1101_0011 [0xD3]
- 写入数据:0b0011_1001 [0x39]、掩码:0b1100_0111 [0xC7]
- 写入后的寄存器:0b1111_1011 [0xFB]
注意事项:
- 当相应的 GPIO 置于其 SCL_I2C2和 SDA_I2C2模式时、这些器件中的每个器件都可以选择具有单独的 I2C 总线 I2C2与看门狗相关的寄存器仅通过此接口访问。 其中的大多数变体在看门狗的 Q&A 函数中都默认具有该功能
- 在多 PMIC 系统中、主 PMIC 将处理看门狗功能
- 有关基地址和看门狗地址、请参阅您的器件的用户指南和数据表、因为它们因器件型号而异。
- 看门狗馈送确实涉及电平检测、但对事件的响应是由上升沿完成的、然后 WD 会检查其是否为高电平。
- 如果信号在长窗口期间保持高电平(退出)并保留在该位置、则不会有上升沿、并且将在窗口1和2中消失、这将不会被检测为不正确地馈入看门狗、而是检测到 WD_TIMEOUT 错误
----------------------------------------------------------------------------------------------------------------------
想要寻求更多帮助? [常见问题解答] TPS6594-Q1、TPS6593-Q1、LP8764-Q1 PMIC 常见问题解答列表