3D ToF開(kāi)發(fā)太耗時(shí)?快捷方案來(lái)了!
本文將討論 ToF 的基本原理,然后介紹 Broadcom 的光學(xué) ToF 評(píng)估套件,借助該套件,開(kāi)發(fā)人員能夠快速進(jìn)行精確的 1D 和 3D 距離測(cè)量應(yīng)用原型設(shè)計(jì),并可快速實(shí)現(xiàn)定制的光學(xué) ToF 感測(cè)解決方案。
本文引用地址:http://m.butianyuan.cn/article/202407/460721.htm在從工業(yè)感測(cè)到基于手勢(shì)的用戶(hù)界面等各種應(yīng)用中,光學(xué)飛行時(shí)間 (ToF) 距離測(cè)量扮演著重要角色。隨著精確、高速多像素 ToF 傳感器的出現(xiàn),開(kāi)發(fā)人員可以實(shí)現(xiàn)這些應(yīng)用中需要的更復(fù)雜的三維 (3D) 感測(cè)算法。然而,由于多像素光學(xué)感測(cè)子系統(tǒng)相當(dāng)復(fù)雜,開(kāi)發(fā)時(shí)間會(huì)較長(zhǎng)。
光學(xué) ToF 技術(shù)基礎(chǔ)知識(shí)
光學(xué) ToF 技術(shù)能夠根據(jù)光在空氣中傳播所需的時(shí)間做出測(cè)量,被廣泛用于多種應(yīng)用以獲得所需的精確距離。執(zhí)行這些測(cè)量時(shí),具體計(jì)算通常依賴(lài)于兩種方法:直接和間接 ToF。在直接 ToF 法(也稱(chēng)作“脈沖測(cè)距”)中,設(shè)備利用公式 1 測(cè)量 ToF 傳感器發(fā)射和接收特定光脈沖之間的間隔時(shí)間。
公式 1
其中:
c0 = 真空中的光速
?T = 發(fā)射和接收的間隔時(shí)間
雖然概念很簡(jiǎn)單,但要用這種方法實(shí)現(xiàn)精確測(cè)量,還面臨著許多挑戰(zhàn),包括需要足夠強(qiáng)大的發(fā)射器和接收器、改善信噪比,以及精確的脈沖邊緣檢測(cè)。
相反,間接 ToF 法使用調(diào)制連續(xù)波,并根據(jù)公式 2 測(cè)量發(fā)射信號(hào)與接收信號(hào)之間的相位差:
公式 2
其中:
c0 = 真空中的光速
fmod = 激光調(diào)制頻率
?φ = 確定的相位差
除了降低發(fā)射器和接收器的功率要求外,間接 ToF 法放寬了對(duì)脈沖整形的要求,簡(jiǎn)化了執(zhí)行 3D 測(cè)距和運(yùn)動(dòng)檢測(cè)的設(shè)計(jì)復(fù)雜程度。
直接法和間接法都需要仔細(xì)設(shè)計(jì)光學(xué)前端,并精確控制發(fā)射器和接收器的信號(hào)。多年來(lái),開(kāi)發(fā)人員已經(jīng)能夠利用集成光學(xué) ToF 傳感器的優(yōu)勢(shì),將發(fā)射裝置和接收傳感器組合在單一封裝中。然而,這類(lèi)設(shè)備的前幾代通常要求開(kāi)發(fā)人員在一些性能或操作特性(如功耗、量程、精度和速度)方面做出權(quán)衡。對(duì)于越來(lái)越多的工業(yè)感測(cè)應(yīng)用,這種妥協(xié)已經(jīng)成為主要障礙,因?yàn)檫@些應(yīng)用需要在不超過(guò) 10 m 的中等距離內(nèi)運(yùn)行。
更先進(jìn)的間接 ToF 傳感器模塊,如 Broadcom 的 AFBR-S50MV85G,則專(zhuān)門(mén)用于滿足在中等距離范圍內(nèi)獲得高速、準(zhǔn)確的結(jié)果,同時(shí)保持最小封裝尺寸和功耗這一日益增長(zhǎng)的需求。基于這種傳感器,Broadcom 的 AFBR-S50MV85G-EK 評(píng)估套件及相關(guān)軟件開(kāi)發(fā)套件 (SDK) 提供了一個(gè)多像素 ToF 傳感器開(kāi)發(fā)平臺(tái),使開(kāi)發(fā)人員能夠快速實(shí)現(xiàn) 3D ToF 感測(cè)應(yīng)用。
集成模塊如何簡(jiǎn)化 ToF 距離測(cè)量
AFBR-S50MV85G模塊專(zhuān)為工業(yè)感測(cè)應(yīng)用而開(kāi)發(fā),在單一封裝中提供了完整的光學(xué) ToF 感測(cè)解決方案。其集成元器件包括一個(gè)用于發(fā)射紅外光 (IR) 的 850 nm 垂直腔面發(fā)射激光器 (VCSEL)、一個(gè) 32 像素的六角形傳感器矩陣、用于 VCSEL 和傳感器光學(xué)器件的集成透鏡,以及一個(gè)專(zhuān)用集成電路 (ASIC)。
發(fā)射器相對(duì)于感測(cè)矩陣以固定對(duì)齊的方式定位,照射目標(biāo)物體,從而使感測(cè)矩陣中的一些像素檢測(cè)到反射的紅外信號(hào)。在基本操作中,這使該模塊能夠支持從白色、黑色、彩色、金屬或反光表面進(jìn)行精確的距離測(cè)量——即使在陽(yáng)光直射下亦如此,這得益于其內(nèi)置的環(huán)境光抑制功能。
隨著與物體的距離減小,可對(duì)視差進(jìn)行自動(dòng)補(bǔ)償,使得測(cè)量幾乎沒(méi)有距離下限。同時(shí),紅外照射與感測(cè)矩陣相結(jié)合,可以獲得關(guān)于物體的更多信息,包括其運(yùn)動(dòng)、速度、傾斜角度或橫向?qū)R。因此,該模塊可以提供必要的數(shù)據(jù),以確定經(jīng)過(guò)或接近的目標(biāo)物體的方向和速度(圖 1)。
圖 1:利用從 AFBR-S50MV85G 模塊的 8×4 像素感測(cè)矩陣獲得的數(shù)據(jù),開(kāi)發(fā)人員可以實(shí)現(xiàn)能夠測(cè)量物體運(yùn)動(dòng)特性的 3D 應(yīng)用。(圖片來(lái)源:Broadcom)
該模塊的內(nèi)置 ASIC 協(xié)調(diào)其 VCSEL 和感測(cè)矩陣的精確運(yùn)行,提供驅(qū)動(dòng) VCSEL、從感測(cè)矩陣捕獲模擬信號(hào)以及進(jìn)行數(shù)字信號(hào)調(diào)節(jié)所需的全部電路(圖 2)。
圖 2:AFBR-S50MV85G 模塊中集成的 ASIC 包括驅(qū)動(dòng)該模塊的 VCSEL 光源、獲取來(lái)自感測(cè)矩陣的接收信號(hào)以及生成通過(guò) SPI 總線傳輸?shù)臄?shù)字?jǐn)?shù)據(jù)所需的全部電路。(圖片來(lái)源:Broadcom)
該 ASIC 集成了電源電路,使該模塊能夠在單一的 5 伏電源下運(yùn)行,而其集成的經(jīng)出廠校準(zhǔn)和溫度補(bǔ)償?shù)碾娮桦娙?(RC) 振蕩器和數(shù)字鎖相環(huán) (PLL) 則提供了所有需要的時(shí)鐘信號(hào)。由于這種集成,開(kāi)發(fā)人員可以使用微控制器單元 (MCU) 和一些附加的外部元器件,輕松地將該模塊納入他們的設(shè)計(jì)。與 MCU 的接口只需要一個(gè)通用輸入/輸出(GPIO) 引腳,用于接收來(lái)自模塊的數(shù)據(jù)就緒信號(hào),以及一個(gè)通過(guò)模塊的數(shù)字串行外設(shè)接口 (SPI) 實(shí)現(xiàn)的連接(圖 3)。
圖 3:Broadcom 的 AFBR-S50MV85G 模塊只需要一個(gè) MCU 和一些附加元器件即可實(shí)現(xiàn)完整的 ToF 感測(cè)系統(tǒng)。(圖片來(lái)源:Broadcom)
作為對(duì)這種簡(jiǎn)單的硬件設(shè)計(jì)的補(bǔ)充,Broadcom 的 ToF 驅(qū)動(dòng)軟件提供了實(shí)現(xiàn)距離測(cè)量所需的所有相關(guān)軟件功能。當(dāng)該模塊處理距離測(cè)量應(yīng)用的光學(xué)數(shù)據(jù)收集時(shí),該公司提供的 AFBR-S50 SDK 中包含的Broadcom ToF 驅(qū)動(dòng)軟件會(huì)執(zhí)行所有硬件配置、校準(zhǔn)和測(cè)量步驟。在測(cè)量過(guò)程中,驅(qū)動(dòng)軟件同時(shí)提取像素的距離和振幅值。
如何快速開(kāi)發(fā)距離測(cè)量應(yīng)用
Broadcom的 AFBR-S50MV85G-EK 評(píng)估套件與 AFBR-S50 SDK 相結(jié)合,提供了適用于快速開(kāi)發(fā)距離測(cè)量應(yīng)用原型的綜合平臺(tái)。該套件附帶一塊包含 AFBR-S50MV85G 模塊的適配器板,NXP?基于 Arm Cortex-M0+ MCU?的 FRDM-KL46Z 評(píng)估板,以及一條用于將評(píng)估板組件連接到筆記本電腦或其他嵌入式系統(tǒng)的迷你 USB 電纜(圖 4)。
圖 4:Broadcom 的 AFBR-S50MV85G-EK 評(píng)估套件及相關(guān)軟件提供了適用于 ToF 距離測(cè)量應(yīng)用評(píng)估和原型開(kāi)發(fā)的綜合平臺(tái)。(圖片來(lái)源:Broadcom)
使用評(píng)估套件進(jìn)行 ToF 距離測(cè)量只需幾個(gè)步驟即可開(kāi)始。下載 AFBR-S50 SDK 后,安裝向?qū)?huì)引導(dǎo)開(kāi)發(fā)人員完成快速安裝程序。開(kāi)發(fā)人員啟動(dòng) SDK 包中包含的 Broadcom AFBR-S50 Explorer 軟件應(yīng)用程序后,該軟件通過(guò) USB 接口連接到 AFBR-S50 評(píng)估板,通過(guò)在 NXP 板的 MCU 上運(yùn)行的驅(qū)動(dòng)軟件接收測(cè)量數(shù)據(jù),并允許用戶(hù)以 1D 或 3D 曲線圖顯示結(jié)果(圖 5)。
圖 5:AFBR-S50 Explorer 軟件通過(guò) 3D 曲線圖顯示 ToF 傳感器矩陣中每個(gè)像素接收到的照射光振幅,簡(jiǎn)化了 ToF 測(cè)量的評(píng)估。(圖片來(lái)源:Broadcom)
如圖 5 所示,3D 曲線圖顯示了每個(gè)像素的讀數(shù),但軟件還提供了另一種視圖,允許開(kāi)發(fā)人員僅查看被視為有效的測(cè)量像素。在此替代視圖中,不符合定義標(biāo)準(zhǔn)的像素將從曲線圖中刪除(圖 6)。
圖 6:借助 Broadcom 的 AFBR-S50 Explorer 軟件,開(kāi)發(fā)人員可以查看精簡(jiǎn)的 3D 測(cè)量曲線圖,刪掉不符合預(yù)定標(biāo)準(zhǔn)的像素。(圖片來(lái)源:Broadcom)
為了解不同應(yīng)用場(chǎng)景的測(cè)量精度和性能,如照明、反射率和表面類(lèi)型,開(kāi)發(fā)人員可以查看不同感測(cè)配置的影響,例如對(duì)于增強(qiáng)型 3D 應(yīng)用使用更多的像素;或?qū)τ谛枰_測(cè)量的 1D 應(yīng)用使用更少的像素。在其原型中評(píng)估測(cè)量方法后,開(kāi)發(fā)人員可以在 Broadcom 的 AFBR-S50 SDK 中包含的樣例軟件的基礎(chǔ)上,快速實(shí)現(xiàn)定制化 ToF 感測(cè)應(yīng)用。
構(gòu)建定制化 ToF 感測(cè)軟件應(yīng)用
Broadcom圍繞基于 AFBR-S50 核心庫(kù)的高效架構(gòu)建立了對(duì) ToF 感測(cè)應(yīng)用的支持,該核心庫(kù)包括傳感器硬件專(zhuān)用代碼、應(yīng)用編程接口 (API) 和硬件抽象層 (HAL)(圖 7)。
圖 7:在 Broadcom 的 ToF 工作環(huán)境中,ToF 驅(qū)動(dòng)程序 API 提供的用戶(hù)應(yīng)用代碼可訪問(wèn)預(yù)編譯 ToF 驅(qū)動(dòng)程序核心庫(kù)中的校準(zhǔn)、測(cè)量和評(píng)估功能。(圖片來(lái)源:Broadcom)
作為 AFBR-S50 SDK 軟件包的一部分,Broadcom 將核心庫(kù)作為預(yù)編譯的 ANSI-C 庫(kù)文件提供,其中嵌入了運(yùn)行 AFBR-S50MV85G 硬件所需的全部數(shù)據(jù)和算法。核心庫(kù)在距離測(cè)量系統(tǒng)的 MCU 上運(yùn)行,具有校準(zhǔn)、測(cè)量和評(píng)估等功能,能以最小的處理負(fù)荷或功耗進(jìn)行距離測(cè)量。由于核心庫(kù)函數(shù)會(huì)處理所有的底層細(xì)節(jié),開(kāi)發(fā)人員看到的基本測(cè)量周期非常簡(jiǎn)單(圖 8)。
圖 8:AFBR-S50 SDK ToF 軟件利用中斷和回調(diào)最大限度減少了處理器的工作負(fù)載。(圖片來(lái)源:Broadcom)
在每個(gè)測(cè)量周期的開(kāi)始(通過(guò)周期性定時(shí)器中斷或 IRQ 啟動(dòng)),MCU 啟動(dòng)測(cè)量,隨后立即恢復(fù)空閑狀態(tài)(或繼續(xù)處理一些應(yīng)用代碼)。測(cè)量完成后,AFBR-S50MV85G 模塊使用連接的 GPIO 線發(fā)出中斷信號(hào),喚醒 MCU 以啟動(dòng) SPI 總線上的數(shù)據(jù)讀出,然后恢復(fù)之前的狀態(tài)。在數(shù)據(jù)讀出完成后(通過(guò) SPI 完成的 IRQ 發(fā)出信號(hào)),MCU執(zhí)行代碼以評(píng)估獲得的 ToF 傳感器數(shù)據(jù)。
為防止丟失測(cè)量數(shù)據(jù),核心庫(kù)會(huì)封鎖數(shù)據(jù)緩沖區(qū)直至調(diào)用評(píng)估例程,以防止啟動(dòng)新的測(cè)量周期。因此,開(kāi)發(fā)人員通常會(huì)加入一個(gè)用于原始數(shù)據(jù)的雙緩沖器,以允許交錯(cuò)執(zhí)行測(cè)量和評(píng)估任務(wù)。
對(duì)于應(yīng)用軟件開(kāi)發(fā)人員來(lái)說(shuō),核心庫(kù)例程屏蔽了校準(zhǔn)、測(cè)量和評(píng)估的細(xì)節(jié)。事實(shí)上,開(kāi)發(fā)人員可以將評(píng)估套件和 AFBR-S50 Explorer 應(yīng)用程序作為一個(gè)完整的原型開(kāi)發(fā)平臺(tái),將測(cè)量數(shù)據(jù)傳遞至高級(jí)軟件應(yīng)用代碼。
對(duì)于需要實(shí)現(xiàn)定制化應(yīng)用軟件的開(kāi)發(fā)人員來(lái)說(shuō),AFBR-S50 SDK 包將預(yù)編譯的核心庫(kù)模塊與幾個(gè)軟件樣例結(jié)合起來(lái)。由此,開(kāi)發(fā)人員可以基于 SDK 中提供的樣例應(yīng)用程序快速創(chuàng)建自己的 ToF 感測(cè)應(yīng)用程序。開(kāi)發(fā)人員可以通過(guò)調(diào)用 AFBR-S50 SDK API 中的函數(shù)以及為核心庫(kù)支持的各種回調(diào)指定自己的函數(shù),在其應(yīng)用特定的軟件代碼中訪問(wèn) AFBR-S50MV85G 硬件和 AFBR-S50 核心庫(kù)功能(仍然參見(jiàn)圖 7)。
Broadcom提供了大量關(guān)于 API 和樣例軟件的文檔,使開(kāi)發(fā)人員能夠迅速采取行動(dòng),根據(jù)自己的需要改寫(xiě)軟件樣例或者從頭開(kāi)始。事實(shí)上,基礎(chǔ)測(cè)量和評(píng)估周期非常簡(jiǎn)單,只需將自定義函數(shù)和 API 調(diào)用與測(cè)量周期相匹配即可(仍然參見(jiàn)圖 8)。例如,前面討論的測(cè)量周期包括三個(gè)階段:ToF 設(shè)備集成、數(shù)據(jù)讀出和評(píng)估。啟動(dòng)這三個(gè)階段所需的核心庫(kù) API 調(diào)用包括:
● Argus_TriggerMeasurement(),異步觸發(fā)一個(gè)測(cè)量幀
● Argus_GetStatus(),在成功完成測(cè)量后返回 STATUS_OK
● Argus_EvaluateData(),評(píng)估原始測(cè)量數(shù)據(jù)中的有用信息
Broadcom在 SDK 發(fā)行版包含的一個(gè)樣例應(yīng)用程序中演示了該基礎(chǔ)測(cè)量循環(huán),如列表 1 所示。
如列表所示,上述三個(gè) API 函數(shù)調(diào)用構(gòu)成了執(zhí)行一個(gè)測(cè)量周期的骨干。通過(guò)研究 SDK 中的 API 文檔和其他樣例應(yīng)用程序可以發(fā)現(xiàn),該模塊能夠提供確定目標(biāo)物體的速度、方向和傾斜角度等高級(jí)特性所需的數(shù)據(jù),開(kāi)發(fā)人員可以利用這種能力快速實(shí)現(xiàn)復(fù)雜的 3D 應(yīng)用。
總結(jié)
光學(xué) ToF 感測(cè)設(shè)備已經(jīng)在需要精確距離測(cè)量的各種領(lǐng)域得以應(yīng)用,但測(cè)量范圍、精度或可靠性方面的局限性阻礙了其向工業(yè)感測(cè)系統(tǒng)等應(yīng)用的擴(kuò)展,因?yàn)檫@類(lèi)應(yīng)用要求采用能夠在更遠(yuǎn)的范圍內(nèi)提供準(zhǔn)確結(jié)果的低功耗設(shè)備。Broadcom 的集成光學(xué) ToF 子系統(tǒng)滿足了新一代感測(cè)應(yīng)用的這些新興要求。借助基于該設(shè)備的評(píng)估套件,開(kāi)發(fā)人員可以在 1D 測(cè)距應(yīng)用中快速實(shí)現(xiàn)精密測(cè)量系統(tǒng),并可在 3D 應(yīng)用中快速實(shí)現(xiàn)復(fù)雜物體運(yùn)動(dòng)跟蹤系統(tǒng)。
評(píng)論