Implementare rapidamente il rilevamento della distanza basato sul tempo di volo utilizzando una soluzione già pronta

Di Stephen Evanczuk

Contributo di Editori nordamericani di DigiKey

La tecnologia del tempo di volo (ToF) viene utilizzata sempre più spesso per misurare la distanza e rilevare la prossimità in aree applicative che vanno dai prodotti consumer alle apparecchiature industriali. La disponibilità di circuiti integrati di elaborazione ToF a chip singolo aiuta a semplificare l'implementazione di queste soluzioni, ma agli sviluppatori rimangono comunque dei compiti impegnativi, come la ricerca e l'ottimizzazione di emettitori e fotodiodi idonei e la loro integrazione con il processore ToF. Un approccio più integrato può semplificare notevolmente il processo e far risparmiare tempo.

Per questo, Digilent ha sviluppato una scheda add-on ToF già pronta che, abbinata a una scheda di sistema ad alte prestazioni e alla relativa libreria software, si propone come una soluzione ToF hardware completa. Ora gli sviluppatori possono iniziare immediatamente la prototipazione di applicazioni ToF o utilizzare questo hardware e software come base per progettare hardware e software ToF personalizzati.

Questo articolo descrive brevemente il funzionamento dei sensori ToF. Introduce quindi la scheda Pmod ToF di Digilent e mostra come utilizzarla assieme alla scheda di sviluppo Zybo Z7-20 della stessa azienda per valutare la tecnologia ToF e implementare rapidamente il rilevamento ottico della distanza.

Come funzionano i sensori ToF

I sensori ToF svolgono un ruolo importante in una gamma crescente di applicazioni. Nei veicoli e nelle apparecchiature industriali aiutano ad avvertire gli operatori degli ostacoli durante il parcheggio o in altre manovre in spazi ristretti. Usati nelle applicazioni consumer, invece, forniscono il rilevamento di prossimità nei prodotti mobili o nei sistemi di domotica. In queste applicazioni, e in altre ancora, i sistemi ToF ottici calcolano la distanza da un oggetto esterno o da un ostacolo utilizzando diversi metodi che si basano tutti su una certa differenza tra la luce riflessa dall'oggetto esterno e quella trasmessa originariamente.

Un dispositivo ToF avanzato come il CI di elaborazione dei segnali basato su ToF ISL29501 di Renesas calcola la distanza misurando la variazione di fase tra la luce emessa da un LED esterno o un laser e la luce ricevuta da un fotodiodo. Quando ISL29501 emette la luce (Tx) modulata da un'onda quadra a una determinata frequenza fm, il segnale ottico riflesso (Rx) da un oggetto torna a ISL29501 a un'ampiezza R attenuata con una certa variazione di fase j (Figura 1).

Schema dei dispositivi ToF avanzati come ISL29501 di RenesasFigura 1: Dispositivi ToF avanzati come ISL29501 di Renesas utilizzano le capacità interne di elaborazione dei segnali digitali per calcolare la distanza dagli oggetti sulla base della variazione di fase j tra la luce trasmessa e quella riflessa. (Immagine per gentile concessione di Renesas)

Misurando questa variazione di fase, il dispositivo può calcolare la distanza D:

Equazione 1 Equazione 1

Dove:

D = distanza dal target

c = velocità della luce

fm = frequenza di modulazione

φ = angolo di fase (radianti)

Dato che il segnale della frequenza modulata fm e la velocità della luce c sono noti, si può calcolare la distanza trovando il fattore mancante, l'angolo di fase φ. Questo fattore può essere calcolato con le tradizionali tecniche di elaborazione dei segnali in quadratura. Qui, le componenti di segnale in fase (I) e in quadratura (Q) vengono generate da percorsi del segnale I e Q separati che comprendono un demodulatore, un filtro passa-basso (LPF) e un convertitore analogico/digitale (ADC) (Figura 2).

Schema di ISL29501 di Renesas che demodula, filtra e converte la componente in fase Figura 2: Per calcolare l'angolo di fase φ necessario per il calcolo della distanza, ISL29501 di Renesas demodula, filtra e converte le componenti di segnale in fase (I) e in quadratura (Q) del segnale di ingresso (VIN). (Immagine per gentile concessione di Renesas)

ISL29501 integra un percorso del segnale completo che precede la pipeline di demodulazione con uno stadio di condizionamento del segnale front-end analogico (AFE) comprendente un amplificatore in transimpedenza (TIA) e un amplificatore a basso rumore (LNA). Il percorso del segnale di ingresso di ISL29501 segue l'AFE con un guadagno variabile (Av), un loop di controllo automatico del guadagno (AGC) che usa gli algoritmi incorporati per ottimizzare l'SNR.

Sul lato di uscita, ISL29501 integra una catena del driver dell'emettitore su chip in grado di fornire impulsi a onda quadra a una frequenza di modulazione di 4,5 MHz e di pilotare la corrente fino a 255 mA a un emettitore idoneo. A completare questa architettura funzionale, un processore di segnali digitali (DSP) interno gestisce i calcoli necessari per generare il risultato della distanza dai dati di fase, ampiezza e frequenza (Figura 3).

Schema di ISL29501 di Renesas che combina i percorsi del segnale per il pilotaggio di un emettitore e l'elaborazione dell'ingresso del fotodiodoFigura 3: ISL29501 di Renesas combina i percorsi del segnale per il pilotaggio di un emettitore e l'elaborazione dell'ingresso del fotodiodo, con un'unità di elaborazione del segnale digitale interna che esegue gli algoritmi usati per calcolare la distanza dai dati di fase, ampiezza e frequenza. (Immagine per gentile concessione di Renesas)

Scelta di emettitori e fotodiodi

Grazie all'integrazione dell'ingresso del fotodiodo, dell'uscita dell'emettitore e delle capacità di elaborazione, ISL29501 fornisce una base hardware flessibile per realizzare soluzioni di rilevamento della distanza basate su ToF. Le caratteristiche come il loop AFE e AGC sul lato di ingresso e il driver dell'emettitore programmabile sul lato di uscita sono progettate espressamente per supportare una vasta gamma di emettitori e fotodiodi. L'efficacia di una soluzione ToF completa dipende però in modo decisivo anche da un'attenta selezione e configurazione dell'emettitore e del fotodiodo.

Per l'emettitore, ad esempio, la flessibilità di ISL29501 consente agli sviluppatori di scegliere tra un'ampia varietà di LED a infrarossi (IR), laser a cavità verticale a emissione superficiale (VCSEL) o altri dispositivi laser con specifiche di tensione, corrente e frequenza compatibili. Nella realtà, una tipica soluzione ToF è relativamente insensibile al tipo di emettitore. Tuttavia, per ridurre l'interferenza da sorgenti di luce ambiente si raccomanda di usare un dispositivo nel vicino infrarosso (NIR) o nell'infrarosso a media lunghezza d'onda (MWIR). Dopo aver selezionato il dispositivo, lo sviluppatore dovrà stabilire la corrente di pilotaggio ottimale dell'emettitore di impulsi e tutti gli eventuali componenti in c.c. eventualmente necessari. Successivamente, deve programmare il dispositivo per erogare l'impulso e la corrente continua opzionale utilizzando i convertitori digitale/analogico (DAC) interni separati, integrati nella catena di uscita del driver dell'emettitore.

ISL29501 può supportare un'ampia varietà di fotodiodi, ma la scelta ottimale dipenderà in modo determinante dall'applicazione e dagli emettitori. Come per l'emettitore, un fotodiodo che opera a lunghezze d'onda NIR o MWIR contribuisce a ridurre l'interferenza della luce ambiente. Idealmente, per ottimizzare il rapporto segnale/rumore (SNR), la curva della risposta spettrale del fotodiodo dovrebbe essere quanto più stretta possibile con un picco centrato sulla lunghezza d'onda di picco dell'emettitore. Sebbene il fotodiodo debba massimizzare la quantità di luce che è in grado di raccogliere, l'aumento dell'area del fotodiodo introduce anche una maggiore capacità (sia di giunzione che parassita). Questo potrebbe compromettere il tempo di risposta del fotodiodo e la sua capacità di tracciare i tempi di salita e discesa dell'emettitore. Di conseguenza, gli sviluppatori devono trovare l'equilibrio ottimale fra l'area del fotodiodo e la capacità interna necessaria per massimizzare l'ampiezza del segnale senza compromettere le prestazioni.

Soluzione ToF integrata

Progettata per accelerare lo sviluppo di applicazioni ToF, la scheda Pmod ToF di Digilent offre una soluzione ToF di serie che combina il CI ToF ISL29501 di Renesas, una EEPROM AT24C04D di Microchip Technology, un LED IR e un fotodiodo in una scheda di piccolo formato con connettori host e passanti Pmod a sei pin per poter aggiungere altre schede di espansione Pmod (Figura 4).

Immagine della scheda Pmod ToF di DigilentFigura 4: La scheda Pmod ToF di Digilent offre una soluzione di sensore ToF completa, studiata per collegarsi a schede di sistema con connettori Pmod. (Immagine per gentile concessione di Digilent)

Per la sorgente luminosa e il rilevatore, la scheda accoppia un LED a 860 nm SFH 4550 ad alta potenza di OSRAM Opto Semiconductors con un fotodiodo SFH 213 FA di OSRAM che ha un tempo di commutazione rapido, una sensibilità spettrale da 750 a 1100 nm e una sensibilità di picco a 900 nm.

Anche se ISL29501 di Renesas non ha bisogno di componenti aggiuntivi per i dispositivi LED e i fotodiodi associati, richiede invece un'adeguata sorgente da 2,7 a 3,3 V per ognuno dei suoi tre domini di potenza, fornita da pin separati per la sua sorgente di tensione analogica (AVCC), la sorgente di tensione digitale (DVCC) e la tensione del driver dell'emettitore (EVCC). Sebbene tutte e tre possano essere fornite dalla stessa sorgente, Renesas raccomanda di isolarle. Come mostrato nello schema della scheda Pmod ToF di Digilent, Digilent ottiene questo isolamento per la scheda ToF utilizzando condensatori e perline di ferrite BLM15BD471SN1D di Murata Electronics per ogni alimentazione (Figura 5).

Schema della scheda Pmod ToF di DigilentFigura 5: La scheda Pmod ToF di Digilent offre sia una soluzione hardware immediata per la prototipazione rapida sia un progetto di riferimento per sistemi ToF personalizzati. (Immagine per gentile concessione di Digilent)

Ambiente di sviluppo

Digilent aiuta ad accelerare l'implementazione delle applicazioni ToF anche con un ambiente di sviluppo basato sulla sua scheda Zybo Z7-20. La scheda offre un ambiente operativo ad alte prestazioni costruito attorno all'All Programmable SoC (APSoC) Zynq XC7Z020 di Xilinx. Questo APSoC integra un processore Arm® Cortex®-A9 dual core con un'estesa struttura logica programmabile incluso il supporto per 53.200 tabelle di ricerca (LUT), 106.400 flip-flop e 630 kB di BRAM. Oltre all'APSoC Zynq XC7Z020 di Xilinx, la scheda Zybo Z7-20 include 1 GB di RAM, 16 MB di flash Quad SPI, interfacce multiple, connettori e sei porte di espansione Pmod.

Progettata per l'esecuzione sulla scheda Zybo Z7-20, la distribuzione del software ZyboZ7-20 PmodToF-Demo di Digilent include il kit di sviluppo software (SDK) per la libreria software a blocchi gerarchici ToF Pmod. Questa libreria fornisce agli sviluppatori un'interfaccia di programmazione di applicazioni (API) intuitiva per realizzare applicazioni basate su driver e moduli di supporto nell'SDK Xilinx, o fornita da Digilent per la scheda Pmod ToF (Figura 6).

Immagine della libreria software a blocchi gerarchici Pmod ToF di DigilentFigura 6: La libreria software a blocchi gerarchici Pmod ToF di Digilent potenzia i driver di interfaccia di basso livello nell'SDK di Xilinx con i moduli per il sensore ISL29501, la EEPROM e i servizi Pmod ToF di Renesas. (Immagine per gentile concessione di Digilent)

La libreria di Digilent combina driver di basso livello per comunicazioni I2C, GPIO e UART dell'SDK di Xilinx con moduli che implementano operazioni a livello di registro per la EEPROM della scheda Pmod ToF di Digilent e il dispositivo ISL29501 di Renesas. Ad esempio, il modulo ISL29501 offre una funzione per eseguire una misurazione della distanza con ISL29501. Dato che ISL29501 implementa internamente la sequenza dettagliata delle operazioni necessarie per eseguire tale misurazione, l'esecuzione della misurazione della distanza richiede solo una piccola configurazione iniziale e una serie di letture e scritture del registro. Il modulo ISL29501 della libreria di Digilent fornisce le funzioni per implementare operazioni specifiche per ISL29501, compresa quella per eseguire una misurazione della distanza (Listato 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;
}

Listato 1: Le funzioni software incluse nel modulo ISL29501 della libreria di Digilent implementano operazioni a livello di registro come l'esecuzione di una misurazione della distanza come mostrato qui. (Codice per gentile concessione di Digilent)

Il modulo PmodToF della libreria di Digilent fornisce servizi di livello superiore costruiti su questi moduli di livello inferiore. Ad esempio, per eseguire e visualizzare una misurazione, la funzione PmodToFCMD_MeasureCmd() del modulo PmodToF chiama ripetutamente la funzione PmodToF_perform_distance_measurement() a livello di registro del modulo ISL29501 e mostra la media dei risultati (Listato 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);
}

Listato 2: Le funzioni software incluse nel modulo PmodToF della libreria di Digilent forniscono servizi a livello applicativo come la visualizzazione della media di misurazioni multiple della distanza come mostrato qui. (Codice per gentile concessione di Digilent)

Gli sviluppatori possono utilizzare il set completo di moduli della libreria software a blocchi gerarchici Pmod ToF di Digilent oppure utilizzare solo il set minimo necessario per la loro applicazione. Per ogni applicazione, tuttavia, per garantire la precisione dovranno eseguire le calibrazioni di grandezza, diafonia e distanza. Mentre la grandezza è una calibrazione interna, le altre due richiedono una certa dose di messa a punto. Per la calibrazione della diafonia, gli sviluppatori bloccano semplicemente i dispositivi ottici con il pezzo di schiuma incluso nella scheda ed eseguono la calibrazione. Per calibrare la distanza, mettono la scheda ToF con l'ottica posizionata a una distanza nota da un target con alta riflettività IR. Sebbene ISL29501 non includa la memoria non volatile, gli sviluppatori possono salvare i nuovi valori di calibrazione nella EEPROM della scheda Pmod ToF e caricarli durante le procedure di inizializzazione del software.

Questa combinazione di hardware e software di serie offre una base pronta all'uso per realizzare applicazioni ToF ottiche. Per la prototipazione rapida, gli sviluppatori possono eseguire immediatamente il software di esempio della distribuzione della libreria utilizzando la scheda Pmod ToF e Zybo Z7-20 di Digilent. Per lo sviluppo personalizzato, possono basarsi sul progetto di riferimento hardware rappresentato dalla scheda Pmod ToF e sul codice software fornito nella distribuzione della libreria di Digilent.

Conclusione

Anche se i circuiti integrati di elaborazione ToF a chip singolo aiutano a semplificare l'implementazione delle soluzioni ToF per molte applicazioni, agli sviluppatori rimane comunque il compito di trovare emettitori e fotodiodi idonei per l'integrazione. Come è stato dimostrato, una soluzione più accessibile viene fornita dalla combinazione di una scheda add-on ToF già pronta con una scheda di sistema ad alte prestazioni che permette di ottenere una soluzione ToF hardware completa. Combinando questa soluzione hardware con una libreria software associata, gli sviluppatori possono iniziare immediatamente la prototipazione di applicazioni ToF o utilizzare questo hardware e software come base per progettare hardware e software ToF personalizzati.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk ha più di 20 anni di esperienza come autore sull'industria elettronica e ha scritto su una vasta gamma di argomenti tra cui hardware, software, sistemi e applicazioni, incluso l'IoT. Ha ricevuto un Ph.D. in neuroscienze sulle reti neuronali e ha lavorato nel settore aerospaziale su sistemi di sicurezza ampiamente distribuiti e sui metodi di accelerazione algoritmica. Attualmente, quando non scrive articoli su tecnologia e ingegneria, lavora su applicazioni di deep learning per i sistemi di riconoscimento e di raccomandazione.

Informazioni su questo editore

Editori nordamericani di DigiKey