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