當 EN_OLON 位被編程為值 1010b 時,器件將啟動診斷回路,在該回路中檢查所有自動可配置(用作高側(cè)開關(guān)時)通道是否為開啟時開路負載。首先,內(nèi)部邏輯會檢查由微控制器直接驅(qū)動且未配置為由內(nèi)部 PWM 發(fā)生器驅(qū)動的所有通道。然后,內(nèi)部邏輯會檢查所有配置為由內(nèi)部 PWM 發(fā)生器驅(qū)動的通道。
- 直接由微控制器驅(qū)動的通道的診斷序列
- 檢查第一個通道:通道 2。TI 建議在啟用診斷回路之前通道至少開啟 tON。
- 經(jīng)過 tOLONSET + tSYNC 這段時間后,第一個通道的診斷完成(OLONx 位更新)
- 將內(nèi)部多路復用器設(shè)置為下一個通道。經(jīng)過 tOLONSW + tSYNC 這段時間后,所選通道的診斷完成(OLONx 位更新)。對其余所有直接驅(qū)動通道重復此步驟。
- 如果執(zhí)行診斷時一個通道關(guān)閉,則相應(yīng)的 OLONx 設(shè)置為 0b
- 內(nèi)部 PWM 發(fā)生器驅(qū)動通道的診斷序列
- 只有在檢查由微控制器直接驅(qū)動的所有通道后,才會檢查這些通道
- 首先檢查映射到 PWM 發(fā)生器 0 的通道
- 經(jīng)過 tOLONSET 之后,通道激活(開關(guān)開啟)是針對第一個通道執(zhí)行開啟時開路負載診斷的觸發(fā)事件
- 經(jīng)過 tONMAX + tOLONSW 這段時間后,第一個通道的診斷完成(OLONx 位更新)
- 將內(nèi)部多路復用器設(shè)置為下一個通道。經(jīng)過 tOLONSW 這段時間后,當前所選通道的診斷完成(OLONx 位更新)。對所有其余由 PWM 發(fā)生器驅(qū)動的通道重復此步驟。
- 如果通道在 PWM 周期內(nèi)處于關(guān)斷狀態(tài),則內(nèi)部邏輯會等待導通狀態(tài)來執(zhí)行診斷。經(jīng)過一段時間 tONMAX + tOLONSW 后,該通道的診斷完成。
- 可靠診斷的最短導通時間 > tONMAX + tOLONSW。如果導通時間 < tONMAX + tOLONSW,則相應(yīng)的 OLONx 會設(shè)置為 0b。
當回路結(jié)束時,EN_OLON 位被設(shè)置回 1111b(默認值),OLONx 位保存最后一個診斷回路結(jié)果。需要啟動另一個診斷回路來更新寄存器內(nèi)容。