2021-06-16 03:18 AM
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?
Solved! Go to Solution.
2021-06-22 10:05 AM
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
2021-06-22 10:05 AM
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