When the ULC1001-DRV290x EVM is connected and powered, the calibration mode must be run first and needs to be repeated when there is a change in the impedance of the LCS. A change includes changing the wire length or wire gauge connection from the ULC1001 to the LCS.
For calibration, the ULC1001 measures the impedance across multiple frequency ranges to solve for two resonance frequencies and a temperature constant for gauging the temperature of the LCS. The Calibration mode can contain up to five bursts as described in Section 5.2.2. There are multiple adjustable settings for the calibration burst as described in Table 5-2. The calibration burst can be configured for different types of ultrasonic lens cover systems. This user's guide details through the setup for a system with two modes of vibration or two frequency ranges.
Note: After running Calibration mode, all bursts in
Table 4-2 are updated based on the calibration results. If a calibration burst (1-3, 5) is not run, then the returning values are 0. Perform additional updates to
Table 5-3 to start and stop frequencies after running Calibration mode.
Performing Calibration mode using the following steps:
- Clear the LCS of any debris or water and setup up in a room temperature environment (23°C).
- Choose an appropriate amplitude for all chirp parameters.
TI recommended an amplitude of 0.65 puV for the TI LCS with stemnic transducers.
- Choose the start frequency (Freq_Start) and stop frequency (Freq_Stop) for each calibration burst type (1-3, 5). Freq_Stop ≥ Freq_Start is required. The Calibration Mode searches for the programmed values in this frequency range; refer to Table 5-5. The GUI automatically slightly adjusts the frequency values and the Num_Freq chirp parameter to optimize the calibration burst parameters. Num_Freq ≤ 32 is required.
- Run Calibration Mode using the Run/Play button next to the mode configuration matrix in the calibration high level page.
- Wait until Calibration Mode completes (all but the GUI Abort/Reset Sequence button is grayed out as the calibration mode runs).
- Note the Region Parameters (R1 Frequency and R2 Frequency). These parameters must lie within the frequency ranges chosen in step 3. If so, then calibration is complete. If not, then repeat the step 3 above by updating Freq_Start and Freq_Stop as follows:
- If the Region Frequency = Freq_Start, then choose a lower Freq_Start for the corresponding Burst Type. Satisfying Num_Freq ≤ 32 can also require lowering Freq_Stop.
- If the Region Frequency = Freq_Stop, then choose a higher Freq_Stop for the corresponding Burst Type frequency. Satisfying Num_Freq ≤ 32 can also require raising Freq_Start.
Note: An impedance analyzer, like the Bode 100™, can be used to find the resonance frequencies of the LCS and, thus more quickly determines the frequency start and stop parameters for Calibration Mode. However, LCS resonance frequencies are dependent on the drive voltage. Thus, the Calibration Mode computation of R1 - Frequency and R2 - Frequency can be shifted from the values found using an impedance analyzer.
Note: Exercise caution when changing the Region Parameters manually; certain frequencies can create high voltages and damage the circuitry in the ULC1001-DRV290x EVM.
The register sequence for running calibration mode is displayed in Table 5-15.
Table 5-15 Calibration Mode SequenceRegister | 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 | 00000002 | Set Calibration Command in the UserCommand Register |
5C | W | 00000001 | Tells device there is a new command to be executed. |
NA | NA | NA | Wait until above register, 0x5C, = 0. The wait time depends on the calibration modes' settings. |
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 calibrate the system.
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
GUI.write_register("USER_Commands","USER_Commands_userCommand",0x2) # command for Calibration
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