Today I'm going to talk about some applications of SPADs. If you want a reminder of the basics of SPADs, you can read my introductory post or my post on noise. SPADs are single-photon detectors that use feedback systems in conjunction with one another to accurately time the arrival of single-photons. Accurately timing a photon's arrival time is important in many applications, but today I'll be talking about rangefinding.
In rangefinding applications, such as laser-based rangefinding for land surveying, a laser fires a pulse of photons and a detector times the difference between the pulse and the photon detection time. Photons, being light, travel at the speed of light. You'll usually here the speed of light quoted as 300,000,000 meters per second, but optics people prefer to quote the speed of light as
- 30 centimeters per nanosecond
- 300 millimeters per nanosecond
- 300 micrometers (microns) per picosecond
- 30 millimeters per 100 picoseconds
Anyways, we have to accurately time this photon arrival so we can determine the time of flight. The timing inaccuracy is termed jitter; we use various metrics to quantify the jitter, but most of these metrics just capture the usual case. For SPADs, the jitter depends on a few things.
First, the temperature is very important. In a silicon integrated circuit, increasing the temperature increases the ambient energy available to electrons, the main information carriers in the circuit. The introduction of additional energy modifies a carrier's behavior, and thus changing the temperature will change the characteristics of both the fast and slow feedback loops in SPADs.
Next, the color of the light is also important. Different colors of light have different wavelengths. The wavelength describes how frequently the energy moves around in space. Since silicon has a repeating structure, the wavelengths will help determine how likely it is that the light interacts with the crystal, producing the primary electron that could cause an avalanche. It turns out that blue light is optimal for the current generation of SPADs - the optimal wavelength is a balance between how far light usually penetrates into the silicon and where the avalanche region is (remember that we moved the region away from the surface to avoid the noise-causing irregularities at the surface).
Within the avalanche region, the build-up time of the avalanche is obviously important. During the initial portion of the positive feed-back loop, when there are very few carriers active, the variation in each carrier can change the build-up time. Current understanding is that it takes between 0 and 15 picoseconds to generate enough carriers to average out these variations, though this build-up process depends on characteristics like the temperature and strength of the applied force (the electric field).
So what is the end result? Well it depends on what you need and what you have available. If you have a lot of area available on a silicon chip, you can use more complex current detectors to get the jitter as low as 15 or 20 picoseconds. On the other hand, if you're short on area you can raise the jitter as much as you like, but you'd be hard-pressed to raise it above nanoseconds and still have a viable application. Keep in mind that you'll be changing how close the SPADs are, so the cross-talk will change.
When you're making a range-finder, you might care only about one specific range, or you might be trying to acquire a bunch of ranges to get a 3D pictures. If you only care about one range, you can use a lot of area to achieve the 20 picosecond resolution. This corresponds to an uncertainty in space around 6 millimeters. If you have an array of SPADs and timing circuitry, you're more likely to have an error in the 100 picosecond range. 100 picoseconds corresponds to an error of 3 cm in space. You can lower this uncertainty by taking multiple measurements, and since the measurements are so fast the accuracy can easily be one millimeter or less.
Anyways, I hope this post helped you understand about the timing uncertainty in SPADs. The uncertainty affects other applications besides rangefinding, things like quantum-based encryption algorithms, biological imaging, and cancer detection, but those applications are a bit more complicated to explain! I'll be attempting in future posts, and we'll see how it goes.