cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L1X operation sequence

LYoun.3
Associate

VL53L1X has VCSELs and 16x16 SPADs

What I am curious about is the order of operation when reading 16x*16 SPADs one by one.

1. VCSEL on

2. Read SPAD[0,0] value

3. VSCEL off

4. VSCEL on

5. Read SPAD[1,0]

6. VSCEL off

whether or not

1. VSCEL on

2. Read SPAD[0,0]

3. Read SPAD[1,0]

....

n. VSCEL off

Which of the two?

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

Oh, goodness this is really getting into the thick of things. So here we go...

During a 30ms range there are maybe a million pulses of light that go out.

But before we start that we need establish how many SPADs we need. For a very dull surface or one far away we will use all of them.

For a very near, bright target, we can use as few as one or two. We call this Dynamic SPAD Selection (DSS).

After that, the pulses go out and the times are accumulated in hardware. You can think of it as 'all at once', but that's not true at a microscopic level.

The math is a pain, but if you will allow, it's easier to understand how the VL53L1CB works.

All the photons that are detected during each clock cycle are binned into a histogram.

At the end of the ranging period the histogram is evaluated and the shape determines the distance to the target.

if you want to know how the VL53L1X does it, the best I can come up with is 'statistics - it's statistics'.

But that's not the end of it. We actually range twice - with two differnet pulse repetition intervals. This is to detect and deal with something called "Radar Aliasing" which you can google if you want to.

And at that point we can return the answer to you.

As to the bit of code in your question - think of it more in terms of hardware 'or' gates and accumulators instead of software and you'd get a better picture.

-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.

View solution in original post

1 REPLY 1
John E KVAM
ST Employee

Oh, goodness this is really getting into the thick of things. So here we go...

During a 30ms range there are maybe a million pulses of light that go out.

But before we start that we need establish how many SPADs we need. For a very dull surface or one far away we will use all of them.

For a very near, bright target, we can use as few as one or two. We call this Dynamic SPAD Selection (DSS).

After that, the pulses go out and the times are accumulated in hardware. You can think of it as 'all at once', but that's not true at a microscopic level.

The math is a pain, but if you will allow, it's easier to understand how the VL53L1CB works.

All the photons that are detected during each clock cycle are binned into a histogram.

At the end of the ranging period the histogram is evaluated and the shape determines the distance to the target.

if you want to know how the VL53L1X does it, the best I can come up with is 'statistics - it's statistics'.

But that's not the end of it. We actually range twice - with two differnet pulse repetition intervals. This is to detect and deal with something called "Radar Aliasing" which you can google if you want to.

And at that point we can return the answer to you.

As to the bit of code in your question - think of it more in terms of hardware 'or' gates and accumulators instead of software and you'd get a better picture.

-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.