This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ULC1001: Need for Calibration when stand-alone

Guru 12155 points
Part Number: ULC1001

Hi, 

Q1.
Is a Host (MCU or processor) required for the ULC system? In other words, is it possible to write configuration in advance without using I2C?

Q2.
Below are the ULC operation modes described in the datasheet. What does "burst count” in this diagram indicate?
We have been doing GUI-based evaluation and sending commands to vibrate via I2C from a PC.
However, I have not caught up with understanding how it works stand-alone without a PC.

Q3.
Related to Q2, I would like to know the timing of Calibration. Does Calibration need to be done every time ULC starts up? Or is it not particularly necessary after the initial settings have been made in Calibration on a GUI basis? I am wondering if it needs to be performed stand-alone after the ULC is shipped in mass production. As far as I can tell from the documentation, it states that Calibration needs to be done at a temperature of about 25℃. How should this be handled if the APP is to be used in a hostile environment?

Thanks,

Conor

  • Hi Conor,

    Thank you for reaching out. 

    Q1: Yes, a host is needed to send I2C to the ULC device. We plan to use the I2C side channel of the camera serializer to communicate with ULC using poc.

    Q2: In any cleaning sequence, you can have up to 30 bursts. Every burst has its own burst parameters including amplitude, start frequency, stop frequency, etc. For example, looking at the water cleaning mode in the GUI screen capture below, you can see that it has 4 bursts that need to be followed in sequential order to complete the cleaning sequence. The "burst count" in the state diagram is just saying that it will execute burst 0 first (Set Burst Count = 0), and increment up one until all bursts have been executed. So for water it will execute burst 0 (8), then burst 1 (9), then burst 2 (13), and finally burst 3 (14).


    If you would like to use the device without a PC, you will have to use a host that has the registers configured on it for calibration and cleaning sequences, and then a method of enabling the sequences. If you refer to our EVM, we have push button operation that does not require the use of a PC and uses the MSP430 as a host.

    Q3: The time it takes to calibrate is dependent on how you set up the calibration sequence like how many burst and the duration of each burst. You can calculate the total time by selecting each burst in the calibration sequence and summing all the duration and delays. You can find the duration and delay in the burst parameters section of the GUI. For the remainder of this question, I will let Kelly respond. 

    Regards,
    Sydney Northcutt

  • Hi Conner,

    Here are some more details on Q3:

    For calibration, there are sweeps that identify resonance frequencies for cleaning and then there is the Temperature Calibration, which is a single point measurement. The comment on calibrating at 25degC related to the temperature calibration and this nominal temperature (~25degC) can be changed - it is a register (USER_Params_tempParams_calTemp_C_Q21 = default is 23degC). I'll elevate this setting to the GUI high-level page next revision. For now, it can be found in the register map page under TEMP_PARAMS.

    The goal is to run calibration at the factory and then save all relevant burst parameters that are updated for the cleaning sequences as well as the Temperature Constant (USER_Params_tempParams_constant_C_Q21), which is on the high-level "cleaning modes" page. This saved file becomes the default boot-up script for ULC1001. From here, you only need to write USER_Commands for enabling sequences and set the Lock bit (USER_Commands_flag_newCommand). The high-level GUI page has play buttons which set the USER Command and invoke the respective sequence. 

    Additionally, if you want to re-run calibration for Region 1/Region 2/Mass Detect/etc after production, then you can modify the bursts in the calibration sequence and only calibrate those specific setting (leaving the temperature calibration alone and fixed with the factory calibration value). These cleaning resonant frequencies may shift due to various conditions, so it is certainly plausible that re-running calibration post-production has benefits. In general, we have seen the true resonance frequencies of the Lens Cover System be consistent over thousands of cleaning cycles in our lab testing. 

    - Kelly