SLAU915 May 2024 ULC1001
Texas Instruments created two additional modes to regulate the power delivered to the LCS, identify the faults of LCS, and check for an open load condition on the output. Refer to Section 3.2.5 for more details on the diagnostic modes. Assuming the user has already run Calibration Mode and updated the appropriate settings, a diagnostic mode can be run by hitting the Run/Play buttons next to the mode configuration matrix in the Power and Diagnostics high level page. For convenience, the Run/Play buttons automatically put the device in Active Mode and send a Reinit System command before the mode is run. The device is returned to Software Shutdown Mode after a diagnostic mode. TI highly recommends the Amp (puV) settings for each burst of the diagnostics modes equal the Amp (puV) settings used when Calibration Mode was run.
The register sequence for running calibration mode is displayed in Table 4-23.
Register | Read/Write | Data | Description |
---|---|---|---|
00 | W | 00 | Change to Page 0 |
7F | W | 00 | Change to Book 0 |
02 | W | 00 | Put device in active mode |
NA | NA | NA | Wait 5ms |
00 | W | 1A | Change to page 0x1A |
58 | W | 0000000X | Set Diagnostic Mode Command in the UserCommand Register |
5C | W | 00000001 | Notifies the device there is a new command to be executed. |
NA | NA | NA | Wait until above register, 0x5C, = 0. The wait time depends on the settings of the diagnostic modes. |
00 | W | 00 | Change to page 0 |
02 | W | 02 | Put device in software shutdown mode |
In the GUI, the following script can be used in the Python window to run a cleaning mode. The cleaning modes are 0x8 = Power Mode, 0x9 = System Fault Mode
GUI_Module=__import__('ULC1001')
import time
GUI=GUI_Module.Device_GUI("ULC1001.exe",6640.000000)
GUI.write_register("ULC1001","PWR_CTL",0x0) # put device in active mode
# Set Diagnostic Command (0x8-0x9)
GUI.write_register("USER_Commands","USER_Commands_userCommand",0xX) # set Diagnostic Command
GUI.write_register("USER_Commands","USER_Commands_flag_newCommand",0x1) # sets lock bit
time.sleep(x) # set appropriate wait time
GUI.write_register("ULC1001","PWR_CTL",0x02) # returns device to Software Shutdown