飛行時間 (ToF) 技術(shù)越來越多地用于測距和接近感應(yīng),應(yīng)用范圍從消費(fèi)品到工業(yè)設(shè)備。單芯片 ToF 處理 IC 的出現(xiàn)有助于簡化這些解決方案的實施,但開發(fā)人員仍需完成一些關(guān)鍵任務(wù),例如找到合適的發(fā)射器和光電二極管并進(jìn)行優(yōu)化,以及將這些器件與該 ToF 處理器進(jìn)行集成。通過使用更加集成的方法,可大幅簡化流程并節(jié)省時間。
為了解決這個問題,Digilent 開發(fā)了一款預(yù)構(gòu)建的 ToF 擴(kuò)展板。該板與高性能系統(tǒng)板和相關(guān)的軟件庫結(jié)合使用后,可提供完整的硬件 ToF 解決方案。現(xiàn)在,開發(fā)人員可以立即開始 ToF 應(yīng)用原型開發(fā),或使用此硬件和軟件作為基礎(chǔ)來設(shè)計定制的 ToF 硬件和軟件。
本文簡要介紹了 ToF 傳感器的工作方式。然后,本文將介紹 Digilent 的 Pmod ToF 板,并說明如何將其與 Digilent 的 Zybo Z7-20 開發(fā)板結(jié)合使用,以評估 ToF 技術(shù)并在自己的設(shè)計中快速部署光學(xué)距離感測。
ToF 傳感器的工作方式
ToF 傳感器在越來越多的應(yīng)用中扮演著重要角色。在車輛和工業(yè)設(shè)備中,當(dāng)操作人員進(jìn)行停車或近距離操控時,這些傳感器有助于為操作人員提供障礙物警告。在消費(fèi)類應(yīng)用中,這些器件可在移動產(chǎn)品或家庭自動化系統(tǒng)中提供接近感應(yīng)功能。在上述和其他應(yīng)用中,光學(xué) ToF 系統(tǒng)使用不同的方法來計算到外部物體或障礙物的距離,其中全部依賴于外部物體反射光與原始透射光之間的某些差異。
高級 ToF 器件如 Renesas 的 ISL29501 基于 ToF 的信號處理 IC,通過測量外部 LED 或激光器發(fā)射的光與光電二極管接收的光之間的相移來計算距離。當(dāng) ISL29501 以給定的頻率 fm 發(fā)射經(jīng)方波調(diào)制的光 (Tx) 時,來自物體的反射光信號 (Rx) 會以衰減幅度 R 返回至 ISL29501,并帶有一定的相移 j(圖 1)。
圖 1:Renesas 的 ISL29501 等高級 ToF 器件使用內(nèi)部數(shù)字信號處理能力,根據(jù)透射光與反射光之間的相移 j 來計算到物體的距離。(圖片來源:Renesas)
通過測量此相移,該器件可以計算距離 D:
公式 1
其中:
D = 到目標(biāo)的距離
c = 光速
fm = 調(diào)制頻率
φ = 相位角(弧度)
由于調(diào)制頻率信號 fm 和光速 c 是已知參數(shù),因此可以通過找到剩余因子相位角 φ 來計算距離。該因子可以使用傳統(tǒng)的正交信號處理技術(shù)來計算。在此處,同相 (I) 和正交 (Q) 信號分量由單獨(dú)的 I 和 Q 信號路徑生成,這些路徑包括解調(diào)器、低通濾波器 (LPF) 和模數(shù)轉(zhuǎn)換器 (ADC)(圖 2)。
圖 2:為了獲得計算距離所需的相位角 φ,Renesas 的 ISL29501 對輸入信號 (VIN) 的同相 (I) 和正交 (Q) 信號分量進(jìn)行解調(diào)、濾波和轉(zhuǎn)換。(圖片來源:Renesas)
在內(nèi)部,ISL29501 將解調(diào)流水線之前的綜合信號路徑與模擬前端 (AFE) 信號調(diào)節(jié)級相集成,后者包含跨阻放大器 (TIA) 和低噪聲放大器 (LNA)。ISL29501 的輸入信號路徑位于 AFE 之后,具有一條可變增益 (Av)、自動增益控制 (AGC) 回路,而此回路會使用內(nèi)置算法來優(yōu)化 SNR。
在輸出端,ISL29501 集成了一個片上發(fā)射器驅(qū)動器鏈,其能夠以 4.5 兆赫茲 (MHz) 的調(diào)制頻率向合適的發(fā)射器提供方波脈沖,還能提供高達(dá) 255 毫安 (mA) 的驅(qū)動電流。內(nèi)部數(shù)字信號處理器 (DSP) 會處理所需的計算,以便根據(jù)相位、幅度和頻率數(shù)據(jù)生成距離結(jié)果,從而使得這個功能架構(gòu)趨于完整(圖 3)。
圖 3:Renesas 的 ISL29501 組合了信號路徑和內(nèi)部數(shù)字信號處理器;這些路徑可驅(qū)動發(fā)射器和處理光電二極管輸入,而處理器可執(zhí)行算法來根據(jù)相位、幅度和頻率數(shù)據(jù)計算距離。(圖片來源:Renesas)
選擇發(fā)射器和光電二極管
ISL29501 集成了光電二極管輸入、發(fā)射器輸出和處理功能,為構(gòu)建 ToF 距離感測解決方案提供了靈活的硬件基礎(chǔ)。一些功能專為支持各種發(fā)射器和光電二極管而設(shè)計,例如輸入端的 AFE 和 AGC 回路以及輸出端的可編程發(fā)射器驅(qū)動器。同時,謹(jǐn)慎選擇和配置發(fā)射器和光電二極管,對一個完整 ToF 解決方案是否有效非常重要。
以發(fā)射器為例,ISL29501 的靈活非常大,讓開發(fā)人員能夠從各種紅外 (IR) LED、垂直腔面發(fā)射激光器 (VCSEL) 或具有兼容電壓、電流和頻率規(guī)格的其他激光器件中進(jìn)行選擇。實際上,典型的 ToF 解決方案對發(fā)射器類型相對不太敏感。盡管如此,還是建議使用近紅外 (NIR) 或中波長紅外 (MWIR) 器件,以減少來自環(huán)境光源的干擾。選擇器件后,開發(fā)人員將需要確定最佳發(fā)射器脈沖驅(qū)動電流,以及可能需要的任何 DC 電流分量。接下來,開發(fā)人員必須對器件進(jìn)行編程,以使用發(fā)射器驅(qū)動器輸出鏈中集成的獨(dú)立內(nèi)部數(shù)模轉(zhuǎn)換器 (DAC),來提供脈沖和可選的 DC 電流。
同樣,ISL29501 也支持多種光電二極管,但是在確定最佳選擇方面,應(yīng)用和發(fā)射器的選擇將至關(guān)重要。與發(fā)射器一樣,在 NIR 或 MWIR 波長工作的光電二極管有助于減少環(huán)境光干擾。理想情況下,光電二極管的光譜響應(yīng)曲線應(yīng)盡可能窄,并且峰值位于發(fā)射器峰值波長的中央,以優(yōu)化信噪比 (SNR)。雖然光電二極管需要最大限度地增加收集的光量,但增加光電二極管的面積也會導(dǎo)致更高的電容(包括結(jié)電容和雜散電容),這會影響光電二極管的響應(yīng)時間及其跟蹤發(fā)射器上升和下降時間的能力。因此,開發(fā)人員需要找到光電二極管面積與內(nèi)部電容的最佳平衡點,以在不影響性能的情況下使信號幅度最大化。
集成 ToF 解決方案
Digilent 的 Pmod ToF 板設(shè)計用于加速 ToF 應(yīng)用的開發(fā),可提供現(xiàn)成的 ToF 解決方案,在一個小規(guī)格板上組合了 Renesas 的 ISL29501 ToF IC、Microchip Technology 的 AT24C04D EEPROM、IR LED 和光電二極管,并且?guī)в辛_ Pmod 主機(jī)和直通連接器,能夠添加其他 Pmod 擴(kuò)展板(圖 4)。
圖 4:Digilent 的 Pmod ToF 板提供了完整的 ToF 傳感器解決方案,可通過 Pmod 連接器連接至系統(tǒng)板。(圖片來源:Digilent)
對于光源和檢測器,該板將 OSRAM Opto Semiconductors 的大功率 SFH 4550 860 納米 (nm) LED 與 OSRAM 的 SFH 213 FA 光電二極管配對。該二極管具有較快的開關(guān)速度,光譜靈敏度從 750 到 1100 nm,峰值靈敏度為 900 nm。
雖然 Renesas 的 ISL29501 不需要針對關(guān)聯(lián)的 LED 和光電二極管器件使用其他元器件,但對于三個功率域中的每一個域,均需要一個合適的 2.7 伏至 3.3 伏電源,并由模擬電壓源 (AVCC)、數(shù)字電壓源 (DVCC) 和發(fā)射器驅(qū)動器電壓 (EVCC) 的單獨(dú)引腳供電。盡管這些電源域可以由同一電源進(jìn)行供電,但 Renesas 建議隔離這三個電源。如 Digilent 的 Pmod ToF 原理圖所示,Digilent 對每個電源使用 Murata Electronics 的 BLM15BD471SN1D 鐵氧體磁珠和電容器,來實現(xiàn) ToF 板的這種隔離(圖 5)。
圖 5:Digilent 的 Pmod ToF 板既提供了即時硬件解決方案來加速原型開發(fā),又為定制 ToF 系統(tǒng)提供了參考設(shè)計。(圖片來源:Digilent)
開發(fā)環(huán)境
Digilent 通過基于 Digilent Zybo Z7-20 板的開發(fā)環(huán)境,進(jìn)一步幫助加速 ToF 應(yīng)用的實現(xiàn)。該板圍繞 Xilinx 的 Zynq XC7Z020 完全可編程 SoC (APSoC),構(gòu)建出一個高性能操作環(huán)境。此 APSoC 集成了雙核 Arm? Cortex?-A9 處理器以及廣泛的可編程結(jié)構(gòu),可支持 53,200 個查找表 (LUT)、106,400 個觸發(fā)器和 630 KB 區(qū)塊隨機(jī)存取存儲器 (RAM)。除了 Xilinx 的 Zynq XC7Z020 APSoC,Zybo Z7-20 板還包括 1 GB RAM、16 MB 四通道 SPI 閃存、多個接口和連接器,以及 6 個 Pmod 擴(kuò)展端口。
Digilent 的 ZyboZ7-20 PmodToF-Demo 軟件分發(fā)包專為在 Zybo Z7-20 板上運(yùn)行而設(shè)計,包括用于 Pmod ToF 分層區(qū)塊軟件庫的軟件開發(fā)套件 (SDK)。該庫為開發(fā)人員提供了一個直觀的應(yīng)用程序編程接口 (API),能基于 Xilinx SDK 中或 Digilent 為 Pmod ToF 板提供的驅(qū)動程序和支持模塊來構(gòu)建各種應(yīng)用(圖 6)。
Digilent 庫組合了 Xilinx SDK 中用于 I2C、GPIO 和 UART 通信的低級別驅(qū)動程序,以及針對 Digilent 的 Pmod ToF 板 EEPROM 和 Renesas 的 ISL29501 器件實現(xiàn)寄存器級操作的模塊。例如,ISL29501 模塊提供了一個函數(shù)來使用 ISL29501 測量距離。由于 ISL29501 在內(nèi)部實施了該測量所需的詳細(xì)操作序列,因此在測量距離時,只需進(jìn)行一些初始設(shè)置以及一系列寄存器讀寫操作。Digilent 庫的 ISL29501 模塊提供的函數(shù)可用于實現(xiàn)特定 ISL29501 操作,其中包括測量距離的功能(清單 1)。
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; }
清單 1:Digilent 庫的 ISL29501 模塊中包含的軟件函數(shù)可實現(xiàn)寄存器級操作,例如測量距離,如此清單所示。(代碼來源:Digilent)
Digilent 庫的 PmodToF 模塊提供了基于較低級別模塊構(gòu)建的較高級別服務(wù)。例如,為了執(zhí)行并顯示測量,PmodToF 模塊的 PmodToFCMD_MeasureCmd() 函數(shù)會重復(fù)調(diào)用 ISL29501 模塊的寄存器級 PmodToF_perform_distance_measurement() 函數(shù),并顯示結(jié)果的平均值(清單 2)。
/*** 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
清單 2:Digilent 庫的 PmodToF 模塊中包含的軟件函數(shù)可提供應(yīng)用級服務(wù),例如顯示多個距離測量值的平均值,如此清單所示。(代碼來源:Digilent)
開發(fā)人員可以使用 Digilent 的 Pmod ToF 分層區(qū)塊軟件庫中的全套模塊,也可以只使用自己應(yīng)用所需的最少一組模塊。但是,對于每個應(yīng)用,開發(fā)人員都需要執(zhí)行幅度、串?dāng)_和距離校準(zhǔn),以確保準(zhǔn)確性。盡管幅度是內(nèi)部校準(zhǔn),但其他兩項需要進(jìn)行一些設(shè)置。對于串?dāng)_校準(zhǔn),開發(fā)人員只需使用板隨附的一塊泡沫阻擋光學(xué)器件,然后進(jìn)行校準(zhǔn)。對于距離校準(zhǔn),開發(fā)人員在放置 ToF 板時,可讓光學(xué)元件與高紅外反射率的目標(biāo)保持一段已知距離,然后進(jìn)行校準(zhǔn)。雖然 ISL29501 不包括非易失性存儲器,但開發(fā)人員可以將新的校準(zhǔn)值保存在 Pmod ToF 板的 EEPROM 中,并在軟件初始化過程中加載這些值。
這種現(xiàn)成的硬件和軟件組合為創(chuàng)建光學(xué) ToF 應(yīng)用提供了即用型基礎(chǔ)。要進(jìn)行快速原型開發(fā),開發(fā)人員可以使用 Digilent 的 Pmod ToF 和 Zybo Z7-20 板,立即運(yùn)行庫分發(fā)包的示例軟件。要進(jìn)行定制開發(fā),開發(fā)人員可以基于 Pmod ToF 板提供的硬件參考設(shè)計以及 Digilent 庫分發(fā)包中提供的軟件代碼進(jìn)行構(gòu)建。
總結(jié) 盡管單芯片 ToF 處理 IC 有助于簡化許多應(yīng)用中 ToF 解決方案的實施,但它們?nèi)孕枰_發(fā)人員尋找合適的發(fā)射器和光電二極管來進(jìn)行集成。如上所述,預(yù)構(gòu)建的 ToF 擴(kuò)展板與高性能系統(tǒng)板相結(jié)合,提供了更容易使用的解決方案,它們共同提供了完整的硬件 ToF 解決方案。通過將此硬件解決方案與關(guān)聯(lián)的軟件庫相結(jié)合,開發(fā)人員可以立即開始 ToF 應(yīng)用原型開發(fā),或使用此硬件和軟件作為基礎(chǔ)來設(shè)計定制的 ToF 硬件和軟件。
編輯:hfy
-
led
+關(guān)注
關(guān)注
242文章
23361瀏覽量
663217 -
激光器
+關(guān)注
關(guān)注
17文章
2540瀏覽量
60709 -
數(shù)字信號處理
+關(guān)注
關(guān)注
15文章
563瀏覽量
46002 -
TOF
+關(guān)注
關(guān)注
9文章
485瀏覽量
36479
發(fā)布評論請先 登錄
相關(guān)推薦
評論