cancel
Showing results for 
Search instead for 
Did you mean: 

vl53l0x I2C tBUF min=1.3ms?

j i
Associate
Posted on November 30, 2017 at 16:48

We've noticed that the datasheet states the following about I2C timings:

tBUF - Bus free time between transmissions must be minimum 1.3ms

For a 400kHZ I2C transmission, that sounds quite a long wait between frames...

Is this OK, or is it an errata?

If not wrong, what could then happen if this tBUF is not respected?

Thanks in advance

#vl53l0x #i2c #vl53l0x-x-nucleo-53l0a1
1 REPLY 1
John E KVAM
ST Employee
Posted on January 02, 2018 at 17:29

The processor that takes the measurements and does the I2C I/O is not very big. The tBuf time gives the CPU enough time to process the command and do something useful. If the chip is not doing anything - say during initialization, you can do sequential I/Os to it. But when the chip is ranging, best not to query it too often. I've had customers ask the chip 'Are you done yet?' in a tight loop, and the master CPU simply overwhelms the sensor. It's best to either use the interrupt to check for 'done' or to wait a millisecond or two between queries.

- john


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.