Showing posts with label SPAD. Show all posts
Showing posts with label SPAD. Show all posts

2009-08-30

Timing Properties of SPADs

I've gotten requests for more technical material, so here ya go:

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
We use these values because modern electronics usually have around 100 picoseconds of accuracy. In the future, I think the 300 microns per picosecond value will become more common.

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.

2008-11-14

Noise in SPADs

Today I'm going to continue my post from two weeks ago and talk about noise in SPADs.

As I discussed in my previous post, a SPAD consists of a fast, positive feedback system in conjunction with a slow, negative feedback system. The positive feedback system detects generated electrons, whether they're created by tunneling electrons, traps, thermal electrons, or photons. Since we're focusing on photons, the other types of generated electrons are noise.

If you don't know much about silicon, you probably don't know what a trap is. Standard silicon consists of a repeating pattern of atoms. We need to implant ions into this repeating pattern so we create the properties we need - raise the voltage here and it goes down over there, etc. However, implanting these ions can damage silicon's structure so that the atoms no longer form a neat pattern. When atoms don't form a neat pattern, electrons interact differently with the damaged part of the lattice. Sometimes electrons get stuck in these damaged parts for a bit of time, hence the term "trap". When the electrons finally leave the trap, they can cause an avalanche.

The most prevalent location of traps is at the interface between the silicon and the insulating silicon oxide. Every modern SPAD I've seen buries the region in which the avalanche occurs, the multiplication region. Burying the multiplication region keeps it away from most of the traps and "trap-generated" electrons.

Another source of noise is tunneling. Tunneling is a phenomenon that requires knowledge of quantum mechanics, and I don't think I can explain it well in a paragraph or two. A good one sentence description of tunneling might be, "The laws of nature do not stop electrons from jumping over barriers of any size, although the odds decrease with different barriers." The main way to control tunneling is to change the properties of the barriers between different regions of the chip, specifically the doping of the different implants we add into the silicon.

There is another source of noise I didn't mention called crosstalk. Crosstalk is ostensibly named because improperly-wired phone circuits can pick up pieces of other phone conversations, or leak portions of your phone conversations. SPAD crosstalk is the phenomenon of one detector's firing causing the unwanted firing of another detector. Crosstalk can be standard electrical crosstalk, which is uncommon in SPADs, or optical. Optical crosstalk is pretty cool - it turns out that stray electrons can create photons much as photons create electrons. During the middle of an avalanche a SPAD gives off a lot of photons, and these photons might accidentally cause another detector's firing. Optical crosstalk isn't a severe issue in most SPADs, but it varies from environment to environment.

Though optical crosstalk can increase the noise from SPADs, the created photons do have one advantage. Since an avalanching SPAD gives off photons in the multiplication region, taking a long exposure picture of a SPAD allows us to see whether the multiplication region has the shape we expect. If our silicon implants go poorly, we won't see a uniform multiplication region.

I hope you enjoyed a discussion of the source of noise in SPADs. If this seems boring, keep in mind that we're detecting single photons here! Over the next few weeks I'll start to discuss some additional properties of SPADs, and eventually I'll get to the point where I start comparing them to CCD or CMOS image sensors.

PS Blogspot's dictionary claims that avalanching isn't a word, but it doesn't contain truthiness either. Very suspect.

2008-11-01

Basics of Single Photon Avalanche Diodes

As you may or may not know, I work with single photon avalanche diodes (SPADs), sometimes referred to as detectors instead of diodes. I'm going to give a high level overview of SPADs in this post - why we care and how they work.

First, why do we care about single photons? One reason you should care is quantum computing. Most computing today relies on classical electronics, and uses assumptions which are starting to be not so valid. For example, you might know that CPU makers are no longer focusing on speeding up their processors much more, and instead are focusing on placing more and more "cores" onto chips or lowering power consumption. In the past, shrinking the device size has allowed CPU makers to speed up their processors. Everyone agrees that to speed up processors, we're going to need to find other ways of performing computing. Another way is quantum computing, which does not rely on the same set of assumptions as classical computing, but requires different technology. One applicable technology is accurate detection of single photons. My group works with other applications of these detectors, including radiation hardened detectors, distance sensors, and some mysterious stuff I can't talk about.

The distance sensor application is particularly cool. By measuring the flight time from the laser to the environment to the photon detector we can actually get distance accurate to less than a mm in a second. Keep in mind that the speed of light is 3 * 10^8 meters per second, or 300,000,000,000 mm/s, meaning we need to have accuracy in the picoseconds. The current accuracy is in the 100s of picoseconds, but multiple measurement within the allotted second increase accuracy. If you're really interested in the topic you can look for the 2008 ISSCC paper "A 128x128 Single-Photon Imager with on-Chip Column-Level 97ps 10bit Time-to-Digital-Converter Array".

Short aside: a 4 GHz computer has a clock period of 250 picoseconds. Light and information only travels about 7.5 cm in 250 picoseconds! With all the random stuff in your processor slowing down signals, you cannot route signals across the entire processor and have this information communicated in one clock cycle.

Anyways, back to SPADs. I'm going to explain the notion of an avalanche first, and then I'll explain how an avalanche applies to SPADs. Free electrons are just bouncing around in the air. When we apply an electric field, the fields interacts with the electrics and causes them to move faster in the field's direction. If we make the field strong enough, an electron might gain enough speed to strip an electron or two off an atom during a collision. The original electron and the stripped atoms again start to acquire speed, and when these electrons hit another set of atoms we expect to have more than four electrons. Another round and we expect to have more than eight electrons (see footnote 1 for details). This process is exponential, so in a short amount of time we'll expect to have millions of electrons that are moving very fast. When an event causes more of the same type of event to occur, this is known as positive feedback.

The basic idea of a SPAD couples the avalanche's fast positive feedback system with a slow negative feedback system to quench the avalanche. The key component to an avalanche diode is, surprise, the electrical diode. I don't want to go to much into how a diode works, but the important point is that putting a large, negative voltage across most electrical diodes (not a standard operating condition) causes a very strong electrical field to build up in part of the diode. If the voltage increases enough, we can get avalanches. When a photon interacts with an atom in the diode, the photon can strip free an electron. Thus a single photon creates a single electron, which can cause an avalanche, which would start to move a lot of current. We currently have about a 30% probability that a photon causes an avalanche (see footnote 1).

I can hear a few people protest, "But wait! There is ambient thermal energy which can also create electrons - don't these electrons cause avalanches?" Avalanches occur in the absence of light. Aside from thermal electrons, tunneling electrons also cause photon-less avalanches. These rate of these non-photon avalanches is the dark count rate (DCR) of an avalanche diode. The DCR obscures the signal, and we usually want to keep the DCR as low as possible. (see footnote 2)

Now that we have a lot of electrons moving (and electrical current flowing), how do we quench the avalanche? And what about detection? Placing a component called a resistor in series with the diode causes the current to flow through the resistor, raising the voltage across the resistor, lowering the voltage / electric field across the diode, and quenching the avalanche. We can observe the voltage at the resistor for spikes to detect avalanches. This is the slower negative feedback system I discussed.

There are lots of details I've omitted, but I hope you found my explanation useful. If you have questions, please leave them in the comments - I'll make sure I answer them.


Footnote 1: The interactions of the electrons with the atoms are random, so sometimes an electron only picks up a little speed before it hits an atom, sometime an electron picks up a lot of speed. Thus we can only talk about avalanches in the expected sense, saying "we expect to see X".

Footnote 2: Some people actually like a high DCR. It turns out truly random information is difficult to create. Dark avalanches, to the best of our knowledge, are truly random event (based on quantum interactions). Some people are working to create "random information generators" based on these detectors.

2008-10-06

SPADs mentioned at Ars Technica

Ars Technica mentioned single photon avalanche detectors (SPADs) in an article on quantum crypto today. I'm working with these avalanche detectors - I'll be giving an overview on SPADs pretty soon on my blog. Stay tuned!