Rasche Bereitstellung der Entfernungsmessung per Laufzeitmessung mit einer vorgefertigten Lösung
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2020-04-02
Die ToF-Technologie (ToF: Time-of-Flight, Laufzeitmessung) wird zunehmend für Abstandsmessungen und Näherungssensoren in Anwendungsbereichen eingesetzt, die von Konsumgütern bis hin zu Industrieanlagen reichen. Die Verfügbarkeit von Single-Chip-TOF-Verarbeitungs-ICs trägt zur Vereinfachung der Implementierung dieser Lösungen bei, aber diese lassen den Entwicklern immer noch kritische Aufgaben wie das Finden und Optimieren geeigneter Emitter und Fotodioden sowie die Integration dieser Bauelemente mit dem ToF-Prozessor. Ein stärker integrierter Ansatz könnte den Prozess erheblich vereinfachen und Zeit sparen.
Um dieses Problem zu lösen, hat Digilent eine vorgefertigte ToF-Zusatzplatine entwickelt, die in Kombination mit einer Hochleistungs-Systemplatine und der zugehörigen Software-Bibliothek eine komplette Hardware-TOF-Lösung bietet. Jetzt können Entwickler sofort mit dem Prototyping von ToF-Anwendungen beginnen oder diese Hard- und Software als Grundlage für die Entwicklung von kundenspezifischer ToF-Hardware und -Software verwenden.
Dieser Artikel beschreibt kurz die Funktionsweise der ToF-Sensoren. Anschließend stellt Digilent das Pmod ToF-Board vor und zeigt, wie es in Kombination mit dem Digilent Zybo Z7-20 Entwicklungsboard verwendet werden kann, um die ToF-Technologie zu evaluieren und die optische Distanzmessung schnell in ihren eigenen Designs einzusetzen.
Wie ToF-Sensoren funktionieren
ToF-Sensoren spielen eine wichtige Rolle in einem immer breiteren Spektrum von Anwendungen. In Fahrzeugen und Industrieanlagen warnen diese Sensoren die Bediener vor Hindernissen beim Einparken oder sonstigen Manövrieren auf engem Raum. In Verbraucheranwendungen bieten diese Geräte eine Näherungssensorik in mobilen Produkten oder Heimautomatisierungssystemen. Bei diesen und anderen Anwendungen berechnen optische ToF-Systeme die Entfernung zu einem externen Objekt oder Hindernis mit verschiedenen Methoden, die alle auf einer gewissen Differenz zwischen dem vom externen Objekt reflektierten und dem ursprünglich übertragenen Licht beruhen.
Ein fortschrittliches ToF-Bauteil wie das ToF-basierte Signalverarbeitungs-IC ISL29501 von Renesas berechnet den Abstand durch Messung der Phasenverschiebung zwischen dem von einer externen LED oder einem Laser gesendeten Licht und dem von einer Fotodiode empfangenen Licht. Wenn der ISL29501 Licht (Tx) überträgt, das durch eine Rechteckwelle mit einer gegebenen Frequenz fm moduliert ist, kehrt das von einem Objekt reflektierte optische Signal (Rx) mit einer gedämpften Amplitude R und einer gewissen Phasenverschiebung j zum ISL29501 zurück (Abbildung 1).
Abbildung 1: Fortgeschrittene ToF-Geräte wie der Renesas ISL29501 nutzen ihre internen digitalen Signalverarbeitungsmöglichkeiten, um den Abstand zu Objekten auf der Grundlage der Phasenverschiebung j zwischen durchgelassenem und reflektiertem Licht zu berechnen. (Bildquelle: Renesas)
Durch die Messung dieser Phasenverschiebung kann das Gerät den Abstand D berechnen:
Gleichung 1
Dabei gilt:
D = Entfernung zum Ziel
c = Lichtgeschwindigkeit
fm = Modulationsfrequenz
φ = Phasenwinkel (Bogenmaß)
Da das modulierte Frequenzsignal fm und die Lichtgeschwindigkeit c bekannt sind, kann die Entfernung durch Ermittlung des verbleibenden Faktors, des Phasenwinkels φ, berechnet werden. Dieser Faktor kann mit traditionellen Quadratur-Signalverarbeitungstechniken berechnet werden. Hier werden gleichphasige (I) und quadratische (Q) Signalkomponenten durch getrennte I- und Q-Signalpfade erzeugt, die aus einem Demodulator, einem Tiefpassfilter (LPF) und einem Analog-Digital-Wandler (ADC) bestehen (Abbildung 2).
Abbildung 2: Zur Berechnung des für die Abstandsberechnung erforderlichen Phasenwinkels φ demoduliert, filtert und konvertiert der Renesas ISL29501 die gleichphasigen (I) und quadratischen (Q) Signalkomponenten des Eingangssignals (VIN). (Bildquelle: Renesas)
Intern integriert der ISL29501 einen umfassenden Signalpfad, der der Demodulationspipeline vorgeschaltet ist, mit einer analogen Front-End (AFE)-Signalkonditionierungsstufe, die einen Transimpedanzverstärker (TIA) und einen rauscharmen Verstärker (LNA) umfasst. Der Eingangssignalpfad des ISL29501 folgt dem AFE mit einem Regelkreis mit variabler Verstärkung (Av) und automatischer Verstärkungsregelung (AGC), der seine eingebauten Algorithmen zur Optimierung des SNR nutzt.
Auf der Ausgangsseite integriert der ISL29501 eine On-Chip-Emittertreiberkette, die Rechteckimpulse mit einer Modulationsfrequenz von 4,5 Megahertz (MHz) liefern und einen Strom von bis zu 255 Milliampere (mA) an einen geeigneten Emitter treiben kann. Zur Vervollständigung dieser funktionalen Architektur übernimmt ein interner digitaler Signalprozessor (DSP) die Berechnungen, die erforderlich sind, um das Abstandsergebnis aus Phasen-, Amplituden- und Frequenzdaten zu erzeugen (Abbildung 3).
Abbildung 3: Der Renesas ISL29501 kombiniert Signalpfade zur Ansteuerung eines Emitters und zur Verarbeitung des Fotodiodeneingangs mit einem internen digitalen Signalprozessor, der Algorithmen zur Berechnung des Abstands aus Phasen-, Amplituden- und Frequenzdaten ausführt. (Bildquelle: Renesas)
Auswahl von Emittern und Fotodioden
Durch die Integration von Fotodioden-Eingang, Emitter-Ausgang und Verarbeitungsfunktionen bietet der ISL29501 eine flexible Hardware-Grundlage für den Aufbau von ToF-Distanzmesslösungen. Merkmale wie die AFE- und AGC-Schleife auf der Eingangsseite und der programmierbare Emittentreiber auf der Ausgangsseite sind speziell für die Unterstützung einer breiten Palette von Emittern und Fotodioden ausgelegt. Gleichzeitig hängt die Wirksamkeit einer kompletten ToF-Lösung entscheidend von der sorgfältigen Auswahl und Konfiguration von Emitter und Fotodiode ab.
Die Flexibilität des ISL29501 ermöglicht es Entwicklern beispielsweise, für den Emitter aus einer Vielzahl von Infrarot-LEDs (IR), oberflächenemittierenden Lasern mit vertikalem Resonator (VCSEL) oder anderen Lasergeräten mit kompatiblen Spannungs-, Strom- und Frequenzspezifikationen auszuwählen. Tatsächlich ist eine typische ToF-Lösung relativ unempfindlich gegenüber dem Emittertyp. Dennoch wird die Verwendung eines Geräts für das nahe Infrarot (NIR) oder das mittelwellige Infrarot (MWIR) empfohlen, um Störungen durch Umgebungslichtquellen zu reduzieren. Nach der Auswahl des Geräts muss der Entwickler den optimalen Emitterimpulstreiberstrom sowie eine eventuell erforderliche Gleichstromkomponente bestimmen. Als nächstes muss der Entwickler den Baustein so programmieren, dass er den Impuls und den optionalen Gleichstrom über die separaten internen Digital-Analog-Wandler (DACs) liefert, die in die Emittertreiber-Ausgangskette integriert sind.
Ebenso kann die ISL29501 eine Vielzahl von Fotodioden unterstützen, aber die Anwendung und die Wahl der Emitter wird eine Schlüsselrolle bei der Bestimmung der optimalen Wahl spielen. Wie beim Emitter trägt eine Fotodiode, die bei NIR- oder MWIR-Wellenlängen arbeitet, zur Reduzierung von Störungen des Umgebungslichts bei. Im Idealfall sollte die spektrale Empfindlichkeitskurve der Fotodiode so schmal wie möglich sein, mit einer Spitze in der Mitte der Spitzenwellenlänge des Emitters, um das Signal-Rausch-Verhältnis (SNR) zu optimieren. Obwohl die Fotodiode die Lichtmenge, die sie sammeln kann, maximieren muss, führt die Vergrößerung der Fotodiodenfläche auch zu einer höheren Kapazität (sowohl Sperrschicht- als auch Streukapazitäten), was die Ansprechzeit der Fotodiode und ihre Fähigkeit, die Anstiegs- und Abfallzeiten des Emitters zu verfolgen, beeinträchtigen kann. Folglich müssen die Entwickler das optimale Gleichgewicht zwischen der Fotodiodenfläche und der internen Kapazität finden, um die Signalamplitude ohne Leistungseinbußen zu maximieren.
Integrierte ToF-Lösung
Das Digilent Pmod ToF-Board wurde entwickelt, um die Entwicklung von ToF-Anwendungen zu beschleunigen, und bietet eine serienmäßige ToF-Lösung, die den ToF-IC ISL29501 von Renesas, einen EEPROM mit Mikrochip-Technologie AT24C04D, eine IR-LED und eine Fotodiode in einem kleinformatigen Board mit sechspoligem Pmod-Host und Durchgangsanschlüssen zum Hinzufügen weiterer Pmod-Erweiterungsboards kombiniert (Abbildung 4).
Abbildung 4: Die Digilent Pmod ToF-Platine bietet eine komplette ToF-Sensorlösung, die für den Anschluss an Systemplatinen mit Pmod-Steckverbindern entwickelt wurde. (Bildquelle: Digilent)
Für Lichtquelle und Detektor paart die Platine eine Hochleistungs-LED SFH 4550 860 Nanometer (nm) von OSRAM Opto Semiconductors mit einer Fotodiode OSRAM SFH 213 FA, die eine schnelle Schaltzeit, eine spektrale Empfindlichkeit von 750 bis 1100 nm und eine Spitzenempfindlichkeit bei 900 nm aufweist.
Obwohl der Renesas ISL29501 keine zusätzlichen Komponenten für die zugehörigen LED- und Fotodioden-Bausteine benötigt, benötigt er doch eine geeignete 2,7-Volt- bis 3,3-Volt-Quelle für jede seiner drei Leistungsdomänen, die über separate Pins für seine analoge Spannungsquelle (AVCC), seine digitale Spannungsquelle (DVCC) und seine Emittertreiberspannung (EVCC) versorgt wird. Obwohl diese aus der gleichen Quelle geliefert werden können, empfiehlt Renesas, diese drei Lieferungen zu isolieren. Wie im Schaltplan des Digilent Pmod ToF gezeigt, erreicht Digilent diese Isolierung für die ToF-Platine mit Hilfe der Ferritperlen und Kondensatoren BLM15BD471SN1D von Murata Electronics für jede Versorgung (Abbildung 5).
Abbildung 5: Das Digilent Pmod ToF-Board bietet sowohl eine sofortige Hardwarelösung für das Rapid Prototyping als auch ein Referenzdesign für kundenspezifische ToF-Systeme. (Bildquelle: Digilent)
Entwicklungsumgebung MPLAB X
Digilent trägt mit einer auf dem Digilent Zybo Z7-20 Board basierenden Entwicklungsumgebung zur Beschleunigung der Implementierung von ToF-Anwendungen bei. Das Board bietet eine hochleistungsfähige Betriebsumgebung, die um den Xilinx Zynq XC7Z020 herum aufgebaut ist und alle programmierbaren SoC (APSoC) enthält. Dieser APSoC integriert einen Dual-Core Arm® Cortex®-A9-Prozessor mit einem umfangreichen programmierbaren Fabric, der 53.200 Look-Up-Tables (LUTs), 106.400 Flip-Flops und 630 Kilobyte (Kbytes) Block-Direktzugriffsspeicher (RAM) unterstützt. Zusammen mit dem Xilinx Zynq XC7Z020 APSoC verfügt das Zybo Z7-20 Board über 1 Gigabyte (Gbyte) RAM, 16 Megabyte (Mbytes) Quad-SPI-Flash, mehrere Schnittstellen, Anschlüsse und sechs Pmod-Erweiterungsports.
Die PmodToF-Demo-Softwaredistribution ZyboZ7-20 von Digilent, die für die Ausführung auf dem Zybo Z7-20-Board konzipiert ist, enthält das Software Development Kit (SDK) für die Pmod ToF-Bibliothek mit hierarchischen Blöcken. Diese Bibliothek bietet Entwicklern eine intuitive Anwendungsprogrammierschnittstelle (API) für die Erstellung von Anwendungen, die auf Treibern und Unterstützungsmodulen im Xilinx SDK basieren oder von Digilent für die Pmod ToF-Karte bereitgestellt werden (Abbildung 6).
Abbildung 6: Die hierarchische Pmod ToF-Block-Softwarebibliothek von Digilent ergänzt die Low-Level-Schnittstellentreiber im Xilinx SDK um Module für den Renesas ISL29501-Sensor, EEPROM und Pmod ToF-Dienste. (Bildquelle: Digilent)
Die Digilent Bibliothek kombiniert Low-Level-Treiber für I2C-, GPIO- und UART-Kommunikation aus dem Xilinx SDK mit Modulen, die Operationen auf Registerebene für das Digilent Pmod ToF Board EEPROM und den Renesas ISL29501 Baustein implementieren. Das Modul ISL29501 stellt beispielsweise eine Funktion zur Verfügung, um eine Abstandsmessung mit dem ISL29501 durchzuführen. Da der ISL29501 intern die detaillierte Abfolge von Operationen implementiert, die für die Durchführung dieser Messung erforderlich sind, erfordert die Ausführung der Abstandsmessung nur eine anfängliche Einrichtung und eine Reihe von Registern zum Lesen und Schreiben. Das Modul ISL29501 der Digilent Bibliothek stellt die Funktionen zur Implementierung spezifischer ISL29501-Operationen zur Verfügung, darunter eine zur Durchführung einer Distanzmessung (Listing 1).
Kopie
double PmodToF_perform_distance_measurement()
{
/* WRITE REG */
u8 reg0x13_data = 0x7D;
u8 reg0x60_data = 0x01;
/* READ REG */
u8 unused;
u8 DistanceMSB;
u8 DistanceLSB;
double distance = 1;
ISL29501_WriteIIC(&myToFDevice, 0x13, ®0x13_data, 1);
ISL29501_WriteIIC(&myToFDevice, 0x60, ®0x60_data, 1);
ISL29501_ReadIIC(&myToFDevice, 0x69, &unused, 1);
CALIB_initiate_calibration_measurement();
//waits for IRQ
while((XGpio_DiscreteRead(&gpio, GPIO_CHANNEL) & GPIO_DATA_RDY_MSK) != 0 );
ISL29501_ReadIIC(&myToFDevice, 0xD1, &DistanceMSB, 1);
ISL29501_ReadIIC(&myToFDevice, 0xD2, &DistanceLSB, 1);
distance =(((double)DistanceMSB * 256 + (double)DistanceLSB)/65536) * 33.31;
return distance;
}
Listing 1: Die im Modul ISL29501 der Digilent Bibliothek enthaltenen Softwarefunktionen implementieren Operationen auf Registerebene, wie z.B. die Durchführung einer Abstandsmessung, wie hier gezeigt. (Code-Quelle: Digilent)
Das PmodToF-Modul der Digilent Bibliothek bietet übergeordnete Dienste, die auf diesen untergeordneten Modulen aufbauen. Um beispielsweise eine Messung auszuführen und anzuzeigen, ruft die Funktion PmodToFCMD_MeasureCmd() des PmodToF-Moduls die Funktion PmodToF_perform_distance_measurement() auf Registerebene des ISL29501-Moduls wiederholt auf und zeigt den Durchschnitt der Ergebnisse an (Listing 2).
Kopie
/*** PmodToFCMD_MeasureCmd
**
** Parameters:
** none
**
** Return Value:
** ERRVAL_SUCCESS 0 // success
**
** Description:
** This function displays over UART the distance measured by the device.
** Before calling this function, it is important that a manual calibration was made or the calibration
** was imported(calibration stored by the user in EEPROM user area )/restored from EEPROM(factory calibration).
*/
void PmodToFCMD_MeasureCmd()
{
int N = 100, sum = 0;
int distance_val, distance_val_avg;
// 100 distance values that are measure will be averaged into a final distance value
for(int j=0;j<N;j++)
{
distance_val = 1000 * PmodToF_perform_distance_measurement(); // the distance value is in millimeters
sum = sum + distance_val;
}
distance_val_avg = sum/N;
sprintf(szMsg, "Distance measured D = %d mm.", distance_val_avg);
ERRORS_GetPrefixedMessageString(ERRVAL_SUCCESS, "", szMsg);
UART_PutString(szMsg);
}
Listing 2: Die im PmodToF-Modul der Digilent Bibliothek enthaltenen Softwarefunktionen bieten Dienste auf Anwendungsebene, wie z.B. die Anzeige des Mittelwertes mehrerer Entfernungsmessungen, wie hier gezeigt. (Code-Quelle: Digilent)
Entwickler können den kompletten Satz von Modulen in der hierarchischen Digilent Pmod ToF-Block-Softwarebibliothek verwenden oder nur den minimalen Satz von Modulen, der für ihre Anwendung erforderlich ist. Für jede Anwendung müssen die Entwickler jedoch Größen-, Übersprech- und Abstandskalibrierungen durchführen, um die Genauigkeit zu gewährleisten. Obwohl es sich bei der Größe um eine interne Kalibrierung handelt, erfordern die beiden anderen eine gewisse Einrichtung. Für die Übersprech-Kalibrierung blockieren die Entwickler die optischen Geräte einfach mit einem Stück Schaumstoff, das der Platine beiliegt, und führen die Kalibrierung durch. Für die Abstandskalibrierung platzieren die Entwickler die ToF-Platine mit einer Optik, die in einem bekannten Abstand zu einem Ziel mit hoher IR-Reflektivität positioniert ist, und führen die Kalibrierung durch. Obwohl der ISL29501 keinen nichtflüchtigen Speicher enthält, können Entwickler neue Kalibrierwerte im EEPROM des Pmod ToF-Boards speichern und diese Werte während der Software-Initialisierungsprozeduren laden.
Diese Kombination aus Standardhardware und -software bietet eine gebrauchsfertige Grundlage für die Erstellung von optischen ToF-Anwendungen. Für das schnelle Prototyping können Entwickler die Beispielsoftware der Bibliotheksdistribution mit dem Digilent Pmod ToF und dem Zybo Z7-20 Board sofort ausführen. Bei der kundenspezifischen Entwicklung können Entwickler auf dem Hardware-Referenzdesign aufbauen, das durch das Pmod ToF-Board repräsentiert wird, sowie auf dem Software-Code, der in der Digilent Bibliotheksdistribution bereitgestellt wird.
Fazit
Obwohl Einchip-ICs zur ToF-Verarbeitung die Implementierung von ToF-Lösungen für viele Anwendungen vereinfachen, müssen Entwickler immer noch nach geeigneten Emittern und Fotodioden für die Integration suchen. Wie gezeigt, wird eine leichter zugängliche Lösung durch eine vorgefertigte ToF-Zusatzplatine in Kombination mit einer Hochleistungs-Systemplatine bereitgestellt, die zusammen eine komplette Hardware-TOF-Lösung ergeben. Durch die Kombination dieser Hardware-Lösung mit einer zugehörigen Software-Bibliothek können Entwickler sofort mit der Erstellung von Prototypen von ToF-Anwendungen beginnen oder diese Hardware und Software als Grundlage für die Entwicklung von kundenspezifischer ToF-Hardware und -Software verwenden.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




