cancel
Showing results for 
Search instead for 
Did you mean: 

How to do the Crosstalk compensation for VL53L1X with VL53L1X ULD

DSai.1
Associate III

I use a glass for our VL53L1X sensor. But we found there is a crosstalk problem and

have to use crosstalk compensation. We use VL53L1X ULD for our device.

There are three functions about crosstalk.

int8_t VL53L1X_CalibrateXtalk(uint16_t dev, uint16_t TargetDistInMm, uint16_t *xtalk);

VL53L1X_ERROR VL53L1X_GetXtalk(uint16_t dev, uint16_t *Xtalk);

VL53L1X_ERROR VL53L1X_SetXtalk(uint16_t dev, uint16_t XtalkValue);

Could you tell how to use these functions to compensation crosstalk affect?

best regards

Dai Sai

1 ACCEPTED SOLUTION

Accepted Solutions
Zhiyuan.Han
ST Employee

Hi Dai Sai

To get correct xtalk value, you need to perform xtalk calibration,

Crosstalk calibration should be conducted in a dark environment, with no IR contribution.

Place a 17 % reflectance chart at the crosstalk calibration distance (xcd),

then call the VL53l1X_CalibrateXtalk(dev, xcd, &xtalk) to get the correct xtalk value.

Once you get the xtalk value you can save this value to your system FLASH, after VL53L1X rebooting, you need read the xtalk value out from FLASH, and set to device by command

VL53L1X_SetXtalk ().

For the clibration distance, the suggested calibration distance will be the inflection point of the raw ranging results (without xtalk compensation).


_legacyfs_online_stmicro_images_0693W00000biHM5QAM.pngFor more details, please check the guide on www.st.com

https://www.st.com/resource/en/user_manual/um2510-a-guide-to-using-the-vl53l1x-ultra-lite-driver-stmicroelectronics.pdf​

Br

Zhiyuan.Han


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
Zhiyuan.Han
ST Employee

Hi Dai Sai

To get correct xtalk value, you need to perform xtalk calibration,

Crosstalk calibration should be conducted in a dark environment, with no IR contribution.

Place a 17 % reflectance chart at the crosstalk calibration distance (xcd),

then call the VL53l1X_CalibrateXtalk(dev, xcd, &xtalk) to get the correct xtalk value.

Once you get the xtalk value you can save this value to your system FLASH, after VL53L1X rebooting, you need read the xtalk value out from FLASH, and set to device by command

VL53L1X_SetXtalk ().

For the clibration distance, the suggested calibration distance will be the inflection point of the raw ranging results (without xtalk compensation).


_legacyfs_online_stmicro_images_0693W00000biHM5QAM.pngFor more details, please check the guide on www.st.com

https://www.st.com/resource/en/user_manual/um2510-a-guide-to-using-the-vl53l1x-ultra-lite-driver-stmicroelectronics.pdf​

Br

Zhiyuan.Han


In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
DSai.1
Associate III

Dear Han,

thank you very much for your information.

I will try based on your advise.

best regards

Dai Sai

John E KVAM
ST Employee

Also there is an article on the subject. The article tab at the top of this page is where you find it.

Or you can click on:

https://community.st.com/s/article/Time-of-Flight-Cover-glass


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.