-
Gebiet der Erfindung
-
Die Erfindung betrifft ein Histogramm-Ausleseverfahren und einen Histogrammerstellungs-Ausleseschaltkreis zum Ermitteln der Flugzeit eines Photons. Die vorliegende Offenbarung betrifft auch Photonendetektoren. Insbesondere betrifft die vorliegende Offenbarung Photonendetektoren mit hoher Empfindlichkeit, wie etwa Halbleiter-Fotovervielfacher. Insbesondere, aber nicht ausschließlich, betrifft die vorliegende Offenbarung Halbleiter-Fotovervielfacher (SiPMs oder SPMs, semiconductor photomultipliers), die in Laserentfernungsmessanwendungen [LIDAR, laser ranging] verwendet werden.
-
Hintergrund
-
Ein Zeit/Digital-Wandler (TDC von Time to Digital Converter) kann als ein sehr genauer Zähler/ein sehr genaues Zeitglied angesehen werden, der/das die Zeit eines Ereignisses mit einer Auflösung unterhalb von 1 ns aufzeichnen kann. Der TDC kann verwendet werden, um die Flugzeit eines Photons von einem Laserpuls zu einem Ziel und zurück zu einem Fotosensor zu messen. Die digitale Zeit, die von dem TDC geliefert wird, wird als eine Adresse verwendet, um auf eine entsprechende Speicherstelle zuzugreifen. Jede Speicherstelle entspricht einer Zeitperiode gleich dem niedrigsten signifikanten Bit des TDC. Diese Speicherstelle wird dann inkrementiert. Mehrere Messungen werden zum Aufbau eines Histogramms im Speicher führen. Eine Histogrammerstellungs-Auslesetechnik umfasst traditionell ein periodisches Streamen aller Ausleseinhalte aus dem Speicher zu einem Computer. Der Computer würde dann die Daten analysieren, um die Position einer Spitze zu ermitteln. Um die Entfernung zu ermitteln, wählte der Computer den interessierenden Bereich (Peak- oder Spitzen-Bereich) und führte einen Gaußschen Fit aus, um den echten Peak zu ermitteln. Diese Technik ist äußerst zeitraubend, da sie das Streamen großer Datenmengen und anschließend das Implementieren einer komplexen Berechnung erfordert. In einer schnellen Anwendung ist die Zeit, die diese Technik benötigt, nicht akzeptabel.
-
Es gibt deshalb einen Bedarf, ein Histogramm-Ausleseverfahren und einen Histogramm-Ausleseschaltkreis zum Ermitteln der Flugzeit eines Photons zur Verfügung zu stellen, welche zumindest einige der Nachteile aus dem Stand der Technik ansprechen.
-
Zusammenfassung
-
Die vorliegende Offenbarung betrifft einen Histogrammerstellungs-Ausleseschaltkreis, umfassend:
- einen Zeit/Digital-Wandler (TDC), der ausgestaltet ist, um Zeitstempel anzugeben, wenn ein TDC-Ereignis detektiert wird;
- Speicher zum Speichern von TDC-Ereignissen;
- einen programmierbaren Prozessor, der ausgestaltet ist, um eine Zustandsmaschine zu implementieren; wobei die Zustandsmaschine betreibbar ist zum
- Speichern eines Zeitstempels, wenn ein TDC-Ereignis detektiert wird;
- Ermitteln der Flugzeit eines Photons;
- Verwenden jeder berechneten Flugzeit, um eine Speicherstelle zu adressieren;
- Aufbauen eines Histogramms von TDC-Ereignissen unter Verwendung der Speicherstellen als Zeit-Bins;
- Halten eines Zeigers auf einer Maximumspeicherstelle, wo sich die höchste Zahl von TDC-Ereignissen befindet; und
- eine Berechnungseinrichtung, die betreibbar ist, um den Wert der Maximumspeicherstelle und eines oder mehrerer benachbarter Zeit-Bins zur Verarbeitung zu lesen.
-
Gemäß einem Aspekt umfasst der Speicher ein erstes Speichermodul und ein zweites Speichermodul.
-
Gemäß einem anderen Aspekt wird eines von dem ersten Speichermodul und dem zweiten Speichermodul zum Erstellen eines Histogramms verwendet, während die Inhalte des anderen von dem ersten und dem zweiten Speichermodul gelöscht werden.
-
Gemäß einem beispielhaften Aspekt hält die Zustandsmaschine zumindest ein Flag, das anzeigt, welches von dem ersten Speichermodul und dem zweiten Speichermodul während des Erstellens des Histogramms aktiv ist, während das andere von dem ersten Speichermodul und dem zweiten Speichermodul inaktiv ist.
-
Gemäß einem weiteren Aspekt verfolgt die Zustandsmaschine zumindest zwei Variablen.
-
Gemäß einem Aspekt umfassen die zumindest zwei Variablen einen Peak-Zeiger und einen Peak-Wert.
-
Gemäß einem anderen Aspekt liest die Zustandsmaschine die Inhalte des Zeit-Bins und inkrementiert die Adresse, um eine neue Zeit-Bin-Adresse zu erzeugen.
-
Gemäß einem weiteren Aspekt wird der neue Zeit-Bin-Wert mit dem gegenwärtigen Zeit-Bin-Wert des Peak-Wertzeigers verglichen.
-
Gemäß einem anderen Aspekt wird, wenn der Vergleich größer ist, der Wert des neuen Zeit-Bins in den Peak-Wert kopiert, und die neue Zeit-Bin-Adresse wird in den Peak-Zeiger kopiert.
-
Gemäß einem Aspekt wartet die Zustandsmaschine auf ein anderes TDC-Ereignis. vorteilhafterweise prüft die Zustandsmaschine, ob eine vordefinierte Zahl von Laserzyklen, die erforderlich ist, um einen Messwert zu beschaffen, erreicht worden ist.
-
Wenn die vordefinierte Zahl von Laserzyklen erreicht worden ist, liest die Zustandsmaschine die Speicherstellen, eine oder mehrere vor der Peak-Zeigeadresse, die Stelle an der Peak-Zeigeadresse und eine oder mehrere nach der Peak-Zeigeradresse.
-
Gemäß einem Aspekt liest die Zustandsmaschine fünf Speicherstellen, zwei vor der Peak-Zeigeradresse, die Stelle an der Peak-Zeigeradresse und zwei nach der Peak-Zeigeradresse.
-
Gemäß einem anderen Aspekt werden diese Lesewerte von der Berechnungseinrichtung zum Ermitteln der Leistungs- und Peak-Positionsdaten beschafft.
-
Gemäß einem Aspekt wendet die Zustandsmaschine die Zeiger zu dem anderen Speichermodul, welches zuvor gelöscht worden ist, so dass es zum Speichern von TDC-Ereignissen für die nächste vordefinierte Zahl von Laserzyklen aktiv ist.
-
Die vorliegende Offenbarung betrifft auch ein Histogramm-Ausleseverfahren zum Ermitteln der Flugzeit eines Photons unter Verwendung des Schaltkreises von 1; wobei das Verfahren umfasst:
- (i) Messen der Flugzeit eines Photons von einem Laserpuls zu einem Ziel und zurück zu einem Fotosensor unter Verwendung eines Zeit/Digital-Wandlers (TDC);
- (ii) Verwenden der digitalen Zeit als eine Adresse, um auf eine entsprechende Speicherstelle zuzugreifen; wobei jede Speicherstelle einer Zeitperiode entspricht, die gleich dem niedrigsten signifikanten Bit des TDC ist;
- (iii) Inkrementieren der Speicherstelle;
-
Erzeugen eines Histogramms durch mehrmaliges Wiederholen der Schritte (i) bis (iii), wobei jede Speicherstelle die Häufigkeit angibt, mit der der TDC diese spezifische Zeit aufzeichnete;
nach einer vordefinierten Zahl von Abtastungen werden die Speicherstellen einen Peak-Bereich enthalten, wo der Großteil der TDC-Zeiten aufgezeichnet worden ist; und
Analysieren des Peak-Bereichs, um die Flugzeit des Photons zu ermitteln.
-
Gemäß einem Aspekt stoppt eine Zustandsmaschine nach einer festgelegten Zykluszeit das Aufzeichnen des Histogramms und liest den Wert der Maximumstelle und eines oder mehrerer benachbarter Zeit-Bins auf beiden Seiten davon.
-
Gemäß einem Aspekt werden diese Lesewerte dann zu einem Berechnungsmodul zum Berechnen des ToF-Werts weitergeleitet.
-
Gemäß einem weiteren Aspekt verwendet das Berechnungsmodul eine gewichtete Mittelwertbildung, um die ToF zu berechnen.
-
Gemäß einem Aspekt wird der Zähler um 16 vergrößert.
-
Gemäß einem weiteren Aspekt gibt das Berechnungsmodul den ToF-Wert in Echtzeit aus.
-
Gemäß einem beispielhaften Aspekt ist das Berechnungsmodul programmiert, um die Lesewerte als eine Angabe des Aktivitätsniveaus zu summieren.
-
Gemäß einem anderen Aspekt ist das Berechnungsmodul betreibbar, um den ToF-Wert auf eine Genauigkeit von weniger als das LSB des TDC zu berechnen.
-
Die vorliegende Offenbarung betrifft auch ein LiDAR-Entfernungsmesssystem, umfassend
einen Histogrammerstellungs-Ausleseschaltkreis, enthaltend:
- einen Zeit/Digital-Wandler (TDC), der ausgestaltet ist, um Zeitstempel anzugeben, wenn ein TDC-Ereignis detektiert wird;
- Speicher zum Speichern von TDC-Ereignissen;
- einen programmierbaren Prozessor, der ausgestaltet ist, um eine Zustandsmaschine zu implementieren; wobei die Zustandsmaschine betreibbar ist zum
- Speichern eines Zeitstempels, wenn ein TDC-Ereignis detektiert wird;
- Ermitteln der Flugzeit eines Photons;
- Verwenden jeder berechneten Flugzeit, um eine Speicherstelle zu adressieren;
- Aufbauen eines Histogramms von TDC-Ereignissen unter Verwendung der Speicherstellen als Zeit-Bins;
- Halten eines Zeigers auf einer Maximumspeicherstelle, wo sich die höchste Zahl von TDC-Ereignissen befindet; und
- eine Berechnungseinrichtung, die betreibbar ist, um den Wert der Maximumspeicherstelle und eines oder mehrerer benachbarter Zeit-Bins zur Verarbeitung zu lesen; und
- einen Lichtdetektor, der funktional mit dem Histogrammerstellungs-Ausleseschaltkreis gekoppelt ist.
-
Gemäß einem Aspekt umfasst der Lichtdetektor eine Einzel-Photonen-Lawinendiode (SPAD von single photon avalanche diode).
-
Gemäß einem anderen Aspekt umfasst der Lichtdetektor einen Silizium-Fotovervielfacher.
-
Die vorliegende Offenbarung betrifft auch ein 2D-Bildgebungssystem, umfassend einen Histogrammerstellungs-Ausleseschaltkreis, enthaltend:
- einen Zeit/Digital-Wandler (TDC), der ausgestaltet ist, um Zeitstempel anzugeben, wenn ein TDC-Ereignis detektiert wird;
- Speicher zum Speichern von TDC-Ereignissen;
- einen programmierbaren Prozessor, der ausgestaltet ist, um eine Zustandsmaschine zu implementieren; wobei die Zustandsmaschine betreibbar ist zum
- Speichern eines Zeitstempels, wenn ein TDC-Ereignis detektiert wird;
- Ermitteln der Flugzeit eines Photons;
- Verwenden jeder berechneten Flugzeit zu, um eine Speicherstelle zu adressieren;
- Aufbauen eines Histogramms von TDC-Ereignissen unter Verwendung der Speicherstellen als Zeit-Bins;
- Halten eines Zeigers auf einer Maximumspeicherstelle, wo sich die höchste Zahl von TDC-Ereignissen befindet; und
- eine Berechnungseinrichtung, die betreibbar ist, um den Wert der Maximumspeicherstelle und eines oder mehrerer benachbarter Zeit-Bins zur Verarbeitung zu lesen;
- einen Scanner zum Ablenken von Laserlichtpulsen über einen 2D-Bereich; und
- einen Lichtdetektor, der funktional mit dem Histogrammerstellungs-Ausleseschaltkreis gekoppelt ist.
-
Gemäß einem Aspekt umfasst der Lichtdetektor ein Array von Einzel-Photonen-Lawinendioden (SPAD).
-
Gemäß einem weiteren Aspekt umfasst der Lichtdetektor ein Array von Silizium-Fotovervielfachern .
-
Die vorliegende Lehre betrifft auch einen Ausleseschaltkreis zum Ermitteln der Flugzeit eines Photons; wobei der Ausleseschaltkreis umfasst:
- einen Zeit/Digital-Wandler (TDC) zum Messen der Flugzeit eines Photons von einem Laserpuls zu einem Ziel und zurück zu einem Fotosensor;
- ein Speichermodul;
- ein Auslesemodul, das betreibbar ist zum
- (i) Lesen der gemessenen ToF eines Photons von einem Laserpuls zu einem Ziel und zurück zu dem Fotosensor unter Verwendung des TDC;
- (ii) Verwenden der digitalen Zeit als eine Adresse, um auf eine entsprechende Speicherstelle zuzugreifen; wobei jede Speicherstelle einer Zeitperiode entspricht, die gleich dem niedrigsten signifikanten Bit des TDC ist;
- (iii) Inkrementieren der Speicherstelle; und
mehrmaliges Wiederholen der Schritte (i) bis (iii); wobei jede Speicherstelle die Häufigkeit angibt, die der TDC diese spezifische Zeit aufzeichnete;
nach einer vorbestimmten Zahl von Abtastungen werden die Speicherstellen einen Peak-Bereich enthalten, wo der Großteil der TDC-Zeiten aufgezeichnet wurde; und
ein Histogrammberechnungsmodul, das betreibbar ist, um den Peak-Bereich zu analysieren und somit die Flugzeit des Photons zu ermitteln.
-
Diese und weitere Merkmale werden unter Bezugnahme auf die folgenden Figuren besser verstanden werden, die vorgesehen sind, um beim Verständnis der vorliegenden Lehre zu helfen.
-
Figurenliste
-
Die vorliegende Lehre wird nun unter Bezugnahme auf die begleitenden Zeichnungen beschrieben:
- 1 veranschaulicht eine beispielhafte Struktur eines Silizium-Fotovervielfachers.
- 2 ist ein schematisches Schaltkreisdiagramm eines beispielhaften Silizium-Fotovervielfachers.
- 3 veranschaulicht eine beispielhafte Technik für eine direkte ToF-Entfernungsmessung.
- 4 veranschaulicht ein beispielhaftes Histogramm, das unter Verwendung der ToF-Entfernungsmessung erzeugt wurde.
- 5 veranschaulicht ein beispielhaftes Histogramm, das unter Verwendung der ToF-Entfernungsmessung erzeugt wurde.
- 6 veranschaulicht einen Ausleseschaltkreis zum Ermitteln einer ToF gemäß der vorliegenden Lehre.
- 7 veranschaulicht ein Flussdiagramm, das eine Zustandsmaschine darstellt, die durch den Ausleseschaltkreis von 6 implementiert ist.
- 8A veranschaulicht ein beispielhaftes Histogramm, das unter Verwendung des Ausleseschaltkreises von 6 erzeugt worden ist.
- 8B veranschaulicht ein beispielhaftes Histogramm, das unter Verwendung des Ausleseschaltkreises von 6 erzeugt worden ist.
- 9 veranschaulicht eine Konstruktion auf höchster Ebene eines Ausleseschaltkreises zum Ermitteln der ToF gemäß der vorliegenden Lehre.
- 10 veranschaulicht beispielhafte Werte, die unter Verwendung des Ausleseschaltkreises von 9 verarbeitet werden.
- 11 veranschaulicht simulierte Graphen unter Verwendung von Daten von dem Ausleseschaltkreis von 9.
- 12 veranschaulicht ein LiDAR-Entfernungsmesssystem, welches ebenfalls gemäß der vorliegenden Lehre ist.
- 13 veranschaulicht ein LiDAR-2D-Bildgebungssystem, das auch gemäß der vorliegenden Lehre verwendet wird.
-
Ausführliche Beschreibung der Zeichnungen
-
Die vorliegende Offenbarung wird nun unter Bezugnahme auf ein beispielhaftes Histogramm-Ausleseverfahren und einen beispielhaften Histogramm-Ausleseschaltkreis zum Ermitteln der Flugzeit eines Photons beschrieben. Es ist zu verstehen, dass das beispielhafte Verfahren vorgesehen ist, um beim Verständnis der Lehre zu helfen und nicht in irgendeiner Weise als beschränkend aufzufassen ist. Darüber hinaus können Schaltkreiselemente oder -komponenten, die unter Bezugnahme auf irgendeine Figur beschrieben sind, durch jene von anderen Figuren oder andere äquivalente Schaltkreiselemente ausgetauscht werden, ohne vom Gedanken der vorliegenden Lehre abzuweichen. Es ist festzustellen, dass der Einfachheit und Klarheit der Darstellung wegen, wenn dies als geeignet angesehen wird, Bezugszeichen innerhalb der Figuren wiederholt werden, um entsprechende oder analoge Elemente anzugeben.
-
Zu Beginn unter Bezugnahme auf 1 ist ein Silizium-Fotovervielfacher 100 gezeigt, der ein Array von Geiger-Modus-Fotodioden umfasst. Wie es veranschaulicht ist, ist ein Löschwiderstand (quench resistor) benachbart zu jeder Fotodiode vorgesehen, der verwendet werden kann, um den Lawinenstrom zu begrenzen. Die Fotodioden sind elektrisch mit gemeinsamen Vorspann- und Masseelektroden durch Aluminium- oder ähnliche leitende Bahnen verbunden. Ein Schaltkreisschema 200 ist in 2 für einen herkömmlichen Siliziumfotovervielfacher 100 gezeigt, in welchem die Anoden eines Arrays von Fotodioden mit einer gemeinsamen Masseelektrode verbunden sind und die Kathoden des Arrays über Strombegrenzungswiderstände mit einer gemeinsamen Vorspannelektrode zum Anlegen einer Vorspannung über die Dioden hinweg verbunden sind.
-
Der Siliziumfotovervielfacher 100 integriert ein dichtes Array von kleinen, elektrisch und optisch isolierten Geiger-Modus-Fotodioden 215. Jede Fotodiode 215 ist in Reihe mit einem Löschwiderstand 220 geschaltet. Jede Fotodiode 215 wird als eine Mikrozelle bezeichnet. Die Zahl von Mikrozellen beträgt in der Regel zwischen 100 und 3000 pro mm2. Die Signale aller Mikrozellen werden dann summiert, um den Ausgang des SiPM 200 zu bilden. Ein vereinfachter elektrischer Schaltkreis ist vorgesehen, um das Konzept in 2 zu veranschaulichen. Jede Mikrozelle detektiert Photonen identisch und unabhängig. Die Summe der Entladungsströme von einem jeden dieser individuellen binären Detektoren wird kombiniert, um einen quasi analogen Ausgang zu bilden, und ist somit in der Lage, Information über den Betrag eines einfallenden Photonenflusses zu liefern.
-
Jede Mikrozelle erzeugt jedes Mal dann eine stark gleichmäßige und quantisierte Menge von Ladung, wenn die Mikrozelle einen Geiger-Durchbruch erfährt. Die Verstärkung einer Mikrozelle (und somit des Detektors) ist als das Verhältnis der Ausgangsladung zu der Ladung an einem Elektron definiert. Die Ausgangsladung kann aus der Überspannung und der Mikrozellenkapazität berechnet werden.
wobei:
- G
- die Verstärkung der Mikrozelle ist;
- C
- die Kapazität der Mikrozelle ist;
- ΔV
- die Überspannung ist; und
- q
- die Ladung eines Elektrons ist.
-
Es gibt eine zunehmende Zahl von Entfernungsmess- und Erfassungsanwendungen, die danach streben, Nutzen aus der SiPM-Technologie mit niedriger Leistung und hohem Leistungsvermögen zu ziehen. LiDAR ist eine Entfernungsmesstechnik, die zunehmend in Anwendungen, wie etwa mobile Entfernungsmessgeräte, automatische ADAS (automatische Fahrerassistenzsysteme), Gestenerkennung und 3D-Kartierung angewandt wird. Das Anwenden eines SiPM als den Fotosensor hat eine Anzahl von Vorteilen gegenüber alternativen Sensortechnologien, wie etwa APD, PIN-Diode und PMT, insbesondere für mobile und Hochvolumenprodukte.
-
Die Grundkomponenten eines beispielhaften direkten ToF-Entfernungsmesssystems 300 sind in 3 veranschaulicht. Bei der direkten ToF-Technik wird ein periodischer Laserpuls 305 auf das Ziel 307 gerichtet, typischerweise mit augensicherer Leistung und einer Wellenlänge im Infrarotbereich. Das Ziel 307 streut und reflektiert die Laserphotonen und einige der Photonen werden zurück zu dem Detektor 315 reflektiert. Der Detektor 315 wandelt die detektierten Laserphotonen (und einige detektierte Photonen aufgrund von Rauschen) in elektrische Signale um, die dann durch das Zeitglied 325 mit einem Zeitstempel versehen werden.
-
Diese Flugzeit t kann verwendet werden, um die Distanz D zu dem Ziel aus der Gleichung D = cΔt zu berechnen, wobei c = Lichtgeschwindigkeit und Δt = Flugzeit. Der Sensor 315 muss zurückgekehrte Laserphotonen von dem Rauschen (Umgebungslicht) unterscheiden. Es wird zumindest ein Zeitstempel pro Laserpuls erfasst. Dies ist als Einzelschussmessung bekannt. Das Signal/Rausch-Verhältnis kann drastisch verbessert werden, wenn die Daten von vielen Einzelschussmessungen kombiniert werden, um einen Entfernungsmesswert zu erzeugen, aus dem die Zeiten der detektierten Laserpulse mit hoher Präzision und Genauigkeit extrahiert werden können.
-
Jedes Mal, wenn der Laser 305 gepulst wird, führt ein Beschaffungssystem eine Einzelschussmessung durch. Abhängig von vielen Faktoren, die die Laserleistung und die Distanz zu dem Ziel einschließen, kann die Zahl der detektierten Laserphotonen pro Puls niedrig sein. Idealerweise wird jedes detektierte Photon mit einem Zeitstempel versehen werden. Gewöhnlich werden viele Einzelschusszeitmessungen, die jeweils einen oder mehrere Zeitstempel enthalten, kombiniert, um einen Frame zu erzeugen. Die vollständigen Zeitdaten, die über den Verlauf eines einzelnen Frames erhalten werden, können in Form eines Histogramms aufgetragen werden, wie es in 4 gezeigt ist. Das Leistungsvermögen der Entfernungsmessung des Systems ist durch die Qualität der Histogrammdaten begrenzt, die wiederum durch die Systemparameter beeinflusst wird.
-
Die vorliegende Offenbarung beschreibt eine Technik einer Echtzeit-Historgrammerstellung zum Ermitteln der Flugzeit eines Photons von seiner Quelle zu seinem Ziel und zurück zu einem Fotosensor. Ein Zeit/Digital-Wandler (TDC) von Time to Digital Converter) wird verwendet, um die Flugzeit eines Photons von einem Laserpuls zu einem Ziel und zurück zu einem Fotosensor zu messen. Die digitale Zeit wird als eine Adresse verwendet, um auf eine entsprechende Speicherstelle zuzugreifen. Jede Speicherstelle entspricht einer Zeitperiode, die gleich zumindest dem niedrigsten signifikanten Bit des TDC ist. Diese Speicherstelle wird dann inkrementiert. Mehrere Messungen werden dazu führen, dass die Elektronik ein Histogramm in einem Speicher aufbaut, wo jede Speicherstelle, Zeit-Bin genannt, die Häufigkeit angeben wird, die der TDC diese spezifische Zeit aufzeichnete. Nach einer festgelegten Zahl von Abtastungen werden die Speicherstellen einen Peak-Bereich enthalten, wo der Großteil der TDC-Zeiten aufgezeichnet worden ist. Durch Analysieren dieser Spitze, unter Verwendung eines geeigneten Algorithmus, kann die Flugzeit des Photons mit einer Genauigkeit von weniger als der Breite eines einzelnen Zeit-Bins ermittelt werden.
-
Anfänglich umfasste die Entwicklung der Histogrammerstellungstechnik ein periodisches Streamen der Inhalte aller Zeit-Bins zu einem Host-Computer. Der Host-Computer würde dann die Daten analysieren, um die Position des Peaks zu ermitteln. 5 zeigt einen typischen Ausdruck der Entfernungsmessdaten. Es ist zu sehen, dass er einen stetigen Rauschpegel aufgrund von falschen Ereignissen umfasst, mit einem großen Peak, die dem entspricht, wenn die Echolaserphotonen detektiert werden. Um die Entfernung zu ermitteln, wählte der Host-Computer den interessierenden Bereich (Peak-Bereich) und führte einen Gaußschen Fit aus, um den echten Peak zu ermitteln. Diese Technik erwies sich als erfolgreich, aber wurde als extrem zeitraubend befunden, da sie das Streamen von großen Mengen von Daten (32 K × 16 Bit Worte) und dann das Implementieren einer komplexen Berechnung erfordert. Bei einer praktischen Anwendung wäre die Zeit, die diese Technik benötigt, nicht akzeptabel.
-
Es wird nun Bezug auf 6 genommen, die einen beispielhaften Ausleseschaltkreis 400 gemäß der vorliegenden Lehre veranschaulicht, der diese Probleme anspricht, indem eine Zustandsmaschine implementiert wird, um die Berechnung auszuführen, wodurch die Notwendigkeit zur Übertragung großer Datenpakete beseitigt wird. Der Ausleseschaltkreis 400 umfasst einen Ausleseprozessor 405, einen TDC 410, ein Paar Speicherblöcke 415A, 415B und eine Peak- und Leistungsberechnungseinrichtung 420. Der TDC 410 ist ein Zähler/Zeitglied mit sehr hoher Präzision, der/das die Zeit eines Ereignisses bis zu einer Auflösung unterhalb von 1 ns aufzeichnen kann. Der TDC wird verwendet, um die Flugzeit eines Photons von einem Laserpuls zu einem Ziel und zurück zu einem Fotosensor zu messen. Die digitale Zeit, die von dem TDC geliefert wird, wird als eine Adresse verwendet, um auf eine entsprechende Speicherstelle zuzugreifen. Jede Speicherstelle entspricht einer Zeitperiode, die gleich dem niedrigsten signifikanten Bit des TDC ist. Diese Speicherstelle wird dann inkrementiert. Mehrere Messungen werden dazu führen, dass der Ausleseschaltkreis ein Histogramm im Speicher aufbaut, wo jede Speicherstelle, Zeit-Bin genannt, die Häufigkeit angeben wird, die der TDC diese spezifische Zeit aufgezeichnet hat. Nach einer festgelegten Zahl von Abtastungen werden die Speicherstellen einen Peak-Bereich enthalten, wo der Großteil der TDC-Zeiten aufgezeichnet worden ist. Durch Analysieren dieses Peaks, unter Verwendung eines geeigneten Algorithmus, kann die Flugzeit des Photons mit einer Genauigkeit von weniger als der Breite eines einzelnen Zeit-Bins ermittelt werden.
-
Die Arbeitsweise des Ausleseschaltkreises 400 wird unter Bezugnahme auf das Flussdiagramm 500 von 7 beschrieben. Anfänglich werden die Inhalte in Speicherblöcken 415A und 415B gelöscht, so dass der Inhalt auf Null gesetzt ist, Schritt 1. Der Ausleseprozessor 405 ist konfiguriert, um eine Zustandsmaschine zu implementieren, die die zwei identischen Speicherblöcke 415A und 415B verwendet. Im Betrieb wird ein Speicherblock gelöscht, während der andere Speicher zur Histogrammerstellung verwendet wird. Die Zustandsmaschine startet mit der Histogrammerstellung in dem Speicherblock 415A, Schritt 2. Der Ausleseprozessor 405 hält zwei Variablen, Peak-Zeiger (Peak Pointer PP) und Peak-Wert (Peak Value PV). Bei der Initialisierung werden diese Variablen auf 0 gesetzt, Schritt 3. Die Zustandsmaschine wartet auf ein Ereignis, das von dem TDC detektiert werden soll. Im Laufe dieser Zeit, während es keine Ereignisse gibt, löscht die Zustandsmaschine die Speicherstellen des „anderen“ Speicherblocks 415B. Wenn der Takt der Zustandsmaschine viel größer als die Ereignisrate ist, ist die Zustandsmaschine in der Lage, alle Pufferspeicherstellen während der Zeit zu löschen, in der auf ein Ereignis gewartet wird, Schritt 4. Wenn das Ereignis nicht aufgrund des Laserpulses ist, kehrt die Zustandsmaschine zurück, nach einem anderen Ereignis abzufragen, Schritt 5. Wenn es ein Laserpuls ist, dann wird die Zeit des Ereignisses in den TDC gespeichert, Schritt 6. Die Zustandsmaschine wartet auf ein Ereignis, das von dem TDC detektiert werden soll. Im Laufe dieser Zeit, während es keine Ereignisse gibt, löscht die Zustandsmaschine die Speicherstellen des anderen Speicherblocks (415A oder 415B), Schritt 7. Wenn das Ereignis aufgrund eines zurückgekehrten Photons war, dann wird die Zeit dieses Ereignisses gespeichert, und die Zustandsmaschine springt zu Schritt 9. Ansonsten springt die Zustandsmaschine zu Schritt 12. Die Zeit des Lasers wird dann von der Photonenzeit subtrahiert, um eine Adresse für das Zeit-Bin zu schaffen, Schritt 9.
-
Die Zustandsmaschine verwendet nun diese Adresse, um die Inhalte des Zeit-Bins auszulesen, inkrementiert sie und schreibt sie zurück, Schritt 10. Dieser neue Zeit-Bin-Wert wird mit dem gegenwärtigen Wert des Peak Value (PA) verglichen. Wenn dieser Wert größer ist, wird er in den PA kopiert und die Zeit-Bin-Adresse wird in den Peak Value (PV) kopiert. Die Zustandsmaschine springt dann zurück, um ein anderes Photonenereignis zu beschaffen (Schritt 7). Dieser Prozess schaltet zurück zu Schritt 7, um mehrere Photonenereignisse für jeden Laserzyklus zu verbuchen, Schritt 11. Die Zustandsmaschine geht zu diesem Zustand, wenn in den Schritten 8, 12, 13 ein neuer Laserpuls detektiert wird. Die Zustandsmaschine prüft nun, ob die vordefinierte Zahl von Laserzyklen, die erforderlich ist, um einen Messwert zu beschaffen, erreicht worden ist. Wenn sie nicht vollständig ist, dann kehrt die Zustandsmaschine zurück, um den TDC-Wert für das Laserereignis bei Schritt 6 für einen neuen Zyklus zu speichern, Schritt 12. Wenn der Zykluszählwert vollständig ist, dann liest die Zustandsmaschine fünf Speicherstellen zurück, zwei vor der PP-Adresse, die Stelle der PP-Adresse und zwei nach der PP-Adresse, Schritt 13. Diese fünf Werte werden dann der Peak- und Leistungsberechnungseinrichtung 420 zum Ermitteln der Leistungs- und Peak-Positionsdaten präsentiert, Schritt 14. Diese berechneten Werte werden dann von der Zustandsmaschine dem System angegeben, Schritt 15. Schließlich wendet die Zustandsmaschine Zeiger zu dem anderen Speicherblock (der während der vorhergehenden Histogrammerstellung gelöscht wurde) und geht zurück zu Schritt 3, um den Prozess zu wiederholen, Schritt 16.
-
Es ist aus dem Flussdiagramm 500 zu sehen, dass für jeden Lasertakt mehrere Sensorereignisse verarbeitet werden. Anfänglich verarbeitet die Konstruktion nur das erste Sensorereignis und wartet dann auf das nächste Lasertaktereignis. Jedoch wurde befunden, dass dies schlechte Ergebnisse liefert, wenn mit hohen Umgebungslichtniveaus gearbeitet wird. Da es eine hohe Zahl von ungewollten Photonen (Rauschen) gab, war es wahrscheinlich, dass eines dieser Photonen zuerst detektiert werden würde. Durch Verarbeiten mehrerer Sensorereignisse verbesserte sich die Wahrscheinlichkeit der Verarbeitung der Signalereignisse beträchtlich.
-
8A zeigt ein Histogramm für ein einzelnes Sensorereignis, und 8B veranschaulicht ein Histogramm für eine Mehrfach-Sensorereignisverarbeitung bei hohem Umgebungslicht. Es ist aus 8A zu sehen, dass für die Einzel-Sensorereignisverarbeitung das Lichtrauschen sofort detektiert wird, was zum Verlust des tatsächlichen Signals führt. Durch Verarbeiten von Mehrfach-Sensorereignissen, wie es in 8B veranschaulicht ist, gemäß der vorliegenden Lehre, werden jedoch reale Signalphotonen detektiert, was zu einem relativ sanften Rauschboden mit einem dominanten Peak, der der Ankunftszeit des Signals entspricht, führt.
-
9 veranschaulicht eine beispielhafte Konstruktion auf höchster Ebene eines Histogrammerstellungs-Ausleseschaltkreises 900, der ausgestaltet sein kann, um die Zustandsmaschine von 7 unter Verwendung eines feldprogrammierbaren Gate-Arrays (FPGA von field programmable gate array) zu implementieren. Das FPGA kann programmiert sein, um den Ausleseprozessor 405 und den TDC 410 zu implementieren. Der TDC gibt kontinuierlich Zeitstempel an, die die Ankunftszeit des Lasertakts und des Signalausgangs von dem Sensor definieren. Wenn ein Ereignis von dem Lasertakt detektiert wird, wird der Zeitstempel von dem FPGA gespeichert. Der FPGA-Ausleseprozessor liest dann alle TDC-Ereignisse von dem Sensorschaltkreisausgang und ermittelt durch Subtraktion (Sensorzeit (Sensor time) - Lasertaktzeit (Laser Clock time)) die Flugzeit von jedem der Photonen, die von dem Sensor detektiert werden. Dies wird wiederholt, bis ein anderes Ereignis von dem LASER-Takt detektiert wird.
-
Jede berechnete Flugzeit (Sensorzeit - Lasertaktzeit) wird verwendet, um Speicher in dem FPGA zu adressieren. Die Inhalte dieser Stelle werden gelesen, inkrementiert und dann zurück in diese Stelle geschrieben. Somit baut der Zustands-FPGA-Prozessor ein Histogramm der TDC-Datenwerte unter Verwendung der Speicherstellen als Zeit-Bins auf. Gleichzeitig hält die Zustandsmaschine einen Zeiger auf die Stelle, wo sich der höchste Zählwert befindet.
-
Nach einer festgelegten Zykluszeit stoppt die Zustandsmaschine das Aufzeichnen des Histogramms und liest die Werte der Maximumstelle (Peak) und der zwei benachbarten Zeit-Bins auf jeder Seite. Diese fünf Werte, plus die absolute Speicheradresse des ersten Werts werden dann zu der Peak- und Leistungsberechnungseinrichtung zur Verarbeitung weitergeleitet.
-
Es ist in 6 zu sehen, dass es zwei Speicheradressblöcke 415A und 415B gibt. Dies wird vorgenommen, um Flip-Flop-Puffer für die Histogrammerstellung zu implementieren. Die Histogrammerstellungstechnik erfordert es, mit allen auf Null gesetzten Bins zu starten. Durch Implementieren von Flip-Flop-Speicherpuffern kann der Ausleseprozessor den Histogrammerstellungsprozess ausführen, während gleichzeitig der andere Puffer bereits für den nächsten Zyklus gelöscht werden.
-
Die Konstruktion auf höchster Ebene kann unter Verwendung von beispielsweise einem ALTERA Zyklon III FPGA implementiert werden. Es ist jedoch nicht beabsichtigt, die vorliegende Lehre auf einen besonderen Typ von FPGA zu beschränken. Der Entwurf umfasst drei Module, nämlich AUSLESEN (READOUT), Lpb_ram dq0 und HIST_CALC. Das Auslesemodul enthält die Haupt-Auslesezustandsmaschine, die den Histogrammerstellungsprozess ausführt. Das Lpb_ram_dq0 Modul liefert den Speicherblock zum Speichern der Histogrammdaten. Es werden zwei FLIP-FLOP-Blöcke unter Verwendung eines Kippens des Zustands des
MSB der Adresse (Adressbit
10) implementiert. Das HIST CALC Modul empfängt den Wert der fünf Bins und erzeugt die Ergebnisse der Energie und Distanz (gewichteter Mittelwert). Der Zweck der I/O-Signale ist in Tabelle 1 beschrieben.
Tabelle 1: I/O-Signalbeschreibungen
SIGNAL-NAME | TYP | BESCHREIBUNG |
RESET | EINGANG | Rücksetzsignal für die AUSLESE-Zustandsmaschine |
RUN | EINGANG | Aktiv HIGH befiehlt der Zustandsmaschine, die Verarbeitung zu starten |
SMCLK | EINGANG | Zustandsmaschinentakt (200 MHz) |
TDCLK | EINGANG | LO-HI an diesem Eingang gibt ein Ereignis an (PHOTON oder LASER) |
TDDATA | 13-Bit-EINGANG | Gegenwärtiger TDC-Zeitwert aufgrund des letzten Ereignisses |
BINOFF | 13-Bit-AUSGANG | Dieser Wert definiert den Adress-Offset der 5 BINS |
ENERGY | 16-Bit-AUSGANG | Dieser Wert ist die SUMME der 5 Bins, die für die Berechnung der Distanz verwendet werden |
DISTANCE | 16-Bit-AUSGANG | Dies ist der berechnete gewichtete Mittelwert (x16) |
RUNNING | AUSGANG | Aktiv HIGH gibt an, dass die Zustandsmaschine arbeitet |
-
Die Peak- und Leistungsberechnungseinrichtung
420 empfängt die fünf Spitzen-Bin-Werte und ermittelt aus diesen einen genauen Wert für die Zeiten.
10 veranschaulicht ein einfaches Beispiel von zwei Datensätzen. Der
FPGA verwendet eine gewichtete Mittelwertbildung, um die Zeiten mit hoher Auflösung zu berechnen. Die Formel zum Berechnen des gewichteten Mittelwerts ist wie folgt:
-
Wenn der FPGA keine Fließpunktberechnung implementieren kann, wird der Zähler bis zu sechzehn vergrößert. Dies behält die Auflösung bei, nachdem die Division ausgeführt worden ist. Danach ist für'a' und ‚b‘ die FPGA-Berechnung wie folgt:
-
Diese Werte werden als ein 16-Bit-Ausgang (PEAK POSITION oder Spitzenposition) angegeben. Ebenso wie dies gibt das Modul auch die SUMME der 5 Bins, um die Stärke des Signal-Peaks (POWER oder LEISTUNG) an.
-
Das AUSLESE-Modul gibt, als einen Ausgang, die Position des ersten Bins als BIN OFFSET an. Aus diesen Daten kann daher der Host-Prozessor der eine Schnittstelle mit dem FPGA hat, sehr schnell die Zeiten des Photons mit hoher Auflösung ermitteln. Wenn angenommen wird, dass im vorhergehenden Beispiel dieser BIN OFFSET in beiden Fällen
232 betrug und dass das LSB des
TDC 250 ps betrug, dann ist für die Zeiten mit hoher Auflösung für ‚
a‘ und ‚
b‘:
-
Es ist zu sehen, dass, obwohl der Peak-Wert für beide 6 betrug, der Einfluss der benachbarten Bins zu sehr unterschiedlichen Werten geführt hat. Damit ist gezeigt, dass der ToF-Wert mit einer Genauigkeit von weniger als dem LSB des TDC gemessen werden kann.
-
Eine beispielhafte Simulation der Konstruktion 900 ist in 11 veranschaulicht. Ebenso wie die Standard-I/O-Signale sind auch der Zustand der Zustandsmaschine (READOUT SM oder AUSLESUNG FM) enthalten. Zur Vereinfachung der Beschreibung in der beispielhaften Ausführungsform wird folgendes angenommen:
- 1. Der TDC sucht nach LASER- und PHOTONEN-Ereignissen, erzeugt einen Puls an dem Eingang TDCLK und gibt die Delta-Zeit ((PHOTONEN-ZEIT (PHOTON TIME) minus LASER-Zeit (LASER time)) an dem TDDATA 13-Bit-Eingang an.
- 2. Die Zustandsmaschine wird die Datenbeschaffung nach 14 empfangenen Ereignissen abschließen.
-
Der Start der Ansammlung von Histogrammdaten ist durch den LO-HI-Übergang des Eingangs-RUN-Signals angegeben. Sobald dies auftritt, fragt die Zustandsmaschine den TDCLK-Eingang nach Ereignissen ab. Während des Abfragens nach TDCLK-Ereignissen löscht die Zustandsmaschine fortwährend den Speicher in dem „anderen“ Histogrammpuffer.
-
Wenn ein TDCLK-Ereignis detektiert wird, liest die Zustandsmaschine den Wert von TDDATA und verwendet diesen Wert als eine Adresse für den Speicherpuffer. Die Inhalte dieser Speicherstelle werden gelesen, inkrementiert und dann wird der neue Wert daraus zurückgeschrieben. Die Zustandsmaschine hält auch einen Zeiger, der die Stelle des größten Bin-Werts definiert. Dieser Prozess ist in dem Flussdiagramm 500 beschrieben.
-
Bei Abschluss der Gesamtereignisse (in diesem Fall 14) leitet die Zustandsmaschine den Wert des Peak-BIN und zwei auf beiden Seiten zu dem HIST_CALC-Modul weiter, um den gewichteten Mittelwert und die Gesamtleistung der fünf Bins zu ermitteln. Der untere Frame von 11 ist in einem Bereich am Ende der Beschaffung gezoomt. Es ist zu sehen, dass es eine Verzögerung von ~60 ns gibt, bevor der resultierende gewichtete Mittelwert (0 x 2D) berechnet wird. So kann mit dem BINOFF-Ausgang, der den Start von fünf Bins definiert und der gewichteten Berechnung die genaue Entfernungsmessdistanz ermittelt werden.
-
Unter Bezugnahme auf 12 ist ein LiDAR-Entfernungsmesssystem 1000 veranschaulicht, welches eine SPAD- oder SiPM-Einrichtung 1010 umfasst, die funktional mit dem Ausleseschaltkreis 400 gekoppelt ist, wie es unter Bezugnahme auf 6 beschrieben ist. Ein Treiberschaltkreis 1015 wird von einem Takt angetrieben, um Laserpulse zu starten. Der gleiche Takt wird auch verwendet, um den Start des TDC 405 auszulösen. Zurückkehrende Photonen werden von der SPAD/SiPM-Einrichtung 1010 detektiert. Dann wandelt ein Diskriminatorschaltkreis 1020 diese Ereignisse in digitale Pulse um. Der TDC 405 stimmt die Differenz zwischen den emittierten Photonen und den zurückgekehrten Photonen zeitlich ab. Diese Delta-Zeitwerte werden in einen Ausleseschaltkreis 400 zum Auftragen von Histogrammen und zum Berechnen der Distanz, die von den Photonen zurückgelegt wurde, eingespeist.
-
Unter Bezugnahme auf 13 ist ein LiDAR 2D-Bildgebungssystem 2000 veranschaulicht, welches ein Array 2010 von SPAD- oder SiPM-Einrichtungen umfasst, die funktional mit dem Ausleseschaltkreis 400 gekoppelt sind, wie es unter Bezugnahme auf 6 beschrieben ist. Ein Multi-LASER-Diodentreiberschaltkreis 2015 wird von einem Takt angetrieben, um Laserpulse zu starten. Der gleiche Takt wird auch verwendet, um den Start des Multi-Kanal-TDC 410 auszulösen. Zurückkehrende Photonen werden von dem Array 2010 der SPAD/SiPM-Einrichtungen detektiert. Ein Multi-Kanal-Diskriminatorschaltkreis 2020 wandelt diese Ereignisse in digitale Pulse um. Der TDC 410 stimmt die Differenz zwischen emittiertem Photon und zurückkehrenden Photonen zeitlich ab. Diese Delta-Zeitwerte werden in den Ausleseschaltkreis 400 zum Auftragen mehrerer Histogramme und zum Berechnen der Distanz, die von den Photonen zurückgelegt wurde, eingespeist.
-
Die Auslese-Zustandsmaschine steuert auch einen Scanner 2035 zum Ablenken der Laserlichtpulse über einen 2D-Bereich. Der Multi-Kanal-Diskriminator 2020 leitet die Ereignisse zu unterschiedlichen Eingängen des TDC 410 auf der Basis eines besonderen SiPM oder SPAD innerhalb des Arrays 2010 weiter. Der TDC 410 stempelt einen Delta-Zeitwert wiederum mit einer Kanal-ID, um zu ermöglichen, dass der Auslöseschaltkreis 400 das besondere Pixel innerhalb des Arrays 2010 identifiziert. Deshalb ist der Ausleseprozessor 405 erforderlich, um ‚N‘ Histogrammspeicherblöcke zu halten, wobei ‚N‘ die Zahl von Sensoren in dem Array 2010 ist.
-
Der Fachmann wird feststellen, dass verschiedene Modifikationen an den oben beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Auf diese Weise ist zu verstehen, dass die Lehre nur insofern als im Licht der beigefügten Ansprüche notwendig erachtet, beschränkt ist. Der Ausdruck Halbleiter-Fotovervielfacher wird verwendet, um jegliche Festkörper-Fotovervielfachereinrichtungen abzudecken, wie etwa einen Silizium-Fotovervielfacher [SiPM], MicroPixel Photon Counters [MPPC], MicroPixel Avalanche Photodiodes [MAPD], aber nicht darauf beschränkt.
-
Ähnlich werden die Wörter umfasst/umfassend, wenn sie in der Beschreibung verwendet, dazu verwendet, das Vorhandensein von festgestellten Merkmalen, Bestandteilen, Schritten oder Komponenten zu spezifizieren, aber nicht das Vorhandensein oder den Zusatz von einem oder mehreren zusätzlichen Merkmalen, Bestandteilen, Schritten, Komponenten oder Gruppen davon auszuschließen.