The device implemented an OVUV BIST (Built-In-Self-Test) function to test the primary OVUV protector path. Host can start the BIST run by setting [OVUV_MODE1:0] = 0b10 and [OVUV_GO] = 1. The BIST run covers:
- OV and UV comparators thresholds:
- A higher and lower than the set threshold are checked to ensure the comparator is triggered correctly.
- If failure is detected, the corresponding FAULT_PROT2[OVCOMP_FAIL] or [UVCOMP_FAIL] bit will be set.
- The path from the OVUV MUX to UV fault status bit and NFAULT pin:
- For each VC channel, a switch is open so that input to the OVUV MUX is open and will lead to a UV detection to the channel under test
- The BIST engine then checks the logic to assert corresponding FAULT_UV register bit and the NFAULT is set properly.
- The BIST engine resets the corresponding FAULT_UV bit and deasserts the NFAULT, then switches to test the next channel and repeats the process until all active channels are tested.
- If failure is detected, the corresponding [VPATH_FAIL] bit is set.
- OV fault bit and NFAULT path
- The BIST engine forces 1 to the FAULT_OV* register, one bit at time, to ensure each FAULT_OV* register bit can be set and the NFAULT can be asserted, accordingly.
- If failure is detected, the corresponding [VPATH_FAIL] bit will be set.
If NFAULT is enabled, host observes NFAULT
toggling during the BIST run. Upon completion of the BIST run, the OVUV comparators
will be turned off. Host starts the regular OVUV round robin mode by sending
[OVUV_GO] = 1 with [OVUV_MODE1:0] = 0b01 (round robin mode).
Note: - If a [OVUV_GO] = 1 is sent during the OVUV BIST run, device will execute the new GO command based on the [OVUV_MODE1:0] setting.
- Before starting the OVUV Protector BIST, host masks out all the non-OVUV related faults, and ensures there are no OV and UV faults on any cell channels (recommended all cell voltages to be at least 100 mV apart from the OV or UV threshold during the BIST run). Otherwise, the BIST result is not invalid.
- After BIST starts, if pre-existing fault is detected before starting step 2, the BIST engine will be aborted and the FAULT_PROT2[BIST_ABORT] = 1.
- A no reset option, DIAG_PROT_CTRL[PROT_BIST_NO_RST] = 1, is available to command the BIST engine not to reset the fault status and NFAULT pin after testing each channel. If a BIST run fails, host can select this option and re-run BIST to detect which cell channel path is unable reflect a fault condition in the fault registers.