VL53L1X operation sequence
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2021-06-16 3: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.
- Labels:
-
Time of flight
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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
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.
