Circuit and method for combining SPAD outputs
11740334 · 2023-08-29
Assignee
Inventors
Cpc classification
G01S7/4915
PHYSICS
G01S17/32
PHYSICS
G01S7/4865
PHYSICS
International classification
G01S7/4865
PHYSICS
Abstract
A combining network for an array of SPAD devices includes: synchronous sampling circuits, wherein each synchronous sampling circuit is coupled to an output of a corresponding SPAD device and is configured to generate a pulse or an edge each time an event is detected; and a summation circuit coupled to an output of each of the synchronous sampling circuits and configured to count a number of pulses or edges to generate a binary output value.
Claims
1. A combining network for an array of single-photon avalanche diode (SPAD) devices, comprising: a plurality of synchronous sampling circuits, each synchronous sampling circuit being directly electrically connected to an output of a corresponding SPAD device and being configured to cause a logic high transition of its output at each rising edge of a clock signal where an output of the corresponding SPAD device is at a logic high at the rising edge as a result of a detection event but maintain its output at a logic low at each rising edge of the clock signal where the output of the corresponding SPAD device is not at a logic high at the rising edge as a result of a lack of a detection event; a summation circuit directly electrically connected to an output of each of the synchronous sampling circuits and configured to count a number of logic high transitions at each rising edge of the clock signal to generate a binary output value representing the number of logic high transitions at that rising edge of the clock signal; a multi-bit output flip-flop directly electrically connected to an output of the summation circuit to receive the binary output value; and a histogram generation circuit directly electrically connected to an output of the multi-bit output flip-flop to receive the binary output value.
2. The combining network of claim 1, wherein the summation circuit comprises an adder tree configured to convert an N-bit input into an L-bit output, where N is equal to 4 or more, and L=log.sub.2N+1.
3. The combining network of claim 1, wherein each of the plurality of synchronous sampling circuits comprises a flip-flop having a data input directly electrically connected to the output of the corresponding SPAD device, the flip-flops being clocked by the clock signal.
4. The combining network of claim 3, wherein the detection event is a pulse of a first duration on the output of the corresponding SPAD device, and the clock signal has a period of less than half the first duration.
5. A ranging device, comprising: an array of SPAD devices; a combining network comprising: a plurality of synchronous sampling circuits, each synchronous sampling circuit being coupled to an output of a corresponding SPAD device from the array of SPAD devices and being configured to cause a logic high transition of its output at each rising edge of a clock signal where an output of the corresponding SPAD device is at a logic high at the rising edge as a result of a detection event but maintain its output at a logic low at each rising edge of the clock signal where the output of the corresponding SPAD device is not at a logic high at the rising edge as a result of a lack of a detection event; and a summation circuit coupled to an output of each of the synchronous sampling circuits and configured to count a number of logic high transitions at each rising edge of the clock signal to generate a binary output value representing the number of logic high transitions at that clock pulse; and a histogram generation circuit configured to accumulate the binary output values generated by the summation circuits in a plurality of time bins.
6. The ranging device of claim 5, wherein the summation circuit comprises an adder tree configured to convert an N-bit input into an L-bit output, where N is equal to 4 or more, and L=log.sub.2N+1.
7. The ranging device of claim 5, wherein each of the plurality of synchronous sampling circuits comprises a flip-flop having a data input coupled to the output of the corresponding SPAD device, the flip-flops being clocked by the clock signal.
8. The ranging device of claim 7, wherein the detection event is a pulse of a first duration on the output of the corresponding SPAD device, and the clock signal has a period of less than half the first duration.
9. The ranging device of claim 5, wherein each of the plurality of synchronous sampling circuits comprises an edge detection device configured to detect an edge of a pulse generated by the corresponding SPAD device.
10. The ranging device of claim 9, wherein each edge detection device comprises: a first flip-flop having a data input coupled to the output of the corresponding SPAD device; a second flip-flop having a data input coupled to a data output of the first flip-flop, wherein the first and second flip-flops are clocked by the clock signal; and a logic gate coupled to data outputs of the first and second flip-flops and configured to detect an edge at the output of the corresponding SPAD device based on data outputs of the first and second flip-flops.
11. A method of detecting events in a single-photon avalanche diode (SPAD) array, the method comprising: causing, by a plurality of synchronous sampling circuits, a logic high transition at each rising edge of a clock signal where an output of a corresponding SPAD device of the SPAD array is at a logic high at the rising edge of the clock signal but maintain the output at a logic low where the output of the corresponding SPAD device is not at a logic high at the rising edge of the clock signal; counting, by a summation circuit coupled to an output of each of the synchronous sampling circuits, a number of logic high transitions at each rising edge of the clock signal to generate a binary output value representing the number of logic high transitions at that rising edge of the clock signal; and generating a histogram from the binary output values.
12. The method of claim 11, further comprising converting, using an adder tree of the summation circuit, an N-bit input into an L-bit output, where N is equal to 4 or more, and L=log.sub.2N+1.
13. The method of claim 11, wherein causing the logic high transition each time an event is detected at the output of the corresponding SPAD device comprises sampling, using a flip-flop, the output of the corresponding SPAD device based on the clock signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The Foregoing Features and Advantages, as Well as Others, Will be Described in Detail in the Following Description of Specific Embodiments Given by Way of Illustration and not Limitation with Reference to the Accompanying Drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION
(17) Like features have been designated by like references in the various figures. In particular, the structural and/or functional features that are common among the various embodiments may have the same references and may dispose similar or identical structural, dimensional and material properties.
(18) Unless indicated otherwise, when reference is made to two elements connected together, this signifies a direct connection without any intermediate elements other than conductors, and when reference is made to two elements linked or coupled together, this signifies that these two elements can be connected or they can be linked or coupled via one or more other elements.
(19) In the following disclosure, unless indicated otherwise, when reference is made to absolute positional qualifiers, such as the terms “front”, “back”, “top”, “bottom”, “left”, “right”, etc., or to relative positional qualifiers, such as the terms “above”, “below”, “higher”, “lower”, etc., or to qualifiers of orientation, such as “horizontal”, “vertical”, etc., reference is made to the orientation shown in the figures, or to a ranging device as orientated during normal use.
(20) Unless specified otherwise, the expressions “around”, “approximately”, “substantially” and “in the order of” signify within 10%, and preferably within 5%.
(21)
(22) An output line 120 of the combining network 118 is for example provided to a histogram generation circuit (HISTOGRAM GENERATION) 122, which for example attributes the samples from the SPAD array 102 to different time bins in order to allow the arrival time of a received light pulse, or phase of a received optical waveform, to be determined.
(23) By providing a SPAD array 102 formed of a plurality of SPAD devices 104, the dynamic range can be increased with respect to the use of a single SPAD device of the same dimensions. The role of the combining network 118 is to condense the outputs from the SPAD devices of the array 102 onto a single output line 120. As will be described in more detail below, the combining network 118 may comprise an OR tree for combining the SPAD outputs.
(24)
(25) An output (SPAD 1 to SPAD 4) of each SPAD device 104 is provided to a corresponding pulse shaper (PS) 202, which transforms an event detected by the SPAD device 104 into a pulse of fixed duration. The outputs of the pulse shapers 202 are coupled to an OR-tree 204, which comprises three OR gates 206 in the example of
(26) Each of the pulse shapers 202, for example, has its input coupled to one input of an AND gate 208, and also to the second input of the AND gate 208 via an inverter 210.
(27) A drawback of the combining network 118 based on the OR tree of
(28)
(29)
(30) Each of the toggle devices 402 has its input coupled to a clock input of a D-type flip-flop 408, an inverted output Qn of the flip-flop 408 being connected to the data input D of the flip-flop 408.
(31) Like for the OR TREE embodiment of
(32)
(33)
(34)
(35) Operation of the circuit of
(36) A duration tp in
(37) The synchronous sampling devices 602, for example, sample the signals SPAD 1 to SPAD 4 on each rising edge of the clock signal CLK. Thus, the generated output pulses have rising and falling edges synchronized with the clock signal CLK. These pulses are represented by the signals 701, in which overlapping pulses of the signals SPAD 1 to SPAD 4 are shown stacked, as these pulses will be added by the summation circuit 604. The output signal SST thus represents, at each significant edge of the clock signal CLK, the number of signals SPAD 1 to SPAD 4 that is asserted.
(38) In the example, of
(39) In another example in
(40)
(41)
(42)
(43)
(44) Thus, the edge detection device 902 samples the signals SPADi on each significant edge of the clock signal CLK, but outputs a high signal when a rising edge is detected. Of course, in the case that the SPAD devices 104 output falling edges in response to a detected event, the edge detection devices 902 could be modified to detect falling edges by coupling the AND gate input and the data input D of the flip-flop 1004 to an inverted output Qn of the flip-flop 1002 rather that to its data output Q, and by coupling the input of the AND gate 1006 to the data output Q of the flip-flop 1004 rather than to its inverted output Qn.
(45)
(46) It can be seen that in the example of
(47)
(48) The example of
(49) The histogram resulting from the cumulative count values of the M counters C can be used to determine an average time-of-flight of the light pulses, and thus determine a range, while also detecting and cancelling cross-talk.
(50)
(51)
(52) Each full adder FA has inputs A and B, a carry input Ci, a sum output S and carry output Co. Each half adder HA has inputs A and B, a sum output S, and a carry output Co.
(53) The adder tree 1400 for example comprises: a full adder 1402 receiving at its inputs A, B and Ci the signals IN(0), IN(1) and IN(2) respectively, and providing, at its sum output S, a sum value S.sub.0, and at its carry output Co, a carry value C.sub.0; a full adder 1404 receiving at its inputs A, B and Ci the signals IN(3), IN(4) and IN(5) respectively, and providing, at its sum output S, a sum value S.sub.1, and at its carry output Co, a carry value C.sub.1; a half adder 1406 receiving at its inputs A and B the signals IN(6) and IN(7) respectively, and providing, at its sum output S, a sum value S.sub.2, and at its carry output Co, a carry value C.sub.2; a full adder 1408 receiving at its inputs A, B and Ci the signals IN(8), IN(9) and IN(10) respectively, and providing, at its sum output S, a sum value S.sub.3, and at its carry output Co, a carry value C.sub.3; a full adder 1410 receiving at its inputs A, B and Ci the signals IN(11), IN(12) and IN(13) respectively, and providing, at its sum output S, a sum value S.sub.4, and at its carry output Co, a carry value C.sub.4; and a half adder 1412 receiving at its inputs A and B the signals IN(14) and IN(15) respectively, and providing, at its sum output S, a sum value S.sub.5, and at its carry output Co, a carry value C.sub.5.
(54) The adder tree 1400 also for example comprises: a full adder 1414 receiving at its inputs A, B and Ci the values S.sub.0, S.sub.1 and S.sub.2 respectively, and providing, at its sum output S, a sum value S.sub.6, and at its carry output Co, a carry value C.sub.6; a full adder 1416 receiving at its inputs A, B and Ci the values C.sub.0, C.sub.1 and C.sub.2 respectively, and providing, at its sum output S, a sum value S.sub.7, and at its carry output Co, a carry value C.sub.7; a full adder 1418 receiving at its inputs A, B and Ci the values S.sub.3, S.sub.4 and S.sub.5 respectively, and providing, at its sum output S, a sum value S.sub.8, and at its carry output Co, a carry value C.sub.8; and a full adder 1420 receiving at its inputs A, B and Ci the values C.sub.3, C.sub.4 and C.sub.5 respectively, and providing, at its sum output S, a sum value S.sub.9, and at its carry output Co, a carry value C.sub.9.
(55) The adder tree 1400 also for example comprises: a half adder 1422 receiving at its inputs A and B the values S.sub.6 and S.sub.8 respectively, and providing, at its sum output S, a sum value S.sub.10, and at its carry output Co, a carry value C.sub.10; a full adder 1424 receiving at its inputs A, B and Ci the values C.sub.10, C.sub.6 and C.sub.8 respectively, and providing, at its sum output S, a sum value S.sub.11, and at its carry output Co, a carry value C.sub.11; a full adder 1426 receiving at its inputs A, B and Ci the values S.sub.11, S.sub.9 and S.sub.7 respectively, and providing, at its sum output S, a sum value S.sub.12, and at its carry output Co, a carry value C.sub.12; a full adder 1428 receiving at its inputs A, B and Ci the values C.sub.12, C.sub.7 and C.sub.9 respectively, and providing, at its sum output S, a sum value S.sub.13, and at its carry output Co, a carry value C.sub.13; a half adder 1430 receiving at its inputs A and B the values C.sub.11 and S.sub.13 respectively, and providing, at its sum output S, a sum value S.sub.14, and at its carry output Co, a carry value C.sub.14; and a half adder 1432 receiving at its inputs A and B the values C.sub.13 and C.sub.14 respectively, and providing, at its sum output S, a sum value S.sub.15, and at its carry output Co, a carry value C.sub.15.
(56) The sum values S.sub.10, S.sub.12, S.sub.14 and S.sub.15 for example provide the 4-bit output value OUT(0) to OUT(3) of the adder tree respectively, and the carry value C.sub.15 for example provides a carry output. This carry output is for example used as an overflow flag, in which case the number of output bits L is for example equal to log.sub.2N+1. For example, when asserted, the count value is held at a maximum value, thereby avoiding a case in which the count value will roll-over to zero if the maximum count value is exceeded.
(57)
(58) A curve 1502 in
(59) A curve 1504 in
(60) A curve 1506 in
(61) A curve 1508 in
(62) Crosses close to each of the curves 1502 to 1508 show measured detected photon rates.
(63) It can be seen from the curves 1506 and 1508 of
(64) Various embodiments and variants have been described. Those skilled in the art will understand that certain features of these embodiments can be combined and other variants will readily occur to those skilled in the art. For example, it will be apparent to those skilled in the art that the particular implementation of the adder tree of