CN118233613A - Optoelectronic device with time-of-flight sensor using dynamic time window - Google Patents

Optoelectronic device with time-of-flight sensor using dynamic time window Download PDF

Info

Publication number
CN118233613A
CN118233613A CN202311770975.8A CN202311770975A CN118233613A CN 118233613 A CN118233613 A CN 118233613A CN 202311770975 A CN202311770975 A CN 202311770975A CN 118233613 A CN118233613 A CN 118233613A
Authority
CN
China
Prior art keywords
time
detection
time window
window
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311770975.8A
Other languages
Chinese (zh)
Inventor
N·达顿
P·梅洛
I·赫里斯托瓦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Research and Development Ltd
Original Assignee
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Research and Development Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/390,529 external-priority patent/US20240210532A1/en
Application filed by STMicroelectronics Grenoble 2 SAS, STMicroelectronics Research and Development Ltd filed Critical STMicroelectronics Grenoble 2 SAS
Publication of CN118233613A publication Critical patent/CN118233613A/en
Pending legal-status Critical Current

Links

Landscapes

  • Optical Radar Systems And Details Thereof (AREA)

Abstract

In an embodiment, an optoelectronic device includes a light source and a pixel array. Each pixel of the array is configured to detect an amount of return light falling in each time interval in the subset of time intervals forming the detection time window of pixels. The time window position code generator is configured to generate a time window position code sequence. Each pixel includes: a memory configured to store a first reference time window location associated with a pixel; a time window code comparator configured to compare a first time window position code of the sequence with a first reference time window position; and a timing generator configured to generate a time window control signal when the comparison indicates a match, the time window control signal configured to activate detection of the return light during a detection time window selected by the time window control signal.

Description

Optoelectronic device with time-of-flight sensor using dynamic time window
Cross Reference to Related Applications
The present application claims priority from french patent application EP22306982 filed on 12/21 of 2022, which is incorporated herein by reference to the maximum extent allowed by law.
Technical Field
The present disclosure relates generally to optoelectronic devices and, in particular embodiments, to time-of-flight sensors and related methods using dynamic time windows.
Background
An optoelectronic device comprising a time-of-flight (ToF) sensor is capable of providing distance information for one or more objects in a three-dimensional (3D) environment. For example, the ToF sensor may include a ToF pixel array that allows capturing depth map images.
ToF detection typically involves projecting pulses of light into a 3D environment by an optoelectronic device, and detecting the return time of these pulses to estimate the time of flight. The optoelectronic device comprises, for example, a photodetector to detect the return light pulse. For example, SPADs (single photon avalanche diodes) can be used as photodetectors and the number of SPAD detection events can be counted to determine the return signal. To obtain an acceptable SNR (signal to noise ratio), typically hundreds or thousands of light pulses are periodically transmitted during a given detection phase, and a histogram is built up step by step during the detection phase based on the timing of each SPAD event. The histogram is formed by time bins (bins), each of which covers a particular time slot within the time period of the light pulse, such that the histogram data indicates the average timing of the return pulse at the detection stage. Analysis of the histogram data may then allow accurate estimation of the arrival time of the return pulse. By comparing this arrival time with the pulse transmission time, which is typically estimated using a reference array, the time of flight of the light pulse can be estimated. Knowing the speed of the light pulse, the distance of the object in the 3D environment can then be calculated to be equal to half the distance covered by the light pulse.
In order to accurately detect the timing of the return light pulses, the histogram bins each typically cover a relatively narrow window of time, and then tens or hundreds of bins are required for each ToF pixel of the array to be able to detect objects over a relatively wide range of distances.
The technical problem with this approach is that the histogram bin consumes a relatively large amount of power and chip area, and the computational cost of processing large amounts of histogram data is high. Furthermore, solutions based on such histograms are not scalable, as increasing the pixel density and the number of pixels in the array will result in a corresponding increase in chip area and power consumption required to implement the histogram bin. While some solutions to this problem have been proposed based on curtailing the amount of histogram data to be used for estimating the time of flight information, such solutions tend to have high power consumption, noise and/or error rates.
Disclosure of Invention
According to one aspect, an optoelectronic device includes a light source configured to periodically emit pulses of light and an array of pixels configured to detect an amount of return light. Each pixel of the array is configured to detect an amount of return light falling into each of a subset of two or more time intervals in a set of time intervals distributed over a period of the pulse, the subset of two or more time intervals forming a detection time window of pixels. The time window position code generator is configured to generate a time window position code sequence. Each pixel includes: a memory configured to store a first reference time window location associated with the pixel; a time window code comparator configured to compare a first time window position code of the sequence with a first reference time window position; and a timing generator configured to generate at least one time window control signal when the comparison indicates a match, the at least one time window control signal configured to activate detection of the return light during a detection time window selected by the at least one time window control signal.
According to one embodiment, the detection time window comprises a plurality of time intervals, and the timing generator is configured to generate at least two time window control signals.
According to one embodiment, the detection time window includes four time intervals A, B, C and D. Time interval a and time interval C do not overlap each other, time interval B and time interval D do not overlap each other, time interval a overlaps time intervals B and D, and time interval C overlaps time intervals B and D.
According to one embodiment, each pixel further comprises a first up/down counter configured to increment during one of the intervals a and C and decrement during the other of the intervals a and C, and a second up/down counter configured to increment during one of the intervals B and D and decrement during the other of the intervals B and D.
According to one embodiment, the time window code comparator includes an AND logic gate having a first input configured to receive a sequence of timing window position codes and a second input configured to receive a first reference time window position.
According to one embodiment, the timing generator comprises a shift register comprising at least two flip-flops arranged in series, each flip-flop generating a corresponding one of the at least two time window control signals. The time window control signal is configured to activate detection of the return light by the pixel during a detection time window. At least two flip-flops of the shift register are clocked by a gating clock signal activated by a pixel activation signal. The logic gate has a first input coupled to the output of the time window code comparator and a second input configured to receive the pixel activation signal, the output of the logic gate being a gating clock signal.
According to one embodiment, the timing generator further comprises a latch having a first input configured to receive a reset signal generated based on an output of the shift register and a second input coupled to an output of the time window code comparator and to an output of the first input of the logic gate.
According to another aspect, an optoelectronic device includes a light source configured to periodically emit pulses of light and an array of pixels configured to detect an amount of return light. Each pixel of the array is configured to detect an amount of return light falling into each of a subset of two or more time intervals of a set of time intervals distributed over a period of the pulse. A subset of two or more time intervals forms a detection time window of pixels. Each pixel comprises a timing generator comprising a shift register having at least two flip-flops arranged in series, each flip-flop generating a corresponding time window control signal. The time window control signal is configured to activate detection of the return amount of emitted light by the pixel during a detection time window selected by the time window control signal. The flip-flops of the shift register are clocked by a gating clock signal activated by a pixel activation signal. The last flip-flop of the shift register is configured to provide a reset signal for disabling the gating clock.
According to one embodiment, the shift register comprises four flip-flops arranged in series, each of the four flip-flops generating a corresponding time window control signal at its respective output.
According to one embodiment, the clock frequency of the pixel activation signal is modified in alternating periods.
According to one embodiment, the clock frequency of the pixel activation signal is multiplied by two at each alternating period.
According to another aspect, an optoelectronic device includes a light source configured to emit light and a pixel array configured to detect an amount of return light. Each pixel of the array is configured to detect an amount of return light in each of a subset of two or more time intervals of a set of time intervals distributed over a period of the pulse during each of a plurality of detection periods. A subset of the two or more time intervals forms a detection time window of pixels selected by the at least one time window control signal. The circuit includes a time-to-digital converter configured to be gated by rising and falling edges of at least one time window control signal over alternating detection periods.
According to one embodiment, each pixel includes a plurality of photosensors and an OR TREE (OR TREE) circuit that couples the photosensors to a time-to-digital converter of the pixel.
According to one embodiment, the time window position code of the sequence is gray coded or binary coded or unary coded or provided by a phase shifted clock signal.
According to one embodiment, each of the at least one time window control signals comprises a positive pulse shape at one of the alternating periods and a negative pulse shape at another of the alternating periods.
Drawings
The above features and advantages and other features and advantages are described in detail in the following description of the particular embodiments, given by way of example and not limitation, with reference to the accompanying drawings, in which:
Fig. 1 schematically illustrates a ToF photovoltaic device according to an example embodiment of the present disclosure;
Fig. 2 is an enlarged view of a light emitter of the optoelectronic device of fig. 1, according to an example embodiment of the present disclosure;
FIG. 3 is an enlarged view of a light sensor of the optoelectronic device of FIG. 1, according to an example embodiment of the present disclosure;
Fig. 4 shows an example of a histogram of data generated for a pixel of a ToF electro-optical device;
fig. 5 schematically illustrates a ToF transmit and receive chain according to an example embodiment of the present disclosure;
fig. 6 schematically illustrates the ToF pixel of fig. 5 in more detail, according to an example embodiment of the present disclosure;
fig. 7A to 7C are timing diagrams illustrating the operation of the ToF pixel of fig. 6 according to an example embodiment of the present disclosure;
Fig. 8A schematically illustrates the time window generator of fig. 5 and 6 according to an example embodiment of the present disclosure;
Fig. 8B schematically illustrates the time window generator of fig. 5 and 6 according to another example embodiment of the present disclosure;
FIG. 9 is a timing diagram illustrating the operation of the time window generator of FIG. 8B;
FIG. 10 is a timing diagram illustrating the operation of the circuit of FIGS. 8A and 8B;
FIG. 11 schematically illustrates a circuit for generating the clock signal of FIG. 10; and
Fig. 12 schematically illustrates a portion of the ToF photovoltaic device of fig. 1 in more detail, according to an example embodiment of the present disclosure.
Detailed Description
Like features are denoted by like reference numerals throughout the various figures. In particular, structural and/or functional features common in the various embodiments may have the same reference numerals and may have the same structural, dimensional, and material characteristics.
For clarity, only the operations and elements useful for understanding the embodiments described herein are shown and described in detail.
Unless otherwise indicated, when two elements are referred to as being connected together, this means that there is no direct connection of any intermediate elements other than conductors, and when two elements are referred to as being coupled together, this means that the two elements may be connected or they may be coupled via one or more other elements.
In the following disclosure, unless otherwise indicated, when absolute positional qualifiers such as the terms "front", "rear", "top", "bottom", "left", "right", etc., or relative positional qualifiers such as the terms "above", "below", "higher", "lower", etc., or directional qualifiers such as "horizontal", "vertical", etc., are referred to, the directions shown in the figures are referred to.
Unless otherwise indicated, the expressions "about", "substantially" and "approximately" mean within 10%, and preferably within 5%.
Fig. 1 shows an optoelectronic device 100 utilizing ToF measurements to capture depth information about a target object according to an example.
The object 101 is disposed in a 3D environment in front of the optoelectronic device 100. The object 101 is provided for explanatory purposes. No limitation is to be considered imposed on the size, shape, or distance of objects detectable by the optoelectronic device 100. The 3D environment may include additional objects of various shapes or sizes disposed at different distances from the optoelectronic device 100, and the optoelectronic device may determine the proximity of various objects in the 3D environment to image the 3D environment. The object 101 may include multiple surfaces at different distances from the optoelectronic device 100, and the optoelectronic device 100 may determine the depth of different surfaces of the object 101. The optoelectronic device 100 can simultaneously determine the proximity of additional objects in the 3D environment to generate a 3D image of the 3D environment. The 3D image may include a depth map of the 3D environment.
The optoelectronic device 100 comprises, for example, a light source 102 and a light sensor 104, the light source 102 will also be referred to as an optical transmitter.
The optoelectronic device 100 includes, for example, a light source driver (LIGHT SOURCE DRIVER) 112. Operation of the light emitter 102 may be controlled by a light source driver 112, the light source driver 112 being configured to generate a drive current 114 capable of activating the light emitter 102, thereby causing the light emitter 102 to emit photons. The light source driver 112 may also control the duration, timing, and intensity of the light pulses emitted by the light emitters 102.
Radiation (light) 116 emitted from the light source 102 is for example incident on the object 101. Incident radiation 116 is reflected by object 101 to produce reflected radiation 118. It is noted that although the incident radiation 116 and the reflected radiation 118 are represented by several arrows in fig. 1, all of the radiation incident on the object 101 and reflected from the object 101 may be combined into one radiation beam or radiation cone. While some portion of the incident radiation 116 may be scattered depending on the surface characteristics of the object 101, a substantial portion of the incident radiation 116 is, for example, reflected, thereby producing reflected radiation 118. In this specification, reflected light or scattered light, etc., are combined in the same term "return light", which encompasses all types of return light from an object and generated by illumination of the object by the light emitter 102.
The photosensor 104 receives the reflected radiation 118 and generates an output signal 120 in response to the reflected radiation 118 illuminating the photosensor 104. The output signal 120 may be a digital signal or an analog signal depending on the circuitry of the light sensor 104.
The optoelectronic device 100 further comprises a ToF PROCESSING circuit (ToF PROCESSING) 126 configured to receive the output signal 120 and to determine a proximity of the object 101 to the optoelectronic device 100 based on the output signal 120. The distance determined by ToF processing circuitry 126 is stored in memory (MEM) 132 of device 100, for example, in the form of image data (e.g., one or more depth maps). The memory 132 is coupled to the ToF processing circuitry 126, for example. The memory 132 is, for example, a volatile memory such as a RAM (random access memory) or a nonvolatile memory such as a flash memory. The processing circuit 126 is for example additionally configured to reconstruct a 3D image of the 3D environment comprising the object 101 based on the output signal 120 and the 2D intensity image related to the reflection characteristics of the surfaces in the scene.
The light source driver 112 receives a control signal 134, for example, from the processing circuit 126, which activates the light source driver 112.
The time for the pulse of reflected radiation 118 to reach the light receiver 104 is proportional to twice the distance between the object 101 and the optoelectronic device 100 based on the speed of light in the measurement medium or environment.
For example, the return light 118 reaches the light receiver 104 at different times depending on the respective distances between the different portions of the object 101 or other objects in the 3D environment and the optoelectronic device 100. For example, the reflected radiation 118 is detected in synchronization with the timing signal 130, the timing signal 130 being configured to cause the light source driver 112 to generate the incident radiation 116. The processing circuitry 126 is configured, for example, to analyze the time of flight between the emission of the incident radiation 116 traveling toward the object 101 and the arrival of the reflected radiation 118 received at the light receiver 104 to determine the proximity of the object 101 and/or other objects in the 3D environment. Multiple proximity measurements may be used to generate a comprehensive dataset to accurately determine both lateral spatial distance (e.g., in the x-y plane shown in fig. 1) and depth (e.g., along the z-axis shown in fig. 1) of one or more objects in a 3D environment.
In a direct ToF (dtoff) application, photons counted at a radiation-sensitive pixel may be classified based on a ToF analysis to generate a histogram of estimated distances of objects or surfaces reflecting radiation to the radiation-sensitive pixel. Conceptually, the ToF of photons sensed at the radiation-sensitive pixels can be calculated and assigned to a bin representing a range of distances. When additional photons are sensed during measurement, they can be assigned to the handle. Each bin may accumulate photon counts over a plurality of pulse periods (e.g., hundreds or thousands of pulse periods), and the photon distribution in each bin may be used to estimate the distance of the reflective surface measured at the radiation sensitive pixel from the optoelectronic device 100.
Fig. 2 shows an enlarged view of the light emitter 102 of the optoelectronic device 100 of fig. 1, according to an example embodiment.
The light source 102 may include a plurality of light emitters 102-1 to 102-NN arranged in an array of N rows and N columns. Although the example of fig. 2 shows the light emitters 102-1 to 102-NN as being arranged in a square nxn array, other array shapes are possible, such as rectangular arrays where the number of rows and columns are not equal, as well as non-rectangular array shapes, such as elliptical arrays or circular arrays. Each of the light emitters 102-1 through 102-NN may include one or more infrared sources, modulated Light Emitting Diodes (LEDs), or semiconductor lasers or combinations thereof, although other types of light sources are also possible.
In various embodiments in which the light emitters 102-1 through 102-NN comprise semiconductor lasers, the light emitters 102-i in the array of light emitters 102-1 through 102-NN comprise, for example, one or more Vertical Cavity Surface Emitting Lasers (VCSELs), quantum well lasers, quantum cascade lasers, interband cascade lasers, or Vertical External Cavity Surface Emitting Lasers (VECSELs), among others.
The light emitters 102-1 to 102-NN are all configured to operate at the same wavelength, for example. However, in other embodiments, the light emitters 102-1 through 102-NN may operate at different wavelengths. For example, the light emitter group 108 and the light emitter groups 102-1 to 102-NN 110 may operate at different wavelengths from each other. The optical transmitters 102-1 through 102-NN may exhibit Continuous Wave (CW) operation, quasi-continuous wave (QCW) operation, or pulsed operation.
In various embodiments, the arrays of light emitters 102-1 through 102-NN may be addressable arrays. The effect of operating the light emitter 102-1 to 102-NN array in an addressable mode is to be able to dynamically reconfigure the illumination pattern, intensity level of the light source 102 or the duration of the pulses emitted by each of the light emitters 102-1 to 102-NN in the light emitter 102-1 to 102-NN array to accommodate various applications, environments or operating cycles.
Fig. 3 shows an enlarged view of the light sensor 104 of the optoelectronic device 100 of fig. 1 according to an example.
In the example of fig. 3, the light sensor 104 includes a plurality of radiation-sensitive pixels 104-1 through 104-KK arranged in K rows and K columns and configured to detect an amount of return emitted light. Although the example of fig. 3 shows radiation-sensitive pixels 104-1 through 104-KK arranged in a square kxk array, other array shapes are possible, such as rectangular arrays in which the number of rows and columns are unequal, and non-rectangular array shapes, such as elliptical arrays or circular arrays. The inherent spatial resolution of the optical system 100 is determined, for example, by the resolution of the light sensor 104. Notably, the output signal 120 can be represented as a KXK measurement matrix or a 1 XK 2 measurement vector, where each entry of the matrix corresponds to a signal received from a corresponding pixel of the plurality of radiation-sensitive pixels 104-1 through 104-KK.
The radiation sensitive pixels 104-1 to 104-KK are for example selected among a group of pixels called macropixel 104-M. The output signals of pixels of the same macro-pixel may be combined, for example, by an or tree.
In an example, the pixels forming a given macro-pixel may be changed, for example for data analysis purposes.
Each of the radiation sensitive pixels 104-1 through 104-KK includes, for example, one or more Single Photon Avalanche Diodes (SPADs), photodiodes (PDs), avalanche Photodiodes (APDs), or combinations thereof.
Fig. 4 depicts a histogram of data generated for a pixel of a ToF electro-optical device according to an example.
The vertical axis in fig. 4 represents the magnitude of photon counts and the horizontal axis represents time relative to emission of periodic light pulses, e.g., in nanoseconds. An activation signal 403 associated with the light emitter 102 indicates when at least a portion of the light emitter is turned on and emits photons. The activation signal 403 depicts a light pulse 403A during a pulse period 401. As the amplitude of the light pulse 403A increases, the signal-to-noise ratio of photons detected by the radiation also increases. Likewise, increasing the duty cycle of the light pulse 403A also increases the signal-to-noise ratio of the signal. However, safety and efficiency considerations may limit the advantages provided by increasing the amplitude, duty cycle, or both, of the light pulses 403A.
In the example of fig. 4, the lighting period 401 is divided into a plurality of handles 407. The number of handles may vary depending on the system. Due to the relationship between the time of flight of the detected photons and the distance of the object, each bin corresponds to a time interval of the lighting cycle and a distance range of the object in the 3D environment. For example, a 64 nanosecond long light emission period may be divided into 64 bins, each bin representing a nanosecond time interval. Photons detected during the light emission period 401 are counted and assigned to the appropriate bin. For example, photons detected during a first time interval are assigned to a first bin, photons detected during a second time interval are assigned to a second bin, and so on. Photon counts from multiple lighting periods 401 may be aggregated to generate a histogram 405. In some cases, photon counts from thousands or hundreds of thousands of lighting periods may be aggregated to produce histogram 405.
Photons emitted by the light emitter 102 during the light pulse are reflected, for example, by a target object in the 3D environment. Photon counting may reveal a return light pulse 411 of photons reaching one or several of the radiation sensitive pixels 104i of fig. 3. The time between the light pulse 403A and the sensed return pulse 411 is used, for example, to determine the distance between the target object and the ToF system. Crosstalk from the optical pulse 403A, for example, produces a crosstalk pulse 409. The light-emitting period 401 includes, for example, a blanking time 413A to reduce the influence of crosstalk on the histogram.
To determine the distance d_t of an object or target, for example, the histogram results are processed to detect peak time intervals to distinguish return photons from the target object from noise or photons reflected from other objects in the 3D environment. Typically, the primary peak will emanate from the object of interest, while the secondary peak is, for example, initially ignored or rejected.
This process is applied, for example, to each pixel of the light sensor 104, which presents a challenge for an extension (scaling) solution. In fact, this places an increasing burden on the processing and storage capabilities of the ToF device as resolution increases.
In various embodiments described in more detail below, these processing requirements are avoided, for example, by a recursive method that detects peak time intervals prior to processing and avoids preserving per-bin count information for each pixel. In various embodiments, for example, progressively finer search windows (detection windows) are iteratively determined to identify locations (positions) of peak time intervals prior to processing. As the search window becomes smaller, the duration of the light pulse used to emit photons may also decrease. The final time window is sent to the processor, for example, as a peak time interval. This eliminates the need to send a complete data histogram for processing, for example.
For example, during a first step, photons emitted by light pulses or periodic light pulses and detected during a first period of time are counted and grouped according to their time of flight relative to the emission. For example, the first time period includes a series of light pulses in which photons are counted and grouped. For example, a first group of photons having a time of flight within a first detection time window having a first time range are counted and grouped according to a time interval. Each time interval is associated with a start time and an end time, and any photons having a time of flight falling within a given time interval are counted, for example, for that time interval. In some embodiments, some time intervals may overlap. For example, photons having a number of flights within a first time interval of the time intervals may be counted for the first time interval. Photons having a time of flight within a second time interval of the time interval may be counted for the second time interval, and so on. In various embodiments, at least some of the time intervals overlap with one or more other time intervals.
The result of photon counting from the first detection window is used, for example, to refine the range in which photons are counted in the subsequent time period or periods. For example, counting the time intervals of the first time window is used to identify the time interval in which the peak is located, and they are used for example to determine a second detection window smaller than the first detection window. As will be appreciated, the peak is determined to be located, for example, in or near the region of maximum photon count for the first time window.
Once such an area is identified, the area is used, for example, to narrow down the search for peak time intervals during the second time period to a detection window corresponding to a second time range that is smaller than the first time range. The second time range is used, for example, during a second time period during which a second light pulse or a series of periodic light pulses is emitted, and photons having a time of flight falling within the second time range are counted and grouped, for example. In some embodiments, the duration of the light pulse or each light pulse in the series of light pulses for the second time period is less than the duration of the light pulse or each light pulse in the series of light pulses for the first time period. The decrease in the duration of the one or more light pulses of the second time period relative to the first time period corresponds, for example, to a decrease in the size of the second detection window relative to the first detection window.
The result of the second time period, in particular the second count, is for example used to define a third detection window smaller than the second detection window, the third detection window being used to count photons during the third time period. The duration of the light pulse or each of the series of light pulses of the third time period is for example smaller than the duration of the one or more light pulses of the second detection window, and such a decrease in duration for example corresponds to a decrease in duration of the one or more light pulses of the third time period. For example, the process is repeated to identify a progressively smaller detection window until it is small enough to serve as the peak time interval. In various embodiments, data from the count of the final time period may be sent to a processor and used to identify the location of peak photon positions within the peak time interval.
In the embodiment of the subsequent figures, each radiation-sensitive pixel or group of pixels of the photosensor 104 is paired with hardware for selecting the peak time interval for that pixel. The recursive approach is done in hardware to reduce the processing required for ToF imaging.
Fig. 5 schematically illustrates a ToF transmit and receive chain 500 of the optoelectronic device 100 of fig. 1, according to an example embodiment of the present disclosure.
The transmitting portion of the chain includes, for example, a light source driver (LIGHT SOURCE DRIVER) 112 and a light emitter 102. The light source driver 112 receives, for example, a control signal generated by a time or clock generator (TIME OR CLOCK GENERTOR) 570, the time or clock generator 570 forming, for example, part of the ToF processing circuit 126 of fig. 1. The time or clock generator 570, for example, includes a time window position code generator 575 configured to generate a sequence of time window position codes. The time window position codes are for example gray coded, so that their transmission on the array consumes a relatively small amount of energy and so that the risk of failure caused by the code transmission is low. In alternative embodiments, the time code may also be provided as a binary code, a unitary code, and/or a phase-shifted clock.
The receiving portion of the chain comprises, for example, one or more ToF pixels tof_pix1, tof_pix2, etc. Only the pixel ToF PIX1 is shown in detail in fig. 5, but it should be understood that each pixel is implemented by a similar circuit, for example. For example, each ToF pixel receives timing and clock signals from generator 570, e.g., via buffer 572.
Each ToF pixel, for example, includes one or more corresponding pixels of light sensor 104. For example, the TOF pixel ToF_PIX1 includes the macropixel 104-M of FIG. 3. Each of the ToF pixels is, for example, coupled to a corresponding macro-pixel that is, for example, programmably associated with one or more photodetectors of the light sensor 104. In the example of FIG. 5, the macro-pixel 104-M includes four SPAD.
One or more pixels 104-M of the ToF pixel ToF PIX1 are coupled to, for example, an input of one or more quenching and recharging circuits 514. The outputs of quenching and recharging circuits 514 are each coupled, for example, to one or several optional buffer circuits 516, the buffer circuits 516 being configured, for example, to perform pulse width shortening.
Quenching and recharging circuit 514 and buffer circuit 516 form, for example, front-end circuit 521 of the ToF pixel. The output of the front-end circuit 521 is coupled, for example, to the readout circuit 523 of the ToF pixel. The readout circuit 523 includes, for example, an or tree circuit 518, a time-to-digital converter (TDC) 520, a detection time window generator (LOCAL DETECTION TIME WINDOW GENERATOR) 580, a multiplexer 530, and a histogram generator and integrator 532.
The output of buffer circuit 516 is coupled to, for example, or tree circuit 518 is configured to implement pulse combining logic. The output of the or tree circuit 518 is coupled, for example, to an optional additional buffer circuit 519.
The output of the buffer circuit 519 is coupled to the input of the TDC 520. The other input of the TDC 520 is coupled or preferably connected to the output of the detection time window generator 580. The TDC 520 is configured, for example, to count the number of photon detection events that occur during a plurality of time intervals defined by the detection time window generator 580 that are detected by the pixels 104-M of the photosensor 104.
The output of the TDC 520 is coupled or preferably connected to one input of a multiplexer 530. A second input of the multiplexer is coupled to built-in self test (BIST) logic (not shown), for example, and the multiplexer thus allows for high speed BIST functionality. Although not shown in fig. 5, in some embodiments, another multiplexer is provided that allows test pulses to be inserted into the or tree circuit 518 for testing purposes.
The output of multiplexer 530 is coupled (preferably connected) to, for example, a histogram generator and integrator 532. The histogram generator and integrator 532 for example comprises a memory storing a relatively reduced size histogram (e.g. storing photon counts for only two, three or four time intervals of the selected detection window). This involves, for example, incrementing and decrementing a counter. According to some embodiments, if one of the counters exceeds a given threshold, the overflow protection circuit 534 is configured to generate a control signal that, for example, reduces the number of photodetectors of the macropixel 104-M to reduce the signal.
In some embodiments, toF transmit and receive chain 500 further includes digital signal processing unit 536 and depth image or point cloud generation circuit 540.
The Digital Signal Processing (DSP) unit 536 is configured to receive output data pix1_out to PIXP _out from the ToF pixels tof_pix1 to tof_ PIXP, respectively, where P is the number of ToF pixels in the ToF optoelectronic device, for example. DSP unit 536 is configured to perform range extraction based on the integrated histogram values and generate an output range RANGES that indicates one or more ranges of objects detected by the macro-pixels, for example.
The circuitry 540 is configured, for example, to receive the range from the DSP unit 536 and generate a depth image and/or a point cloud based on the range signal.
Elements 104-M, 514, 516, 518, 519, and 530 of the ToF pixel ToF PIX1 operate, for example, in an event driven manner, while elements 532, 536, and 540 are, for example, clock driven.
Fig. 6 schematically illustrates the ToF pixel ToF PIX1 of fig. 5 in more detail according to an example embodiment of the present disclosure. For example, each of the pixels of a ToF electro-optical device includes similar circuitry.
According to the example of fig. 6, the macro-pixel 104-M is formed, for example, from four SPADs. The output of the macro-pixel 104-M is coupled or preferably connected to, for example, a front-end circuit 521 (MPIX _spad_fe). The front-end circuit 521 forms part of, for example, a SPAD interface circuit 602, the SPAD interface circuit 602 additionally comprising a per-pixel or per-macro-pixel memory (MPIX _spad_mem_latch) 604 coupled or preferably connected to the front-end circuit 521. The memory 604 is configured to receive, for example, a pixel enable signal (SPAD EN), a ROW SHUTTER signal (ROW SHUTTER), and a ROW LATCH signal (ROW LATCH) at one or more inputs, which control activation and deactivation of SPADs via the memory 604 based on an operating mode of the ToF photovoltaic device.
The output of the front-end circuit 602 is coupled OR preferably connected to a readout circuit 523, and in particular to an OR TREE circuit 518 (OR TREE), for example, optionally via a buffer circuit 516 (not shown in fig. 6). In the example of a macro-pixel having four photodetectors or SPADs, the or tree circuit 518 is, for example, a four-to-one tree pulse combining logic. Or tree circuit 518 receives, for example, bias signal VPS PULSE SHAPER BIAS to control the pulse shape of the event signal generated by SPAD. For example, or tree circuit 518 includes a pulse shaper formed of a Current starved inverter (Current STARVED INVERTER) including at least one transistor biased by signal VPS PULSE SHAPER BIAS and logic gates. For example, a current starved inverter is used to reduce the pulse duration such that the pulse duration is shorter than the SPAD dead time, thereby reducing the TDC dead time.
Or the output signal event of the tree circuit 518 is, for example, coupled or preferably connected to a TDC 520, the TDC 520 being, for example, implemented by one or more sampling flip-flops (SAMPLING FFS) 520A and a DECODER 520B (counter_decoder). Or tree circuit 518 and TDC 520 are coupled (preferably connected) to, for example, a histogram generator and integrator 532, which histogram generator and integrator 532 includes an UP/down counter (UP DN COUNTERS) in the example of fig. 6.
The local time window generator 580 includes, for example, a comparator (time code comparator ) 580A, a clock gate (CLOCKGATE) 580B, and a four-interval timing generator (4-INTERVAL GEN) 580C. In an alternative embodiment, generator 580C is not a four interval timing generator, but is an I interval timing generator, where I is equal to 1 or greater, for example.
Comparator 580A is configured to receive a TIME CODE sequence (TIME CODE), for example, a gray-coded TIME window position CODE. In alternative embodiments, the time code may also be provided as a binary code, a unitary code, and/or a multiphase clock, in other words a plurality of phase shifted clock signals. Comparator 580A also receives, for example, a signal COLUMN PARALLEL DATA (window start position data ) indicating a detection window start position. The comparator 580A is configured, for example, to compare the locally stored reference TIME window position with the TIME window position CODE TIME CODE and output a signal TIME CODE MATCH when the CODEs correspond. For example, the reference time window position is stored by a memory (MEM) 601 of the comparator 580A. The memory 601 is, for example, a volatile memory such as a RAM (random access memory).
The local timing window generator 580 is also configured, for example, to receive as inputs a memory control signal TIME CODE WINDOW MEM READ and a WRITE that control the updating of the reference time window position provided by the signal COLUMN PARALLEL DATA and stored by the memory 601 of the comparator 580A.
The signal TIME CODE MATCH is provided, for example, to clock gate 580B, which in turn provides an activation signal to timing generator 580C. The generator 580 generates several time window control signals, for example, for controlling the sampling flip-flops 520A of the TDC 520.
In the example of fig. 6, the output of sampling trigger 520A includes a sampling timing codeword for pixel event ordering by decoder 520B. The decoder 520B is configured to generate an output control signal for controlling the up/down counter 532, for example. For example, UP/down COUNTER 532B includes time INTERVALs a and C UP/down COUNTER (INTERVAL A & C UP/DN COUNTER) 604 and time INTERVALs B and D UP/down COUNTER (INTERVAL B & DUP/DN COUNTER) 606. Examples of time intervals A, B, C and D will be described below with reference to fig. 7A to 7C.
The histogram generator and integrator 532 includes event driven logic to activate, for example, one of the two counters 604, 606 in an upward or downward direction, for example, based on the arrival time of an event detected by the associated pixel during a selected detection window. According to one example, counters 604 and 606 are each incremented when a photon event occurs during time interval a or B, and counters 604 and 606 are each decremented when a photon event occurs during time interval C or D.
According to the example of fig. 6, the COUNTERs 604, 606 are READ out, for example by a control signal COUNTER READ, and the output of the COUNTERs is provided, for example, on a bus 610.
According to an example, the COUNTERs 604, 606 are coupled or preferably connected to an OVERFLOW detector (counter_overflow) 608, the OVERFLOW detector 608 being configured to generate an OVERFLOW protection signal AUTOSTOP when one of the COUNTERs 604, 606 reaches a certain threshold. For example, an AUTOSTOP signal is provided to memory 604 to disable one or more of the SPAD of macro-pixel 104-M.
According to the example of fig. 6, bus 610 is also coupled to comparator 580A such that the comparator receives a time window memory read signal.
The operation of the up/down counter 532 and the iterative modification of the detection window by the digital signal processing unit 536 of each ToF pixel will now be described in more detail with reference to fig. 7A, 7B and 7C.
Fig. 7A, 7B, and 7C are timing diagrams representing detection windows according to example embodiments of the present disclosure.
Photons can be grouped and counted using various methods to identify the time range most likely to find a peak. In various embodiments, this may include dividing the detection time window into a plurality of time intervals and counting photons detected during the time intervals. A comparison between the counts obtained for each time interval may then be used to determine the position where the photon counts are highest relative to each other and to determine the subsequent detection window, and to generate an estimate of the peak time interval.
According to the example of fig. 7A to 7C, the detection time window includes four time intervals A, B, C and D, where time interval a and time interval C do not overlap each other, time interval B and time interval D do not overlap each other, time interval a overlaps with time intervals B and D, and time interval C overlaps with time intervals B and D.
Fig. 7A graphically illustrates a first iteration or step in a method of identifying peak locations.
The vertical axis in fig. 7A to 7C represents amplitude and the horizontal axis represents time in nanoseconds. For example, a light pulse (not shown) is emitted at the beginning of the light pulse period 701. The light pulse period 701 includes, for example, a blanking period 703 and a ranging period 705. Photon count curve 707 represents the magnitude of photon count as a function of time. For ease of representation, the photon count curves in fig. 7A to 7C are represented as smooth pulses. In the example of fig. 7A, the ranging period 705 is 64ns and the light pulse period is 80ns, but in other embodiments different values are possible.
For example, photon counting is performed for a plurality of time intervals of the detection window 704. In the first iteration, as shown in fig. 7A, for example, the duration of the detection window is equal to the duration of the ranging period 705. In the case of a detection window of 64ns duration, time interval a corresponds to, for example, the first 32ns of the detection window, time interval B corresponds to the first 16ns and the last 16ns of the detection window, time interval C corresponds to the last 32ns of the detection window, and time interval D corresponds to the middle 32ns period of the detection window (i.e., the time interval from 16ns to 48 ns). Of course, there may be more or less than four time intervals in the detection window 704, and the time intervals may be continuous or discontinuous. For example, photons detected during overlapping time intervals are counted for both time intervals.
In order to find the area where the peak is most likely to be found, the number of photons counted in time interval a is compared with the number of photons counted in time interval C, for example, and the number of photons counted in time interval B is compared with the number of photons counted in time interval D, for example. This is accomplished, for example, using up/down counters 604 and 606 of fig. 6, where counter 604 is incremented, for example, during interval a and decremented during interval C, and counter 606 is incremented, for example, during interval B and decremented during interval D. Of course, in alternative embodiments, the counters 604, 606 may be decremented during periods a and B, respectively, and the counters 604, 606 may be incremented during periods C and D, respectively.
If the number of photons counted in time interval a is greater than the number of photons counted in time interval C and the number of photons counted in time interval B is greater than the number of photons counted in time interval D, then, for example, it is determined that the peak is most likely found in the first quadrant 704A of the detection window 704.
If the number of photons counted in time interval a is greater than the number of photons counted in time interval C and the number of photons counted in time interval B is less than the number of photons counted in time interval D, then, for example, it is determined that the peak is most likely found in the second quadrant 704B of the time window.
If the number of photons counted in time interval a is less than the number of photons counted in time interval C and the number of photons counted in time interval B is greater than the number of photons counted in time interval D, then, for example, it is determined that the peak is most likely found in the fourth quadrant 704D of the detection window 704.
If the number of photons counted in time interval a is less than the number of photons counted in time interval C and the number of photons counted in time interval B is less than the number of photons counted in time interval D, then it is determined, for example, that the peak is most likely found in the third quadrant 704C of the first time range 704.
A new detection window is determined, for example, by the digital signal processing unit 536 of each pixel based on photon counts during the detection window 704. For example, the new detection window is centered on the midpoint of the portion of the time range where the peak is most likely to be found. The window position code corresponding to the first time interval of the new detection window is stored in the memory 601 as a new reference window position, for example by the digital signal processing unit 536.
Fig. 7B graphically illustrates a second iteration or step of a method of determining peak locations, and in particular illustrates a new detection window 704' generated based on photon counts during the first detection window 704.
The new detection window 704' has a shorter duration than the detection window 704 to refine the search window searching for peak positions. Photon count curve 707 'represents the magnitude of photon counts during detection window 704' as a function of time. The duration of the light pulse 711 'during the detection window 704' is also reduced, for example, with respect to the duration of the light pulse 711 of the previous iteration. In the example of fig. 7B, the duration of pulse 711' is 8ns. For example, if it is determined that most photons are in the first quadrant 704A, the new detection window 704 'will typically be centered in the middle of the first quadrant 704A, but this will result in a portion of the new detection window 704' covering negative time of flight. In various embodiments, it may be desirable to prevent the time range from extending to the negative range, so an 8ns offset is applied to shift the center 713 of the new detection window 704' to 16ns, as shown in FIG. 7B. For example, the size of the offset is selected such that the detection window does not start earlier than the start time of the pulse period.
For example, the new detection window 704' of fig. 7B is photon-counted in a similar manner to the photon counting of the detection window 704, and a similar process is used to derive the new detection window based on the photon counting. The window position code corresponding to the first time interval of the new detection window is stored in the memory 601 as a new reference window position, for example by the digital signal processing unit 536. This process is repeated, for example, as many times as necessary, and the last detection window is used, for example, as an estimate of the peak time interval. An example of a final iteration or step is shown in fig. 7C, where the detection window 704 "has been reduced to span only 4ns, running from 17ns to 21ns of the ranging period 705" in this example.
For example, an operation is performed that identifies a particular location of a photon peak within a peak time interval of the detection window 704 ". This may include a fractional value (which may be negative) that is added to the center position of the peak time interval to provide for the localization of the photon peak within the peak time interval. This can be done by processing the data collected during the final iteration.
The location of the peak position within the peak time interval is determined, for example, by calculating a shift value and subtracting the shift value (which may be negative) from the center of the peak time interval. For example, the shift value is calculated using a trigonometric function using equation 1 as follows:
in equation 1A, B, C and D represent photon counts for time intervals A, B, C and D, respectively, and differences a-C are provided, for example, by up/down counter 604 of fig. 6, and differences B-D are provided, for example, by up/down counter 606 of fig. 6.
The shift value may also be adjusted according to additional conditions. If B-D is negative and A-C is also negative, the shift value is reduced by pi, for example. If B-D is negative and A-C is greater than or equal to 0, the shift value is increased by, for example, pi. If B-D is equal to 0 and A-C is negative, the shift value is equal to-pi/2, for example. If B-D is equal to 0 and A-C is greater than or equal to 0, then the shift value is equal to pi/2, for example. For example, if B-D is greater than zero, the shift value remains as calculated in equation 1 without any adjustment.
After adjustment, the location of the peak photon position within the peak time interval is defined, for example, by equation 2 as follows:
location = peak bar-shift value 2/pi
Equation 2
In equation 2, the peak bin is, for example, a number assigned to the bin including the peak time interval estimate. The peak bin may include the center of the final detection window 704 ". In various embodiments, the peak bin is always an odd bin. For example, the second term of equation 2 (shift value 2/pi) converts the shift value from radians to handle units.
Fig. 8A schematically illustrates the time window generator 580 of fig. 5 and 6 according to an example embodiment of the present disclosure.
According to the example of fig. 8A, the time window generator 580 includes a time window code comparator 580A, the time window code comparator 580A including a memory 601 AND a logic gate 802 (such as an AND gate). Logic gate 802 is configured to compare the TIME window position CODE sequence TIME CODE with the reference TIME window position stored in memory 601. For example, a TIME window position CODE sequence TIME CODE is generated by generator 575 of fig. 5 and provided to one input of logic gate 802 on bus 820.
In some embodiments, as represented in the example of fig. 8A, memory 601 is shared by all ToF pixels of the array, and has an input that receives a pixel selection signal X & Y configured to select a corresponding reference window position code in memory 601, e.g., based on X (column) and Y (row) coordinates of a given pixel. The signals X & Y are provided, for example, by a sequencer (not shown in fig. 8A) of the device.
For example, when all bits of the current TIME window position CODE of the sequence TIME CODE MATCH corresponding bits of the reference window position, logic gate 802 asserts the output signal TIME CODE MATCH. According to the example of fig. 8A, the output of the logic gate 802 is coupled or preferably connected to a four-interval timing generator 580C, e.g., implemented by a shift register. The shift register 580C includes, for example, at least two flip-flops. In the example of fig. 8A, the shift register includes four flip-flops FP1, FP2, FP3, and FP4 arranged in series. Each of the flip-flops FP1 through FP4 is configured to generate a corresponding time interval control signal g0, g1, g2, and g3, respectively.
The flip-flops of the four-interval timing generator 580C are clocked, for example, by a gating clock signal g_clk generated by a clock gate 580B based on signals TIME CODE MATCH and G3. For example, clock GATE 580B includes flip-flop FP5, flip-flop FP5 receiving signal g3 at its data input and generating a RESET signal reset_gate at its output. Flip-flop FP5 is clocked by, for example, gate clock signal g_clk. Clock GATE 580B also includes, for example, a latch L configured to receive a RESET signal RESET _ GATE and to clock the signal based on the signal TIME CODE MATCH. The output CG of the latch L is for example gated by an array clock signal a_clk to generate a gating clock signal g_clk. For example, the output of latch L is coupled (preferably connected) to one input of AND gate 840, and the other input of AND gate 840 receives array clock signal A_CLK. The output of AND gate 840 provides, for example, a gate clock signal G_CLK. In some embodiments, the array clock signal A_CLK is a high speed clock, for example having a frequency of approximately hundreds of MHz.
In operation, when the logic gate 802 detects a MATCH, the signal TIME CODE MATCH is asserted, causing the output of latch L to be asserted, thereby activating the gating clock signal g_clk. Accordingly, the four-interval timing generator 580C is configured to sequentially generate a timing edge (e.g., a rising edge) of each of the signals G0 to G3 on consecutive edges of the clock signal g_clk. For example, signal g0 triggers the start of time interval a and the start of the first portion of time interval B; signal g1 triggers the start of time interval D and the end of the first part of time interval B; signal g2 triggers the start of time interval C and the end of time interval a; and signal g3 triggers the start of the second part of time interval B and the end of time interval C. For example, the timing edge of signal G3 also causes signal RESET GATE to be asserted on the subsequent active edge of signal g_clk, which in turn causes the output of latch L to go low and thus stops clock signal g_clk.
Fig. 8B schematically illustrates an example implementation of the time window generator 580 and TDC 520 of fig. 5 and 6 according to an alternative example embodiment of fig. 8A. Many of the elements of fig. 8B are identical to those of fig. 8A, and these elements are labeled with the same reference numerals and will not be described in detail.
In the embodiment of fig. 8B, the output of logic gate 802 is coupled (preferably connected) to logic gate 830, logic gate 830 being configured to generate a timing signal a_clk' synchronized with the array clock a_clk for triggering the start of the detection window. For example, the timing signal is synchronized with the falling edge of the clock signal A_CLK and the logic gate 830 is a NOR gate (NOR gate) having an inverting input coupled to the output of the logic gate 802 and a non-inverting input coupled to receive the array clock A_CLK.
The output of the logic GATE 830 is coupled to a gating input (G) of a latch L, for example having a data input (D) coupled to an enable signal EN and a RESET input receiving a RESET signal RESET GATE. The output of latch L is output signal CG which is gated by array clock a_clk by and gate 840 as in fig. 8A to generate gating clock signal g_clk.
The shift register 580C in the example of fig. 8B includes five flip-flops FP 1-FP 5 and an inverter 834 that couples the output Q of the fifth flip-flop FP5 to the data input D of the first flip-flop FP 1. Thus, the timing edge propagated by shift register 580C inverts its polarity every cycle. The flip-flops FP 1-FP 5 are RESET by a RESET signal reset_n, for example, before a new ToF detection phase starts.
Clock GATE 580B in the example of fig. 8B includes a polarity independent edge detector 832, the polarity independent edge detector 832, for example, being configured to generate a signal RESET GATE in response to a rising or falling timing edge at the output of inverter 834. The signal RESET _ GATE is for example configured to RESET the latch L with an active low signal until a later period.
The sampling flip-flop 520A of the TDC 520 comprises, for example, five flip-flops FP6 through FP10, the data inputs D of the five flip-flops FP6 through FP10 being coupled to the outputs of the flip-flops FP1 through FP5, respectively. All flip-flops FP 6-FP 10 are clocked, for example, by an output signal event of or tree circuit 518, and are RESET, for example, by the same signal reset_n as the flip-flop of shift register 580C.
The decoder 520B of the TDC 520 is configured, for example, to receive the outputs Q0 to Q4 of the flip-flops FP6 to FP10, respectively, and perform thermometer to Shan Re decoding to generate four-bit TDC output signals tdc_out <3:0> for controlling the up/down counter 532. Further, because the polarities of the signals Q0 to Q4 are switched, for example, on alternating periods, the circuit 520B is configured to detect the rising and falling edges of these signals, for example.
The operation of the circuit of fig. 8B will now be described in more detail with reference to fig. 9.
Fig. 9 is a timing diagram illustrating the operation of the time window generator of fig. 8B. FIG. 9 shows in particular the window position CODE sequence TIME CODE; an array clock a_clk; signals TIME CODE MATCH, CG, g_clk; timing signals g0 to g4; and an example of a resulting gating window GW representing the detection window.
Fig. 9 is an example based on the window position code signal being a 7-bit gray code value from "0000000" to "1000000" and the reference window position of a pixel being "0000001". Thus, when the CODE sequence reaches the value "0000001", the signal TIME CODE MATCH is asserted, and the signal CG is asserted shortly after the next falling edge of the signal a_clk after the assertion of the signal TIME CODE MATCH. Thus, the signal g_clk has a first rising edge at a first rising edge of the signal a_clk after assertion of the signal CG, and five cycles of the signal a_clk are reproduced. Thus, the signals G0 to G4 have rising edges immediately after the first to fifth rising edges of the signal g_clk. The rising edge of signal g4 triggers the end of detection window (GATING WINDOW). Signals g0 through g4 then remain high until the next light pulse period, during which signals g0 through g4 will include a falling edge instead of a rising edge.
Fig. 10 is another timing diagram illustrating the operation of the circuit of fig. 8A and 8B. Fig. 10 shows examples of a first step (step 1), a second step (step 2) and a fifth step (step 5) of a recursive method of detecting a peak time interval.
At time t0 signal VSCEL START is asserted to trigger the start of the first STEP1, resulting in the emission of a light pulse. For example, shortly before time t0, the window position code sequence transitions from the final value of the previous cycle "1000000" to the first value of the sequence "0000000" and then changes to a new value at each rising edge of the array clock a_clk.
The second STEP2 is similar to the first STEP, except that the period of the array clock a_clk is reduced by, for example, two times relative to the first STEP.
The third STEP3 is similar to the second STEP, except that the period of the array clock a_clk is reduced by, for example, several times (for example, eight times) with respect to the second STEP, for example, the period of the array clock a_clk is reduced by two times between the second STEP and the third STEP, the period of the array clock a_clk is reduced by two times between the third STEP and the fourth STEP, and the period of the array clock a_clk is reduced by two times between the fourth STEP and the fifth STEP.
Fig. 11 schematically shows a circuit for generating the array clock signal a_clk of fig. 10.
In the example of fig. 11, an initial clock signal (e.g., a high-speed clock signal) (ck_ref), for example, at about 1GHz, is generated and provided to one input of a divider 1108 (%n) and an and logic gate 1110, the and logic gate 1110 receiving the divider's output signal at its other input. Divider 1108 is configured to divide the initial clock signal clk_ref by a different divisor for each of STEPs STEP1 through STEP5 of the method. For example, for the first STEP1, the divisor is equal to N; for the second STEP STEP2, the divisor is equal to N/2; for the third STEP STEP3, the divisor is equal to N/4; for the fourth STEP STEP4, the divisor is equal to N/8; and for the fifth STEP5 the divisor is equal to N/16. In general, the initial clock signal frequency is divided by, for example, 2 (n-i), where n is the number of consecutive steps of the recursive method that determine the peak time interval and i is the level of the step that is in progress.
The output of AND logic gate 1110 is, for example, the array clock signal A_CLK.
Fig. 12 schematically illustrates a portion 1200 of the ToF photovoltaic device 100 of fig. 1 in more detail, according to an example embodiment of the disclosure.
In the example of fig. 12, the light sensor includes macro-pixels 104-M arranged in a matrix of columns and rows. In an example, each macro-pixel includes four SPADs having a size of about 20 microns. Smaller or larger dimensions are possible and depend on, for example, the technology node. Each macro-pixel is coupled or preferably connected to a timing window position code generator 570 that provides a time position code. An array clock signal a_clk is also supplied to each of the macro-pixels. In an example, the clock speed is between 60MHz and 1 GHz. Timing window position code generator 570 is configured to receive signal START RANGING that triggers the start of the ToF ranging phase.
In the example of fig. 12, each pixel or macro-pixel is coupled or preferably connected to a multiplexer (N: 1 multiplexer) and a demultiplexer (1: N demultiplexer) to order the pixel data in both directions.
In an example, the multiplexer and/or demultiplexer is coupled or preferably connected to a pixel X & Y sequencer and pixel synthesis and computation engine for the iterative method, the circuitry being implemented, for example, by DSP 536. Pixel binning is the process of combining adjacent pixels in the entire image by summing or averaging the pixel values during or after readout. The charges from adjacent pixels in the sensor may be combined during readout to increase the line rate or frame rate.
In the example of fig. 12, providing signal START RANGING to the pixel sequencer and merging engine, providing signal START RANGING to the pixel or macropixel row, and providing signal START RANGING to generator 570 is implemented by a VIDEO TIMING generator (VIDEO TIMING), for example.
After processing the pixel data by the pixel X & Y sequencer and the merge engine, the data FRAME is stored, for example, to a memory (FRAME STORE) of the device.
In the example of fig. 12, the array of macropixels is scanned line by line in a ROLLING read and write process (ROLLING READ AND WRITE).
In another example, the illumination of the sensor is implemented in a global shutter manner, for example, for a first region (e.g., half of the area) of a pixel or macro-pixel array, and then for another region (e.g., the other half). By doing so, half of the pixels' data can be processed in the readout phase, while the other half are processed in the acquisition phase.
An advantage of the described embodiment is that the time-to-digital converter operates in an event-based manner, as the input to the TDC is gated by a local comparator, resulting in a low-energy solution.
The advantage of using a shift register to locally generate the timing sequence for controlling the TDC, wherein the shift register is clocked by the gating clock signal, is that the energy consumed by the clocking of the shift register is relatively low. In particular, the shift register is not clocked when there is no match between the sequence of window position codes and the reference window position to which the pixel applies for a given iteration.
Another advantage of the described embodiments lies in the fact that: between the two steps of the recursive method, the polarity of the time window control signal is alternating, which allows any mismatch between the rising edge delay and the falling edge delay to be averaged.
Various embodiments and modifications have been described. Those skilled in the art will appreciate that certain features of the embodiments may be combined and that other variations will readily occur to those skilled in the art. For example, while embodiments have been described with four time intervals in each detection window, it will be apparent to those skilled in the art that a different number of time intervals may be used.
Finally, based on the functional description provided above, the actual implementation of the embodiments and variations described herein is within the ability of those skilled in the art. In particular, the digital comparator 802 may be implemented in a different manner and replaced by another circuit that provides a signal when the time position code is equal to the reference time position code. In another example, the time window control signal may be generated using another circuit (e.g., a circuit that creates different time delays in series) than the shift register.

Claims (21)

1. An optoelectronic device, comprising:
a light source configured to periodically emit light pulses;
An array of pixels configured to detect an amount of return light, wherein each pixel of the array is configured to detect an amount of return light in each time interval that falls into a subset of time intervals in a set of time intervals, the set of time intervals being distributed over the period of time of the pulse, the subset of time intervals forming a pixel detection time window of the pixel; and
A time window position code generator configured to generate a time window position code sequence;
Wherein each pixel comprises:
a memory configured to store a first reference time window location associated with the pixel;
A time window code comparator configured to compare a first time window position code of the sequence with the first reference time window position; and
A timing generator configured to generate a time window control signal configured to activate detection of the return light during a detection time window selected by the time window control signal when the comparison indicates a match.
2. The optoelectronic device of claim 1, wherein the detection time window comprises a plurality of time intervals, and the timing generator is configured to generate a plurality of time window control signals.
3. The optoelectronic device of claim 1, wherein the detection time window comprises four time intervals a, B, C, and D, wherein the time intervals a and C do not overlap each other, the time intervals B and D do not overlap each other, the time intervals a overlap the time intervals B and D, and the time intervals C overlap the time intervals B and D.
4. A photovoltaic device according to claim 3, wherein each pixel further comprises:
a first up/down counter configured to be incremented during one of the time interval a and the time interval C and decremented during the other of the time interval a and the time interval C; and
A second up/down counter configured to be incremented during one of the time interval B and the time interval D and decremented during the other of the time interval B and the time interval D.
5. The optoelectronic device of claim 1, wherein the time window code comparator comprises an and logic gate having a first input configured to receive the sequence of timing window position codes and a second input configured to receive the first reference time window position.
6. The optoelectronic device of claim 1, wherein the time window position code of the sequence is gray code.
7. The optoelectronic device of claim 1, wherein the time window position code of the sequence is binary coded or unitary coded or provided by a phase shifted clock signal.
8. The optoelectronic device of claim 1, wherein the timing generator comprises:
A shift register comprising a plurality of serially arranged flip-flops, each flip-flop generating a corresponding one of a plurality of time window control signals configured to activate the detection of the return light by the respective pixel during the detection time window, the flip-flop of the shift register being clocked by a gating clock signal activated by a pixel activation signal; and
A logic gate having a first input and a second input, the first input coupled to the output of the time window code comparator and the second input configured to receive the pixel activation signal, the output of the logic gate being the gating clock signal.
9. The optoelectronic device of claim 8, wherein the timing generator further comprises a latch having a first input configured to receive a reset signal generated based on an output of the shift register, a second input coupled to an output of the time window code comparator, and an output coupled to the first input of the logic gate.
10. An optoelectronic device, comprising:
A light source configured to periodically emit light pulses; and
An array of pixels configured to detect an amount of return light, wherein each pixel of the array is configured to detect an amount of return light in each time interval that falls into a subset of time intervals in a set of time intervals, the set of time intervals being distributed over the period of time of the pulse, the subset of time intervals forming a pixel detection time window of the pixel;
Wherein each pixel comprises a timing generator comprising a shift register having a plurality of flip-flops arranged in series, each flip-flop generating a corresponding time window control signal;
Wherein the time window control signal is configured to activate detection of the amount of return of emitted light by the pixel during a detection time window selected by the time window control signal;
wherein the flip-flop of the shift register is clocked by a gating clock signal activated by a pixel activation signal; and
Wherein the last flip-flop of the shift register is configured to provide a reset signal for disabling the gating clock.
11. The optoelectronic device of claim 10, wherein the shift register comprises four flip-flops arranged in series, each of the four flip-flops generating a corresponding time window control signal at a respective output of the flip-flop.
12. An electro-optic apparatus as claimed in claim 10 wherein the clock frequency of the pixel activation signals is modified in alternating periods.
13. An electro-optic device according to claim 12 wherein the clock frequency of the pixel activation signal is multiplied by two at each of the alternating periods.
14. An optoelectronic device, comprising:
A light source configured to emit light pulses;
An array of pixels configured to detect an amount of returned light, wherein each pixel of the array is configured to detect, during each detection period of a plurality of detection periods, an amount of returned light in each time interval that falls into a subset of time intervals in a set of time intervals, the set of time intervals being distributed over the period of time of the pulse, the subset of time intervals forming a detection time window of the pixels selected based on a plurality of time window control signals; and
Circuitry comprising a time-to-digital converter configured to be gated by rising and falling edges of the time window control signal over alternating detection periods.
15. The optoelectronic device of claim 14, wherein each pixel comprises a plurality of photosensors and a or tree circuit coupling the photosensors to the time-to-digital converter of the pixel.
16. The optoelectronic device of claim 14, wherein each of the time window control signals comprises a positive pulse shape at one of the alternating periods and a negative pulse shape at another of the alternating periods.
17. A method of operating an optoelectronic device, the method comprising:
Emitting a first light pulse;
Detecting an amount of return light during each of a plurality of time intervals of a first detection window;
Determining a first time interval of the plurality of time intervals of the first detection window, the first time interval having a maximum amount of the return light detected relative to other time intervals of the first detection window;
storing a first reference time window position based on the first time interval;
emitting a second light pulse;
Determining a second detection window start time by comparing each of a plurality of time window position codes with the first reference time window position; and
The amount of return light is detected during a second detection window, the detection beginning at the second detection window start time, wherein the second detection window has a shorter duration than the first detection window.
18. The method of claim 17, wherein the first detection window and the second detection window are part of the detection time window, the detection time window comprising four time intervals a, B, C, and D, wherein the time intervals a and C do not overlap each other, the time intervals B and D do not overlap each other, the time intervals a overlap the time intervals B and D, and the time intervals C overlap the time intervals B and D.
19. The method of claim 18, wherein determining the first time interval comprises:
Determining whether a greater amount of return light is detected during time interval a or time interval C; and
It is determined whether a greater amount of return light is detected during time interval B or time interval D.
20. The method of claim 17, wherein the time window position code is gray code.
21. The method of claim 17, wherein the second detection window has a duration that is half a duration of the first detection window.
CN202311770975.8A 2022-12-21 2023-12-21 Optoelectronic device with time-of-flight sensor using dynamic time window Pending CN118233613A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP22306982.4 2022-12-21
US18/390,529 US20240210532A1 (en) 2022-12-21 2023-12-20 Optoelectronic device with time-of-flight sensor using dynamic time windows
US18/390,529 2023-12-20

Publications (1)

Publication Number Publication Date
CN118233613A true CN118233613A (en) 2024-06-21

Family

ID=91500249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311770975.8A Pending CN118233613A (en) 2022-12-21 2023-12-21 Optoelectronic device with time-of-flight sensor using dynamic time window

Country Status (1)

Country Link
CN (1) CN118233613A (en)

Similar Documents

Publication Publication Date Title
US11598862B2 (en) Methods and systems for spatially distributed strobing comprising a control circuit to provide a strobe signal to activate a first subset of the detector pixels of a detector array while leaving a second subset of the detector pixels inactive
US20230176223A1 (en) Processing system for lidar measurements
Niclass et al. A 100-m Range 10-Frame/s 340$\,\times\, $96-Pixel Time-of-Flight Depth Sensor in 0.18-$\mu\hbox {m} $ CMOS
CN111465870B (en) Time-of-flight sensing using an array of addressable emitters
US11644573B2 (en) Higher pixel density histogram time of flight sensor with higher pixel density
US11656342B2 (en) Histogram-based signal detection with sub-regions corresponding to adaptive bin widths
EP2446301B1 (en) Pulsed light optical rangefinder
US20170139041A1 (en) Ranging device with imaging capability
US11340109B2 (en) Array of single-photon avalanche diode (SPAD) microcells and operating the same
US20210231782A1 (en) Dram-based lidar pixel
US11994586B2 (en) Using time-of-flight and pseudo-random bit sequences to measure distance to object
US20220221562A1 (en) Methods and systems for spad optimizaiton
US20220035010A1 (en) Methods and systems for power-efficient subsampled 3d imaging
Ruokamo et al. An $80\times25 $ Pixel CMOS Single-Photon Sensor With Flexible On-Chip Time Gating of 40 Subarrays for Solid-State 3-D Range Imaging
US11971505B2 (en) Methods and devices for peak signal detection
US20220206158A1 (en) Event driven shared memory pixel
US20230273304A1 (en) Efficient Fault Detection For Lidar Sensors
EP4390459A1 (en) Optoelectronic device with time-of-flight sensor using dynamic time windows
Ruokamo et al. An 80× 25 pixel CMOS single-photon range image sensor with a flexible on-chip time gating topology for solid state 3D scanning
CN118233613A (en) Optoelectronic device with time-of-flight sensor using dynamic time window
US11960033B2 (en) SPAD based indirect time of flight sensing from solid state transmitter scanning

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination