当 EN_OLON 位被编程为值 1010b 时,器件将启动诊断回路,在该回路中检查所有自动可配置(用作高侧开关时)通道是否为开启时开路负载。首先,内部逻辑会检查由微控制器直接驱动且未配置为由内部 PWM 发生器驱动的所有通道。然后,内部逻辑会检查所有配置为由内部 PWM 发生器驱动的通道。
- 直接由微控制器驱动的通道的诊断序列
- 检查第一个通道:通道 2。TI 建议在启用诊断回路之前通道至少开启 tON。
- 经过 tOLONSET + tSYNC 这段时间后,第一个通道的诊断完成(OLONx 位更新)
- 将内部多路复用器设置为下一个通道。经过 tOLONSW + tSYNC 这段时间后,所选通道的诊断完成(OLONx 位更新)。对其余所有直接驱动通道重复此步骤。
- 如果执行诊断时一个通道关闭,则相应的 OLONx 设置为 0b
- 内部 PWM 发生器驱动通道的诊断序列
- 只有在检查由微控制器直接驱动的所有通道后,才会检查这些通道
- 首先检查映射到 PWM 发生器 0 的通道
- 经过 tOLONSET 之后,通道激活(开关开启)是针对第一个通道执行开启时开路负载诊断的触发事件
- 经过 tONMAX + tOLONSW 这段时间后,第一个通道的诊断完成(OLONx 位更新)
- 将内部多路复用器设置为下一个通道。经过 tOLONSW 这段时间后,当前所选通道的诊断完成(OLONx 位更新)。对所有其余由 PWM 发生器驱动的通道重复此步骤。
- 如果通道在 PWM 周期内处于关断状态,则内部逻辑会等待导通状态来执行诊断。经过一段时间 tONMAX + tOLONSW 后,该通道的诊断完成。
- 可靠诊断的最短导通时间 > tONMAX + tOLONSW。如果导通时间 < tONMAX + tOLONSW,则相应的 OLONx 会设置为 0b。
当回路结束时,EN_OLON 位被设置回 1111b(默认值),OLONx 位保存最后一个诊断回路结果。需要启动另一个诊断回路来更新寄存器内容。