This disclosure relates generally to lidar systems and more specifically to reducing clock noise in lidar systems.
Time of flight (ToF) based imaging is used in a number of applications, including range finding, depth profiling, and 3D imaging, such as light imaging, detection, and ranging (LiDAR, or lidar). Direct time-of-flight (dToF) measurement includes directly measuring the length of time between emitting radiation from emitter element(s) and sensing the radiation by detector element(s) after reflection from an object or other target. The distance to the target can be determined from the measured length of time. Indirect time of flight measurement includes determining the distance to the target by phase modulating the amplitude of the signals emitted by the emitter element(s) of the lidar system and measuring phases (e.g., with respect to delay or shift) of the echo signals received at the detector element(s) of the lidar system. These phases may be measured with a series of separate measurements or samples.
In specific applications, the sensing of the reflected radiation in either direct or indirect time of flight systems may be performed using an array of detectors, such as an array of Single Photon Avalanche Diodes (SPADs). One or more detectors may define a sensor (also referred to as a “pixel”) of a sensor array used to generate a lidar image for the depth (range) to objects for respective pixels.
When imaging a scene, ToF sensors (also referred to as photosensors) for lidar applications can include circuits that time-stamp and/or count incident photons as reflected from a target. Data rates can be compressed by histogramming timestamps. For instance, for each pixel, a histogram having bins (also referred to as “time bins”) corresponding to different ranges of photon arrival times can be stored in memory, and photon counts can be accumulated in different time bins of the histogram according to their arrival time. A time bin can correspond to a time range of, e.g., 1 ns, 2 ns, or the like. Some lidar systems may perform in-pixel histogramming of incoming photons using a clock-driven architecture and a limited memory block, which may provide a significant increase in histogramming capacity. However, since memory capacity is limited and typically cannot cover the desired distance range at once, such lidar systems may operate in “strobing” mode. “Strobing” refers to the generation of detector control signals (also referred to herein as “strobe signals” or “strobes”) to control the timing and/or duration of activation (also referred to herein as “detection windows” or “strobe windows”) of one or more detectors of the lidar system, such that photon detection and histogramming is performed sequentially over a set of different time windows, each corresponding to an individual distance subrange, so as to collectively define the entire distance range. In other words, partial histograms may be acquired for subranges or “time slices” corresponding to different sub-ranges of the distance range and then amalgamated into one full-range histogram. Thousands of time bins (each corresponding to respective photon arrival times) may typically be used to form a histogram sufficient to cover the typical time range of a lidar system (e.g., microseconds) with the typical time-to-digital converter (TDC) resolution (e.g., 50 to 100 picoseconds).
These circuits can be synchronous circuits that are driven by clock circuitry, including clock drivers. It can be desirable for these clock drivers to provide fast edges to facilitate accurate data transfers. But these fast edges can generate large supply current spikes, which can generate voltage transients on ground and power supply lines feeding the clock drivers. The resulting voltage transients can degrade the clock signals, cause electromagnet interference with associated and proximate circuits, and degrade system performance.
Thus, what is needed are circuits, methods, and apparatus that can reduce clock induced transients and emissions in lidar pixel arrays.
Accordingly, embodiments of the present invention provide circuits, methods, and apparatus that can reduce clock induced transients and emissions in lidar pixel arrays. An illustrative embodiment of the present invention can provide a pixel array the can include an array of pixels, where at any given time, different pixels in the pixel array perform different tasks and are clocked by clock signals having different phase-shifts relative to each other. This dispersion of tasks and clock signals can spread clock induced transients and emissions throughout a clock cycle, thereby reducing their maximum amplitude.
An illustrative embodiment of the present invention can provide pixel arrays having a number of groups of pixels, where each group of pixels can perform a series of two or more tasks in a recurring, serial pattern, and each group of pixels can be configured to perform different ones of the two or more tasks at a given time. For example, a first group of pixels can sequentially perform a first task and then a second task, while a second group of pixels can sequentially perform the second task and then the first task. That is, the tasks performed by the first group of pixels and the second group of pixels can be offset. Performance of the first task can generate clock induced transients and emissions, for example supply current spikes, having relatively large amplitudes, while performance of the second task can generate supply current spikes having relatively small amplitudes. Having the first group of pixels perform the first task while the second performs the second task, and then having the first group of pixels perform the second task while the second performs the first task, can generate supply current spikes having an averaged amplitude that is smaller than the supply current spikes associated with the first task, if all the pixels were to perform the first task simultaneously.
In another illustrative embodiment of the present invention, pixels can perform a series of more than two tasks in a recurring, serial pattern. For example, during a precharge task, bitlines in memory blocks in the pixels can be precharged. Subsequently, during a read task, the memory cells can drive stored values onto the bitlines. In a following modify task, the content of the memory cells can be modified by adding new data from the SPADs. During a write task, the new values on the bitlines can be written to the memory cells. In each of these precharge, read, modify, and write stages, the resulting supply current spikes can have a different amplitude. Accordingly, a first group of pixels can perform a precharge task, a second group of pixels can perform a read task, a third group of pixels can perform a modify task, while a fourth performs a write task. That is, for each group of pixels, the task being performed can be offset from each other such that each group of pixels performs a different task at any given time. As before, this can tend to average resulting supply current spikes to a level that is lower than the worst-case supply current spikes that would result if all groups of pixels performed the same task at the same time. In these and other embodiments of the present invention, at least approximately one-fourth of the pixels in a pixel array can be assigned to each of these first, second, third, and fourth groups of pixels. In these and other embodiments of the present invention, pixels or other circuits can perform three, five, or more than five recurring, sequential tasks. In these examples, pixels can be arranged as three, five, or more than five corresponding groups of pixels.
In these and other embodiments of the present invention, the clock signals for groups of pixels can be skewed or phase shifted relative to each other. As an example, a first clock signal can be provided to a first group of pixels. A second clock signal can be delayed by one-quarter cycle, 90 degrees, or π/2 radians and provided to a second group of pixels. A third clock signal can be delayed by one-half cycle, 180 degrees, or π radians and provided to a third group of pixels. A fourth clock signal can be delayed by three-quarters of cycle, 270 degrees, or 3π/2 radians and provided to a fourth group of pixels. These delays can disperse the resulting supply current spikes to four temporal locations for each clock cycle, thereby reducing the worst-case supply current spikes. In these and other embodiments of the present invention, different numbers of delays can be employed and the delays can have various durations. These durations can be fixed or they can be variable.
In these and other embodiments of the present invention, the above variations can be combined. As an example, different pixels in a pixel array can be assigned to perform one of a number of tasks and can be driven by a clock signal having one of a number of delays. In such an arrangement, different pixels in a group performing a first task can be driven with clocks having different phases. Alternatively, each pixel in a group performing a first task can be driven with a clock having a first phase.
As an example, groups of pixels can recurringly and sequentially perform precharge, read, modify, and write tasks. At a given time, a first group of pixels can perform a precharge task, a second group of pixels can perform a read task, a third group of pixels can perform a modify task, while a fourth performs a write task. Different pixels in each group of pixels can be clocked by clocks having different phases. During image reconstruction, compensation for offsets among tasks and phase shifts among clocks might be needed. Also, in some circumstances, a number of pixels, often adjacent pixels, can be combined in order to increase sensitivity of the pixel array at the expense of resolution. Where adjacent pixels have either their clocks phase shifted relative to each other or their tasks offset relative to each other, or both, compensation for the clock phase shift or task offset might be needed. These and other embodiments of the present invention can simplify the combining of pixels by positioning at least some pixels in each group of pixels adjacent to each other. Some or all of the adjacent pixels to be combined can receive a common clock.
The above task offset and clock phase-shift techniques can act to spread supply current spikes over time, therefore reducing their peak amplitudes. These supply current spikes can result from charge being stored in and removed from the capacitances distributed along the various clock, power supply and ground lines, and internal logic nodes. These changes in the charges stored in the distributed capacitances can tend to settle around a somewhat stable dynamic range. But it can take a few initial clock cycles for this to occur. Until the changes in the charges stored in the distributed capacitances settle, the supply current spikes can be comparatively large. Further, supply currents, supply current spikes, and other transient currents in the pixel array can flow through the resistances associated with traces for each of the power supply and ground lines. This can lead to an effective reduction in supply voltage seen by circuits in the dynamic array when the clock signals initially become active. The settling time associated with the supply current spikes and the initial supply voltage drop can cause errors during the first few initial clock cycles. Accordingly, embodiments of the present invention can incorporate a delay or other circuit to ignore pixel array results for a first number of clock cycles. The first number of clock cycles can be fixed, for example at two, five, nine, thirteen, or another number of clock cycles. Alternatively, the first number of clock cycles can be programmable, where the number is programmed during manufacturing, during operation of the lidar system utilizing the pixel array, or during another time.
Various embodiments of the present invention can incorporate one or more of these and the other features described herein. A better understanding of the nature and advantages of the present invention can be gained by reference to the following detailed description and the accompanying drawings.
Embodiments of the present invention can provide circuits, methods, and apparatus that can reduce clock induced current and voltage transients and emissions in lidar pixel arrays. A pixel array can include an array of pixels, where at any given time, different pixels in the array perform different tasks and are clocked by clock signals having different phases or delays relative to each other. This dispersion of tasks and clock signals can spread clock induced current and voltage transients and emissions throughout a clock cycle, thereby reducing their maximum amplitude.
Emitter array 130 can project pulses of radiation into a field of view of the lidar system 100. Some of the emitted radiation can then be reflected back from objects in the field, such as targets 150. The radiation that is reflected back can then be sensed or detected by the sensors 142 within the sensor array 140. Control circuit 110 can implement a processor that measures and/or calculates the distance to targets 150 based on data (e.g., histogram data) provided by sensors 142. In some embodiments control circuit 110 can measure and/or calculate the time of flight of the radiation pulses over the journey from emitter array 130 to target 150 and back to the sensors 142 within the sensor array 140 using direct or indirect time of flight (ToF) measurement techniques.
In some embodiments, emitter array 130 can include an array (e.g., a one- or two-dimensional array) of emitter units 132 where each emitter unit is a unique semiconductor chip having one or more individual VCSELs (sometimes referred to herein as emitter elements) formed on the chip. An optical element 134 and a diffuser 136 can be disposed in front of the emitter units such that light projected by the emitter units passes through the optical element 134 (which can include, e.g., one or more Fresnel lenses) and then through diffuser 136 prior to exiting lidar system 100. In some embodiments, optical element 134 can be an array of lenses or lenslets (in which case the optical element 134 is sometimes referred to herein as “lens array 134” or “lenslet array 134”) that collimate or reduce the angle of divergence of light received at the array and pass the altered light to diffuser 136. The diffuser 136 can be designed to spread light received at the diffuser over an area in the field that can be referred to as the field of view of the emitter array (or the field of illumination of the emitter array). In general, in these embodiments, emitter array 130, lens array 134 and diffuser 136 cooperate to spread light from emitter array 130 across the entire field of view of the emitter array. A variety of emitters and optical components can be used.
The driver circuitry 125 can include one or more driver circuits, each of which controls one or more emitter units. The driver circuits can be operated responsive to timing control signals with reference to a master clock and/or power control signals that control the peak power and/or the repetition rate of the light output by the emitter units 132. In some embodiments, each of the emitter units 132 in the emitter array 130 is connected to and controlled by a separate circuit in driver circuitry 125. In other embodiments, a group of emitter units 132 in the emitter array 130 (e.g., emitter units 132 in spatial proximity to each other or in a common column of the emitter array), can be connected to a same circuit within driver circuitry 125. Driver circuitry 125 can include one or more driver transistors configured to control the modulation frequency, timing, and/or amplitude of the light (optical emission signals) output from the emitter units 132.
In some embodiments, a single event of emitting light from the multiple emitter units 132 can illuminate an entire image frame (or field of view); this is sometimes referred to as a “flash” lidar system. Other embodiments can include non-flash or scanning lidar systems, in which different emitter units 132 emit light pulses at different times, e.g., into different portions of the field of view. The maximum optical power output of the emitter units 132 can be selected to generate a signal-to-noise ratio of the echo signal from the farthest, least reflective target at the brightest background illumination conditions that can be detected in accordance with embodiments described herein. In some embodiments, an optical filter (not shown) such as a bandpass filter can be included in the optical path of the emitter units 132 to control the emitted wavelengths of light.
Light output from the emitter units 132 can impinge on and be reflected back to lidar system 100 by one or more targets 150 in the field. The reflected light can be detected as an optical signal (also referred to herein as a return signal, echo signal, or echo) by one or more of the sensors 142 (e.g., after being collected by receiver optics 146), converted into an electrical signal representation (sometimes referred to herein as a detection signal), and processed (e.g., based on time-of-flight techniques) to define a 3-D point cloud representation 160 of a field of view 148 of the sensor array 140. In some embodiments, operations of lidar systems can be performed by one or more processors or controllers, such as control circuit 110.
Sensor array 140 includes an array of sensors 142. In some embodiments, each sensor 142 can include one or more photodetectors, e.g., SPADs. And in some particular embodiments, sensor array 140 can be a very large array made up of hundreds of thousands or even millions of densely packed SPADs. Receiver optics 146 and receiver electronics (including timing circuit 120) can be coupled to the sensor array 140 to power, enable, and disable all or parts of the sensor array 140 and to provide timing signals thereto. In some embodiments, sensors 142 can be activated or deactivated with at least nanosecond precision (supporting time bins of 1 ns, 2 ns, etc.), and in various embodiments, sensors 142 can be individually addressable, addressable by group, and/or globally addressable. The receiver optics 146 can include a bulk optic lens that is configured to collect light from the largest field of view that can be imaged by the lidar system 100, which in some embodiments is determined by the aspect ratio of the sensor array 140 combined with the focal length of the receiver optics 146.
In some embodiments, the receiver optics 146 can further include various lenses (not shown) to improve the collection efficiency of the sensors and/or an anti-reflective coating (also not shown) to reduce or prevent detection of stray light. In some embodiments, a spectral filter 144 can be positioned in front of the sensor array 140 to pass or allow passage of “signal” light (i.e., light of wavelengths corresponding to wavelengths of the light emitted from the emitter units) but substantially reject or prevent passage of non-signal light (i.e., light of wavelengths different from the wavelengths of the light emitted from the emitter units).
The sensors 142 of sensor array 140 are connected to the timing circuit 120. The timing circuit 120 can be phase-locked to the driver circuitry 125 of emitter array 130. The sensitivity of each of the sensors 142 or of groups of sensors 142 can be controlled. For example, when the detector elements include reverse-biased photodiodes, avalanche photodiodes (APD), PIN diodes, and/or Geiger-mode avalanche diodes (e.g., SPADs), the reverse bias can be adjusted. In some embodiments, a higher overbias provides higher sensitivity.
In some embodiments, control circuit 110, which can be, for example, a microcontroller or microprocessor, provides different emitter control signals to the driver circuitry 125 of different emitter units 132 and/or provides different signals (e.g., strobe signals) to the timing circuit 120 of different sensors 142 to enable/disable the different sensors 142 to detect the echo signal (or returning light) from the target 150. The control circuit 110 can also control memory storage operations for storing data indicated by the detection signals in a non-transitory memory or memory array that is included therein or is distinct therefrom.
The processor circuit 210 and the timing generator 220 can implement some of the operations of the control circuit 110 and the driver circuitry 125 of
The processor circuit 210 can provide analog and/or digital implementations of logic circuits that provide the necessary timing signals (such as quenching and gating or strobe signals) to control operation of the single-photon detectors of the sensor array 240 and that process the detection signals output therefrom. For example, individual single-photon detectors of sensor array 240 can be operated such that they generate detection signals in response to incident photons only during the gating intervals or strobe windows that are defined by the strobe signals, while photons that are incident outside the strobe windows have no effect on the outputs of the single-photon detectors. More generally, the processor circuit 210 can include one or more circuits that are configured to generate detector control signals that control the timing and/or durations of activation of the sensor pixels 142 (or particular single-photon detectors therein), and/or to generate respective emitter control signals that control the output of light from the emitter units 132.
Detection events can be identified by the processor circuit 210 based on one or more photon counts indicated by the detection signals output from the sensor array 240, which can be stored in a non-transitory memory 215. In some embodiments, the processor circuit 210 can include a correlation circuit or correlator that identifies detection events based on photon counts (referred to herein as correlated photon counts) from two or more single-photon detectors within a predefined window (time bin) of time relative to one another, referred to herein as a correlation window or correlation time, where the detection signals indicate arrival times of incident photons within the correlation window. Since photons corresponding to the optical signals output from the emitter array 230 (also referred to as signal photons) can arrive relatively close in time with each other, as compared to photons corresponding to ambient light (also referred to as background photons), the correlator can be configured to distinguish signal photons based on respective times of arrival being within the correlation time relative to one another. Such correlators and strobe windows are described, for example, in U.S. Patent Application Publication No. 2019/0250257, entitled “Methods and Systems for High-Resolution Long Range Flash Lidar,” which is incorporated by reference herein in its entirety for all purposes.
The processor circuit 210 can be small enough to allow for three-dimensionally stacked implementations, e.g., with the sensor array 240 “stacked” on top of processor circuit 210 (and other related circuits) that is sized to fit within an area or footprint of the sensor array 240. For example, some embodiments can implement the sensor array 240 on a first substrate, and transistor arrays of the processor circuit 210 on a second substrate, with the first and second substrates/wafers bonded in a stacked arrangement, as described for example in U.S. Patent Application Publication No. 2020/0135776, entitled “High Quantum Efficiency Geiger-Mode Avalanche Diodes Including High Sensitivity Photon Mixing Structures and Arrays Thereof,” the disclosure of which is incorporated by reference herein in its entirety for all purposes.
The pixel processor implemented by the processor circuit 210 can be configured to calculate an estimate of the average ToF aggregated over hundreds or thousands of laser pulses 235 and photon returns in reflected light 245. The processor circuit 210 can be configured to count incident photons in the reflected light 245 to identify detection events (e.g., based on one or more SPADs within the sensor array 240 that have been “triggered”) over a laser cycle (or portion thereof).
The timings and durations of the detection windows can be controlled by a strobe signal (Strobe#i or Strobe<i>). Many repetitions of Strobe#i can be aggregated (e.g., in the pixel) to define a sub-frame for Strobe#i, with subframes i=1 to n defining an image frame. Each sub-frame for Strobe#i can correspond to a respective distance sub-range of the overall imaging distance range. In a single-strobe system, a sub-frame for Strobe#1 can correspond to the overall imaging distance range and is the same as an image frame since there is a single strobe. The time between emitter unit pulses (which defines a laser cycle, or more generally emitter pulse frequency) can be selected to define or can otherwise correspond to the desired overall imaging distance range for the ToF measurement system 200. Accordingly, some embodiments described herein can utilize range strobing to activate and deactivate sensors for durations or “detection windows” of time over the laser cycle, at variable delays with respect to the firing of the laser, thus capturing reflected correlated signal photons corresponding to specific distance sub-ranges at each window/ frame, e.g., to limit the number of ambient photons acquired in each laser cycle.
The strobing can turn off and on individual photodetectors or groups of photodetectors (e.g., for a pixel), e.g., to save energy during time intervals outside the detection window. For instance, a SPAD or other photodetector can be turned off during idle time, such as after an integration burst of time bins and before a next laser cycle. As another example, SPADs can also be turned off while all or part of a histogram is being read out from non-transitory memory 215. Yet another example is when a counter for a particular time bin reaches the maximum value (also referred to as “bin saturation”) for the allocated bits in the histogram stored in non-transitory memory 215. A control circuit can provide a strobe signal to activate a first subset of the sensors while leaving a second subset of the sensors inactive. In addition or alternatively, circuitry associated with a sensor can also be turned off and on as specified times.
The sensors be arranged in a variety of ways for detecting reflected pulses. For example, the sensors can be arranged in an array, and each sensor can include an array of photodetectors (e.g., SPADs). A signal from a photodetector indicates when a photon was detected and potentially how many photons were detected. For example, a SPAD can be a semiconductor photodiode operated with a reverse bias voltage that generates an electric field of a sufficient magnitude that a single charge carrier introduced into the depletion layer of the device can cause a self-sustaining avalanche via impact ionization. The initiating charge carrier can be photo-electrically generated by a single incident photon striking the high field region. The avalanche is quenched by a quench circuit, either actively (e.g., by reducing the bias voltage) or passively (e.g., by using the voltage drop across a serially connected resistor), to allow the device to be “reset” to detect other photons. This single-photon detection mode of operation is often referred to as “Geiger Mode,” and an avalanche can produce a current pulse that results in a photon being counted. Other photodetectors can produce an analog signal (in real time) proportional to the number of photons detected. The signals from individual photodetectors can be combined to provide a signal from the sensor, which can be a digital signal. This signal can be used to generate histograms.
A start time 315 for the emission of the pulse does not need to coincide with the leading edge of the pulse. As shown, the leading edge of light pulse 310 may be after the start time 315. One may want the leading edge to differ in situations where different patterns of pulses are transmitted at different times, e.g., for coded pulses. In this example, a single pulse of light is emitted. In some embodiments, a sequence of multiple pulses can be emitted, and the term “pulse train” as used herein refers to either a single pulse or a sequence of pulses.
An optical receiver system (which can include, e.g., sensor array 240 or sensor array 140) can start detecting received light at the same time as the laser is started, i.e., at the start time. In other embodiments, the optical receiver system can start at a later time, which is at a known time after the start time for the pulse. The optical receiver system detects background light 330 initially and after some time detects the laser pulse reflection 320. The optical receiver system can compare the detected light intensity against a threshold to identify the laser pulse reflection 320. Where a sequence of pulses are emitted, the optical receiver system can detect each pulse. The threshold can distinguish the background light 330 from light corresponding to the laser pulse reflection 320.
The time-of-flight 340 is the time difference between the pulse 310 being emitted and the reflected pulse 320 being received. The time difference can be measured by subtracting the emission time of the pulse 310 (e.g., as measured relative to the start time) from a received time of the reflected pulse 320 (e.g., also measured relative to the start time). The distance to the target can be determined as half the product of the time-of-flight and the speed of light. Pulses from the laser device reflect from objects in the scene at different times, depending on start time and distance to the object, and the sensor array detects the pulses of reflected light.
One mode of operation of a lidar system is time-correlated single photon counting (TCSPC), which is based on counting single photons in a periodic signal. This technique works well for low levels of periodic radiation which is suitable in a lidar system. This time correlated counting may be controlled by a periodic signal, e.g., from timing generator 220.
The frequency of the periodic signal can specify a time resolution within which data values of a signal are measured. For example, one measured value can be obtained for each photosensor per cycle of the periodic signal. In some embodiments, the measurement value can be the number of photodetectors that triggered during that cycle. The time period of the periodic signal corresponds to a time bin, with each cycle being a different time bin.
The counts of triggered SPADs for each of the time bins correspond to the different bars in histogram 400. The counts at the early time bins are relatively low and correspond to background noise 430. At some point, a reflected pulse 420 is detected. The corresponding counts are much larger and may be above a threshold that discriminates between background and a detected pulse. The reflected pulse 420 results in increased counts in four time bins, which might result from a laser pulse of a similar width, e.g., a 4 ns pulse when time bins are each 1 ns.
The temporal location of the time bins corresponding to reflected pulse 420 can be used to determine the received time, e.g., relative to start time 415. In some embodiments, matched filters can be used to identify a pulse pattern, thereby effectively increasing the signal-to-noise ratio and allowing a more accurate determination of the received time. In some embodiments, the accuracy of determining a received time can be less than the time resolution of a single time bin. For instance, for a time bin of 1 ns, a resolution of one time bin would correspond to a distance about 15 cm. However, it can be desirable to have an accuracy of only a few centimeters.
Accordingly, a detected photon can result in a particular time bin of the histogram being incremented based on its time of arrival relative to a start signal, e.g., as indicated by start time 415. The start signal can be periodic such that multiple pulse trains are sent during a measurement. Each start signal can be synchronized to a laser pulse train, with multiple start signals causing multiple pulse trains to be transmitted over multiple laser cycles (also sometimes referred to as “shots”). Thus, a time bin (e.g., from 200 to 201 ns after the start signal) would occur for each detection interval. The histogram can accumulate the counts, with the count of a particular time bin corresponding to a sum of the measured data values all occurring in that particular time bin across multiple shots. When the detected photons are histogrammed based on such a technique, the result can be a return signal having a signal to noise ratio greater than that from a single pulse train by the square root of the number of shots taken.
In the first detected pulse train 510, the counts for time bins 512 and 514 are the same. This can result from a same (or approximately the same) number of photodetectors detecting a photon during each of the two time bins, or approximately the same number of photons being detected during the two time bins, depending on the particular photodetectors used. In other embodiments, more than one consecutive time bin can have a non-zero value; but for ease of illustration, individual nonzero time bins have been shown.
Time bins 512 and 514 respectively occur 458 ns and 478 ns after start time 515. The displayed counters for the other detected pulse trains occur at the same time bins relative to their respective start times. In this example, start time 515 is identified as occurring at time 0, but the actual time is arbitrary. The first detection interval for the first detected pulse train can be 1 μs. Thus, the number of time bins measured from start time 515 can be 1,000. After, this first detection interval ends, a new pulse train can be transmitted and detected. The start and end of the different time bins can be controlled by a clock signal, which can be part circuitry that acts as a time-to-digital converter (TDC).
For the second detected pulse train 520, the start time 525 is at 1 μs, at which time the second pulse train can be emitted. Time between start time 515 and start time 525 can be long enough that any pulses transmitted at the beginning of the first detection interval would have already been detected, and thus not cause confusion with pulses detected in the second detection interval. For example, if there is not extra time between shots, then the circuitry could confuse a retroreflective stop sign at 200 m with a much less reflective object at 50 m (assuming a shot period of about 1 us). The two detection time intervals for pulse trains 510 and 520 can be the same length and have the same relationship to the respective start time. Time bins 522 and 524 occur at the same relative times of 458 ns and 478 ns as time bins 512 and 514. Thus, when the accumulation step occurs, the corresponding counters can be added. For instance, the counter values at time bin 512 and 522 can be added together.
For the third detected pulse train 530, the start time 535 is at 2 μs, at which time the third pulse train can be emitted. Time bin 532 and 534 also occur at 458 ns and 478 ns relative to start time 535. The counts for corresponding pulses of different pulse trains may have different values even though the emitted pulses have a same power, e.g., due to the stochastic nature of the scattering process of light pulses off of objects.
Histogram 540 shows an accumulation of the counts from three detected pulse trains 510, 520, 530 at time bins 542 and 544, which also correspond to 458 ns and 478 ns. Histogram 540 can have fewer time bins than were measured during the respective detection intervals, e.g., as a result of dropping time bins in the beginning or the end of the detection interval or time bins having values less than a threshold. In some implementations, about 10-30 time bins can have appreciable values, depending on the pattern for a pulse train.
As examples, the number of pulse trains emitted during a measurement to create a single histogram can be around 1-40 (e.g., 24), but can also be much higher, e.g., 50, 100, 500, or 1000. Once a measurement is completed, the counts for the histogram can be reset, and another set of pulse trains can be emitted to perform a new measurement. In various embodiments and depending on the number of detection intervals in the respective measurement cycles, measurements can be performed, e.g., every 25, 50, 100, or 500 μs. In some embodiments, measurement intervals can overlap, e.g., so that a given histogram corresponds to a particular sliding window of pulse trains. In such an example, memory can be provided for storing multiple histograms, each corresponding to a different time window. Any weights applied to the detected pulses can be the same for each histogram, or such weights could be independently controlled.
In some embodiments of the present invention, detector pixel 600, or more simply pixel 600, can include circuits that implement a memory block 610, a memory controller, such as PRMW logic circuits 630, an address generator 620, and timing control circuit 650 (all shown in
Pixels 600 in pixel array 800 (shown in
In this example, clock signals can be provided to address generator 620 and PRMW logic circuits 630. These clock signals can drive logic gates that form address generator 620 and PRMW logic circuits 630. As the clock signals and logic gates change states, their various associated capacitances, such as gate capacitances, trace capacitances, and others, can be charged and discharged. This transfer of charge can generate currents that can be supplied by and returned to the power supplies and grounds for pixel 600. These generated currents can cause current spikes, which can flow through resistances and inductances of the power supply and ground lines, thereby causing voltage spikes. Voltage spikes can have high-frequency components that can cause electromagnetic interference in pixel 600, as well as nearby pixels 600 and other nearby and associated circuits, thereby causing image and time-of-flight artifacts and otherwise degrading system performance. An example is shown in the following figure.
Transitions of clock 700, along with transitions in resulting logic signals, can generate supply current spikes 790. Supply current spikes 790 can have varying amplitudes depending on several factors. For example, supply current spikes 790 can be larger for faster circuits, more complicated circuits, or circuits where a relatively large number of gates change state. As a result, supply current spikes 790 and 792 can have different maximum amplitudes. Voltage spikes or transients that result from supply current spikes 790 can also be larger at circuits that are further from a low impedance point, such as a bonding pad for the power supply or ground, due to routing trace resistances and inductances. An example is shown in the following figure.
Again, these voltage spikes resulting from supply current spikes 790 can cause data errors, generate electromagnetic interference, cause image and time-of-flight artifacts, and otherwise degrade system performance. Accordingly, embodiments of the present invention provide circuits, methods, and apparatus to reduce a maximum amplitude of supply current spikes 790.
Specifically, in these and other embodiments of the present invention, there can be a difference in amplitude among supply current spikes 790 that are generated by the different precharge, read, modify, and write tasks. This difference can be advantageously used to average amplitudes of supply current spikes 790, thereby reducing their maximum amplitude. As an example, a supply current spike 790 at the start of a precharge pulse 750 can be larger than supply current spike 792 at a start of read pulse 760 (all shown in
As a result of different pixels (i.e., by row) performing different operations at different times, some pixels might modify and write values to one set of time bins (e.g., 11-14) in a collective operation, while another set of pixels (e.g., a different row) can modify and write values for a different set of time bins (e.g., 12-15). This is due to an offset in which set of time bins are currently being read, modified, and written by different pixels as a result of when a pixel first has a precharge signal. Once a pixel receives the precharge signal at a given time bin, e.g., corresponding to time bin 3 (clock cycle 706), then that specified the sets of 4 time bins that will be modified in parallel. For row N-2, the set of time bins would be 3-6, 7-10, and so one. A first set of time bins can be ignored or not used for histogramming for pixels that do not use those initial time bins.
In this example, a reset event of a low signal on line RSTN can drive output Q of register 1010 high, while the output Q of the remaining registers can be driven low. The output Q of register 1010 can be referred to as a token. At this time, the Offset 0 signal at the 0 input of multiplexer 1020 is high, while the remaining inputs to multiplexer 1020 are low. If input 0 is selected at multiplexer 1020, the high level (token) can propagate through OR gate 1030 to the input of register 1040. At a first clock rising edge, the Q output of register 1040 can go high and the rows of pixels that are connected to this timing circuit 1000 can begin a precharge task. Accordingly, such an instance of timing circuit 1000 can be used to generate timing signals 910 shown in
Alternatively, if multiplexer input 1 is selected at multiplexer 1020, during a second clock rising edge, the output Q of register 1010 can go low, and the output Q of register 1012 can go high. This high, the token, can propagate through multiplexer 1020 and OR gate 1030. On the following clock cycle, the precharge signal at the output Q at 1040 can go high. Accordingly, this instance of timing circuit 1000 can be used to generate timing signals 940 shown in
As shown in
It should be noted that as a result, the fourth and fifth precharge tasks—the first precharge task of timing signals 1240 and the second precharge task of timing signals 1210—can substantially overlap. Accordingly, embodiments of the present invention can combine the effects of these clock delays and task delays in other ways. An example is shown in the following figure.
These same timing signals can be clocked by clock 730, which can be delayed by 270 degrees relative to clock 700, to generate timing signals 1222, which can commence with a precharge pulse at time 1262. Timing signals 920 can be clocked by clock 720, which can be delayed by 180 degrees relative to clock 700 to generate timing signals 1232, which can commence with a precharge pulse at time 1264. Timing signals 930 can be clocked by clock 710, which can be delayed by 90 degrees relative to clock 700 to generate timing signals 1242, which can commence with a precharge pulse at time 1266. In this example, each of the four initial precharge pulses at times 1260, 1262, 1264, and 1266 can be separated by three-quarters of a clock cycle. In this way, supply current spikes 950 (shown in
In these and other embodiments of the present invention, either or both the clock and timing signals, including the precharge, read, modify, and write signals, can be skewed in time relative to each other. These skewed signals can be distributed among pixels 600 in a pixel array 800 (shown in
In some circumstances, it can be desirable to increase a sensitivity of pixel array 800 (shown in
The above clock phase shift and timing signal offset techniques can be effective at spreading supply current spikes, and resulting voltage spikes, throughout a clock cycle thereby reducing the maximum amplitude of the supply current spikes. During these clock cycles, charge can flow into and out of various distributed capacitances along power supply and signal lines. After several clock cycles, these charge transfers can become somewhat repeatable, with variations occurring due to changes in the logic states of the capacitances being charged and discharged. During initial clock cycles, there can be larger charge transfers until the charge transfers reach this somewhat repeatable pattern. Also, while the clock signals are not running, power consumed by pixel array 800 (shown in
In these and other embodiments of the present invention, the number of clock cycles that can be ignored or suppressed can be fixed. Alternatively, the number of clock cycles that can be ignored or suppressed can be programmable. This number can be programmable during manufacturing, during operation of pixel array 800 (shown in
Depending on their intended purpose or application, lidar sensors can be designed to meet different field of view (FOV) and different range requirements. For example, an automobile (e.g., a passenger car) outfitted with lidar for autonomous driving might be outfitted with multiple separate lidar sensors including a forward-facing long range lidar sensor, a rear-facing short-range lidar sensor and one or more short-range lidar sensors along each side of the car.
Despite being designed for different ranges and different fields of view, each of the lidar sensors 1910a-1910d can be a lidar system according to embodiments disclosed herein. Indeed, in some embodiments, the only difference between each of the lidar sensors 1910a-1910d is the properties of the diffuser (e.g., diffuser 136). For example, in long range, narrow field-of-view lidar sensor 1910a, the diffuser 136 is engineered to concentrate the light emitted by the emitter array of the lidar system over a relatively narrow range enabling the long-distance operation of the sensor. In the short-range, wide field-of-view lidar sensor 1910b, the diffuser 136 can be engineered to spread the light emitted by the emitter array over a wide angle (e.g., 180 degrees). In each of the lidar sensors 1910a and 1910b, the same emitter array, the same pixel array and the same controller, etc. can be used thus simplifying the manufacture of multiple different lidar sensors tailored for different purposes. Any or all of lidar sensors 1910a-1910d can incorporate the circuits, methods, and techniques for reducing clock induced voltage transients and emissions as described herein.
In the above detailed description, numerous specific details are set forth to provide a thorough understanding of embodiments of the present disclosure. However, it will be understood by those skilled in the art that the present disclosure can be practiced without these specific details. For example, while various embodiments set forth above described may use SPADs, other detectors can be employed in embodiments. As another example, some of the embodiments discussed above include a specific number of rows and/or columns of sensors or detectors within a sensor. It is to be understood that those embodiments are for illustrative purposes only and embodiments are not limited to any particular number of columns or rows of sensors or detectors within a sensor.
Additionally, in some instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the present disclosure. It is intended that all embodiments disclosed herein can be implemented separately or combined in any way and/or combination. Aspects described with respect to one embodiment can be incorporated in different embodiments although not specifically described relative thereto. That is, all embodiments and/or features of any embodiments can be combined in any way and/or combination.
The above description of embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form described, and many modifications and variations are possible in light of the teaching above. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications to thereby enable others skilled in the art to best utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. Thus, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
This application claims the benefit of U.S. provisional application No. 63/297,660, filed Jan. 7, 2022, which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63297660 | Jan 2022 | US |