EUR | USD

Implementeer snel afstandsdetectie met behulp van een vooraf gebouwde oplossing

Door Stephen Evanczuk

Bijgedragen door De Noord-Amerikaanse redacteurs van Digi-Key

Time-of-Flight-technologie (ToF) wordt steeds vaker gebruikt voor afstandsmeting en nabijheidssensor in toepassingsgebieden variërend van consumentenproducten tot industriële apparatuur. De beschikbaarheid van ToF-verwerkings-IC's met één chip helpt de implementatie van deze oplossingen te vereenvoudigen, maar deze geven ontwikkelaars nog steeds cruciale taken, zoals het vinden en optimaliseren van geschikte emitters en fotodiodes, en het integreren van die apparaten met die ToF-processor. Een meer geïntegreerde aanpak zou het proces sterk kunnen vereenvoudigen en tijd kunnen besparen.

Om dit aan te pakken heeft Digilent een kant-en-klaar ToF add-on bord ontwikkeld, dat in combinatie met een high-performance systeembord en bijbehorende softwarebibliotheek een complete hardware ToF-oplossing biedt. Nu kunnen ontwikkelaars direct beginnen met het maken van prototypes van ToF-applicaties of deze hard- en software gebruiken als basis voor het ontwerpen van aangepaste ToF-hardware en -software.

In dit artikel wordt kort beschreven hoe ToF-sensoren werken. In dit artikel introduceert Digilent het Pmod ToF-bord en laat zien hoe het gebruikt kan worden in combinatie met het Zybo Z7-20-ontwikkelbord om de ToF-technologie te evalueren en snel optische afstandssensoren in te zetten in hun eigen ontwerpen.

Hoe ToF-sensoren werken

ToF-sensoren spelen een belangrijke rol in een steeds breder wordende reeks van toepassingen. In voertuigen en industriële apparatuur helpen deze sensors operators te waarschuwen voor obstakels bij het parkeren of anderszins manoeuvreren in de buurt. In consumententoepassingen zorgen deze apparaten voor nabijheidssensors in mobiele producten of domoticasystemen. In deze en andere toepassingen berekenen optische ToF-systemen de afstand tot een extern object of obstakel met behulp van verschillende methoden die allemaal gebaseerd zijn op een bepaald verschil tussen het licht dat door het externe object wordt gereflecteerd en het licht dat oorspronkelijk werd doorgelaten.

Een geavanceerd ToF-apparaat zoals de Renesas ISL29501 ToF-gebaseerde signaalverwerking IC berekent de afstand door het meten van de faseverschuiving tussen het door een externe LED of laser uitgezonden licht en het ontvangen licht van een fotodiode. Wanneer de ISL29501 licht (Tx) uitzendt dat gemoduleerd wordt door een blokgolf met een bepaalde frequentie fm, keert het gereflecteerde optische signaal (Rx) van een object terug naar de ISL29501 met een gedempte amplitude R met enige faseverschuiving j (Afbeelding 1).

Diagram van geavanceerde ToF-apparaten zoals de Renesas ISL29501Afbeelding 1: Geavanceerde ToF-apparaten zoals de Renesas ISL29501 gebruiken hun interne digitale signaalverwerking om de afstand tot objecten te berekenen op basis van de faseverschuiving j tussen uitgezonden en gereflecteerd licht. (Bron afbeedling: Renesas)

Door deze faseverschuiving te meten kan het apparaat de afstand D berekenen:

Vergelijking 1 Vergelijking 1

met

D = afstand tot het doel

c = lichtsnelheid

fm = modulatiefrequentie

φ = fasehoek (radialen)

Omdat het gemoduleerde frequentiesignaal fm en de lichtsnelheid c bekend zijn, kan de afstand worden berekend door de resterende factor, de fasehoek φ, te vinden. Deze factor kan worden berekend met traditionele kwadratuursignaalverwerkingstechnieken. Hier worden in-fase (I) en kwadratuur-signaalcomponenten (Q) gegenereerd door afzonderlijke I- en Q-signaalpaden die bestaan uit een demodulator, een laagdoorlaatfilter (LPF) en een analoog-digitaal convertor (ADC) (Afbeelding 2).

Diagram van Renesas ISL29501 demoduleert, filtert en converteert de in-fase Afbeedling 2: Om de fasehoek φ te berekenen die nodig is voor de afstandsberekening, demoduleert de Renesas ISL29501, filtert en rekent de in- fase (I) en kwadratuur-signaalcomponenten (Q) van het ingangssignaal (VIN) om. (Bron afbeeding: Renesas)

Intern integreert de ISL29501 een uitgebreid signaalpad dat voorafgaat aan de demodulatielijn met een analoge front-end (AFE) signaalconditioneringstrap die bestaat uit een transimpedantieversterker (TIA) en een lage ruisversterker (LNA). Het ingangssignaalpad van de ISL29501 volgt de AFE met een variabele gain (Av), automatische gain control (AGC) lus die gebruik maakt van de ingebouwde algoritmen om SNR te optimaliseren.

Aan de uitgangszijde integreert de ISL29501 een on-chip emitter driver chain die in staat is om blokgolfpulsen af te leveren met een modulatiefrequentie van 4,5 megahertz (MHz) en stroom tot 255 milliampère (mA) te sturen naar een geschikte emitter. Als aanvulling op deze functionele architectuur zorgt een interne digitale signaalprocessor (DSP) voor de berekeningen die nodig zijn om het afstandsresultaat van de fase-, amplitude- en frequentiegegevens te genereren (Afbeelding 3).

Diagram van Renesas ISL29501 combineert signaalpaden voor het aansturen van een emitter en het verwerken van de fotodiode-ingang.Afbeelding 3: De Renesas ISL29501 combineert signaalpaden voor het aansturen van een emitter en het verwerken van fotodiode-ingang met een interne digitale signaalprocessor die algoritmes uitvoert die worden gebruikt om de afstand tot fase, amplitude en frequentiegegevens te berekenen. (Bron afbeelding: Renesas)

Het kiezen van emitters en fotodiodes

Door de integratie van fotodiode-ingang, emitteruitgang en verwerkingsmogelijkheden biedt de ISL29501 een flexibele hardwarematige basis voor het bouwen van ToF-afstandssensoren. Functies zoals de AFE- en AGC-lus aan de invoerzijde en de programmeerbare emitterdriver aan de uitvoerzijde zijn speciaal ontworpen om een breed scala aan emitters en fotodiodes te ondersteunen. Tegelijkertijd hangt de effectiviteit van een complete ToF-oplossing kritisch af van de zorgvuldige selectie en configuratie van de emitter en de fotodiode.

Voor de emitter, bijvoorbeeld, laat de flexibiliteit van de ISL29501 de ontwikkelaars kiezen uit een grote verscheidenheid aan infrarood (IR) LED's, vertical-cavity surface-emitting lasers (VCSEL's), of andere laserapparaten met compatibele spannings-, stroom- en frequentiespecificaties. In feite is een typische ToF-oplossing relatief ongevoelig voor het emittertype. Desalniettemin wordt het gebruik van een nabij-infrarood- (NIR) of middengolflengte-infraroodapparaat (MWIR) aanbevolen om interferentie door omgevingslichtbronnen te verminderen. Na het selecteren van het apparaat moet de ontwikkelaar de optimale pulsaandrijvingsstroom voor de emitter bepalen, evenals de eventueel benodigde gelijkstroomcomponent. Vervolgens moet de ontwikkelaar het apparaat programmeren om de puls en de optionele DC-stroom te leveren met behulp van de afzonderlijke interne digitale-naar-analoge-convertors (DAC's) die in de uitgangsketen van de emitterdriver zijn geïntegreerd.

Op dezelfde manier kan de ISL29501 een grote verscheidenheid aan fotodiodes ondersteunen, maar de toepassing en de keuze van de emitters zal een belangrijke rol spelen bij het bepalen van de optimale keuze. Net als bij de emitter helpt een fotodiode die op NIR- of MWIR-golflengten werkt, de interferentie van het omgevingslicht te verminderen. Idealiter zou de spectrale responscurve van de fotodiode zo smal mogelijk moeten zijn met een piek gecentreerd op de piekgolflengte van de zender om de signaal/ruisverhouding (SNR) te optimaliseren. Hoewel de fotodiode de hoeveelheid licht die het kan verzamelen moet maximaliseren, introduceert het vergroten van het fotodiodegebied ook een hogere capaciteit (zowel junctie- als zwerfcapaciteiten), wat de reactietijd van de fotodiode en zijn vermogen om de stijg- en daaltijden van de emitter te volgen, in gevaar kan brengen. Als gevolg daarvan moeten ontwikkelaars de optimale balans vinden tussen het fotodiodegebied en de interne capaciteit die nodig is om de signaalamplitude te maximaliseren zonder dat dit ten koste gaat van de prestaties.

Geïntegreerde ToF-oplossing

De Digilent Pmod ToF-kaart is ontworpen om de ontwikkeling van ToF-toepassingen te versnellen en biedt een kant-en-klare ToF-oplossing die de Renesas ISL29501 ToF IC, een Microchip Technology AT24C04D EEPROM, een IR-LED en een fotodiode in een klein formaat printplaat met zespins Pmod-host en pass-through-connectors voor het toevoegen van extra Pmod-uitbreidingskaarten combineert (Afbeelding 4).

Afbeelding van Digilent Pmod ToF-kaartAfbeelding 4: De Digilent Pmod ToF-kaart biedt een complete ToF-sensoroplossing die is ontworpen om aan te sluiten op systeemkaarten met Pmod-connectors. (Bron afbeelding: Digilent)

Voor lichtbron en lichtdetector koppelt de printplaat een OSRAM Opto Semiconductors high power SFH 4550 860 nanometer (nm) LED aan een OSRAM SFH 213 FA-fotodiode met een snelle schakeltijd, spectrale gevoeligheid van 750 tot 1100 nm en een piekgevoeligheid bij 900 nm.

Hoewel de Renesas ISL29501 geen extra componenten nodig heeft voor de bijbehorende LED- en fotodiode-apparaten, heeft hij wel een geschikte 2,7 tot 3,3 volt bron nodig voor elk van de drie stroomdomeinen die worden gevoed door afzonderlijke pinnen voor de analoge spanningsbron (AVCC), de digitale spanningsbron (DVCC) en de emitterdriverspanning (EVCC). Hoewel deze uit dezelfde bron kunnen worden geleverd, beveelt Renesas aan om deze drie voedingen te isoleren. Zoals weergegeven in het Digilent Pmod ToF-schema, bereikt Digilent deze isolatie voor de ToF-kaart met behulp van BLM15BD471SN1D-ferrietkorrels en -condensators van Murata Electronics voor elke voeding (Afbeelding 5).

Diagram van Digilent Pmod ToF-kaartFiguur 5: De Digilent Pmod ToF-kaart biedt zowel een directe hardware-oplossing voor snelle prototyping als een referentieontwerp voor aangepaste ToF-systemen. (Bron afbeelding: Digilent)

Ontwikkelingsomgeving

Digilent helpt verder de implementatie van ToF-applicaties te versnellen met een ontwikkelomgeving gebaseerd op de Digilent Zybo Z7-20-kaart. Deze kaart biedt een high performance werkomgeving gebouwd rond de Xilinx Zynq XC7Z020 alle programmeerbare SoC (APSoC). Deze APSoC integreert een dual-core Arm® Cortex®-A9 processor met een uitgebreide programmeerbare stof inclusief ondersteuning voor 53.200 opzoektabellen (LUT's), 106.400 flip-flops en 630 kilobytes (Kbytes) block random access geheugen (RAM). Samen met de Xilinx Zynq XC7Z020 APSoC bevat de Zybo Z7-20-kaart 1 gigabyte (Gbyte) RAM, 16 megabyte (Mbytes) quad SPI flash, meerdere interfaces, connectors en zes Pmod-uitbreidingspoorten.

Ontworpen om te draaien op het Zybo Z7-20-bord, bevat Digilent's ZyboZ7-20 PmodToF-Demo-softwaredistributie de softwareontwikkelingskit (SDK) voor zijn Pmod ToF hiërarchische blok-softwarebibliotheek. Deze bibliotheek biedt ontwikkelaars een intuïtieve applicatieprogrammeringsinterface (API) voor het bouwen van applicaties op basis van drivers en ondersteuningsmodules in de Xilinx SDK, of geleverd door Digilent voor de Pmod ToF-kaart (Afbeelding 6).

Afbeelding van Digilent's Pmod ToF hiërarchische bloksoftwarebibliotheekAfbeelding 6: De hiërarchische bloksoftwarebibliotheek Pmod ToF van Digilent vergroot de low-level interface drivers in de Xilinx SDK met modules voor de Renesas ISL29501-sensor, EEPROM en Pmod ToF-services. (Bron afbeelding: Digilent)

De Digilent bibliotheek combineert low-level drivers voor I2C, GPIO en UART-communicatie van de Xilinx SDK met modules die registratieniveaubewerkingen voor de Digilent Pmod ToF Kaart EEPROM en het Renesas ISL29501-apparaat implementeren. Zo biedt de module ISL29501 een functie om een afstandsmeting uit te voeren met de ISL29501. Omdat de ISL29501 intern de gedetailleerde opeenvolging van bewerkingen uitvoert die nodig zijn om die meting uit te voeren, vereist de uitvoering van de afstandsmeting slechts een eerste installatie en een reeks van registers die lezen en schrijven. De ISL29501-module van de Digilent bibliotheek biedt de functies om specifieke ISL29501-bewerkingen te implementeren, waaronder één om een afstandsmeting uit te voeren (Lijst 1).

Copy 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, &reg0x13_data, 1); ISL29501_WriteIIC(&myToFDevice, 0x60, &reg0x60_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; } 

Lijst 1: Softwarefuncties die zijn opgenomen in de ISL29501-module van de Digilent bibliotheek implementeren handelingen op registerniveau, zoals het uitvoeren van een afstandsmeting zoals hier getoond. (Bron code: Digilent)

De PmodToF-module van de Digilent bibliotheek biedt diensten op een hoger niveau die zijn gebaseerd op de modules op een lager niveau. Om bijvoorbeeld een meting uit te voeren en weer te geven, roept de functie PmodToF_MeasureCmd() van de module PmodToFCMD_MeasureCmd() de functie PmodToF_perform_distance_measure() van de module ISL29501 op registerniveau herhaaldelijk op en geeft het gemiddelde van de resultaten weer (Lijst 2).

Copy /*** 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); } 

Lijst 2: Softwarefuncties die zijn opgenomen in de PmodToF-module van de Digilent bibliotheek bieden diensten op applicatieniveau, zoals het weergeven van het gemiddelde van meerdere afstandsmetingen zoals hier getoond. (Bron code: Digilent)

Ontwikkelaars kunnen de volledige set van modules in de Digilent Pmod ToF hiërarchische bloksoftwarebibliotheek gebruiken of slechts de minimale set van modules gebruiken die nodig is voor hun toepassing. Voor elke toepassing moeten ontwikkelaars echter grootte-, overspraak- en afstandskalibraties uitvoeren om de nauwkeurigheid te garanderen. Hoewel de grootte een interne kalibratie is, hebben de andere twee een bepaalde hoeveelheid instellingen nodig. Voor de overspraakkalibratie blokkeren de ontwikkelaars eenvoudigweg de optische apparaten met een stuk schuim dat bij het bord is meegeleverd en voeren ze de kalibratie uit. Voor de afstandskalibratie plaatsen ontwikkelaars de ToF-kaart met optiek op een bekende afstand van een doel met een hoge IR-reflectie en voeren de kalibratie uit. Hoewel de ISL29501 geen niet-vluchtig geheugen bevat, kunnen ontwikkelaars nieuwe kalibratiewaarden opslaan in de EEPROM van de Pmod ToF-kaart en deze waarden laden tijdens de software-initialisatieprocedures.

Deze combinatie van kant-en-klare hardware en software biedt een kant-en-klare basis voor het creëren van optische ToF-toepassingen. Voor snelle prototyping kunnen ontwikkelaars onmiddellijk de voorbeeldsoftware van de bibliotheekdistributie uitvoeren met behulp van de Digilent Pmod ToF en Zybo Z7-20-kaart. Voor de ontwikkeling op maat kunnen de ontwikkelaars voortbouwen op het hardware referentieontwerp dat wordt vertegenwoordigd door de Pmod ToF-kaart en op de softwarecode die in de Digilent bibliotheekdistributie wordt aangeboden.

Conclusie

Hoewel ToF-verwerkings-IC's met één chip de implementatie van ToF-oplossingen voor veel toepassingen helpen vereenvoudigen, laten ze nog steeds ontwikkelaars op zoek naar geschikte emitters en fotodiodes voor integratie. Zoals blijkt, wordt een meer toegankelijke oplossing geboden door een vooraf gebouwde ToF add-on-kaart in combinatie met een high-performance systeemkaart, die samen een complete hardware ToF-oplossing leveren. Door deze hardware-oplossing te combineren met een bijbehorende softwarebibliotheek kunnen ontwikkelaars direct beginnen met het maken van prototyping van ToF-applicaties, of deze hard- en software gebruiken als basis voor het ontwerpen van aangepaste ToF-hardware en -software.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

Achtergrondinformatie over deze auteur

Stephen Evanczuk

Stephen Evanczuk heeft meer dan 20 jaar ervaring in het schrijven voor en over de elektronicasector met betrekking tot heel wat onderwerpen, waaronder hardware, software, systemen en toepassingen zoals het IoT. Hij behaalde zijn filosofiediplomain neurowetenschappen over neuronale netwerken en werkte in de ruimtevaartsector op massaal verspreide veilige systemen en algoritmeversnellingsmethoden. Wanneer hij geen artikels over technologie en techniek schrijft, werkt hij aan toepassingen voor “deep learning” voor herkennings- en aanbevelingssystemen.

Over deze uitgever

De Noord-Amerikaanse redacteurs van Digi-Key