使用單一 I²C 匯流排結合多個接近感測器

作者:歐洲編輯群

資料提供者:DigiKey 歐洲編輯群

在過去幾年間,市場對接近感測器的興趣快速增長。舉例來說,接近感測器如今廣泛用於智慧型手機,在使用手機撥打或接聽電話時停用手機的觸控螢幕,這能在使用者不看螢幕時停用觸控功能,以便減少智慧型手機的耗電量。另外,此特點也可在通話期間,大幅降低使用者誤觸手機介面而意外斷話的可能性。接近感測器一直都具有發射紅外線光脈衝的紅外線 LED,以及測量目標物反射之紅外線光幅度的紅外線偵測器,直到近期才有所改變。此技術能讓主機處理器估計感測器與目標之間的距離。然而,偵測器的準確性會受到目標反射的光量所限制,受到多個因素影響,例如目標表面的顏色和平滑度。

STMicroelectronics 的 FlightSense™ 技術採用截然不同的作法。此技術會準確測量出光行進至最近物體並反射回感測器所花的時間。此作法稱為「飛時測距」(ToF),優點在於光返回所花的時間僅取決於行經的距離,而不是光反射的量。眾所周知,光速的準確度高,因此回程的距離即「光速」x「時間延遲」。

VL53L0X 是新一代的 ToF 雷射測距模組,採用目前市面上最小的封裝,可在多種目標顏色和反射率特性下,提供準確的距離測量結果。此元件可以測量長達 2 公尺的絕對距離,準確率最優異可達 3%,視功耗與準確度之間的權衡結果而定。

STMicroelectronics 的 VL53L0X ToF 雷射測距模組方塊圖

圖 1:VL53L0X 方塊圖。

如圖 1 所示,VL53L0X 整合了人眼完全無法看見的 940 nm 垂直共振腔面射型雷射 (VCSEL) 發射器。這種雷射對眼睛完全無害,完全符合第 1 類雷射裝置的最新標準(IEC 60825-1:2014 - 第 3 版)。具有內部實體紅外線濾光片,因此能達到更長的測距距離、更高的環境光耐受性,且更能耐受護蓋玻璃的光學串擾。反射的紅外光由高度靈敏的尖端技術單光子崩潰二極體 (SPAD) 陣列進行測量,這一陣列是頂尖醫學掃描器的首選技術。

在單一設計中使用多個 VL53L0X

雖然 ToF 測距裝置的初期市場著重於只測量感測器前方距離的單一裝置,但諸如機器人和手勢感測等眾多新興應用都必須使用到多個接近感測器。在這些應用中,必須考量的一個問題在於對主機處理器之 GPIO 資源的需求。<e>

一個 VL53L0X 感測器需要四個主機 MCU 的 GPIO 引腳(圖 1)。其中兩個引腳提供 I²C 序列時脈 (SCL) 與序列數據 (SDA) 訊號,一個引腳 (XSHUT) 由 MCU 用來重設感測器,而第四個 (GPIO1) 則在注重時間的應用中為主機控制器提供中斷,或在應用不需要快速因應新的距離量測時作為輪詢輸入。 

然而,這不代表兩個感測器需要 8 個 GPIO 引腳,或三個感測器需要 12 個 GPIO 引腳,因為所有感測器都能共用相同的 I²C 時脈與數據線。當多個感測器共用同一個 I²C 匯流排時,則須具有不同的匯流排位址。這些位址由主機 MCU 指派,然後依序重置每一個感測器並立即發出 WRITE 命令。因此,MCU 必須能分別針對各個感測器進行重置/重新啟動,無論是透過其中一個 GPIO 引腳直接達成,或透過 GPIO 擴充器晶片達成皆可。

假如設計人員基於 GPIO 數量、封裝尺寸與機板複雜度的考量,而不希望過度指定 MCU,實際上有三個基本的情境。

第一種情境是在兩個 GPIO 引腳已經專用於 I²C 時脈與數據訊號的情況下,可用的 GPIO 引腳數至少是 VL53L0x 接近感測器數量的兩倍。在此情境下,不需要 GPIO 擴充器晶片,且每個感測器的 XSHUT 與中斷 (GPIO1) 引腳都可直接連接到主機 MCU 的 GPIO 引腳。

第二種情境是可用的 GPIO 引腳數不足以處理系統中所有 VL53L0x 感測器的 XSHUT 與中斷 (GPIO1) 訊號。在此情境下(如圖 2 所示),使用一對 GPIO 擴充器(如 FairchildFLX6408UMX)即可讓最多 8 個接近感測器共用 I²C 匯流排。其中一個擴充器負責為感測器提供 XSHUT 重置訊號,另一個則負責接收輸出測距訊號。

I2C GPIO 擴充器範例圖

圖 2:I²C GPIO 擴充器範例。

最後,第三個情境介於前兩個情境之間,即機板含有 N 個感測器,而 MCU 具有至少 N+1 個可用的 GPIO 引腳,因此設計人員能省去其中一個 GPIO 擴充器。在此情境中,偏好的選項是使用 GPIO 擴充器(即圖 2 的 U1)為感測器提供 XSHUT 訊號,同時將感測器輸出直接連到 MCU 的 GPIO 引腳。如此,即可讓系統更快速因應測距量測的任何變化,避免中斷訊號路徑流經 GPIO 擴充器而必然會產生的時間延遲問題。

使用 VL53L0x 進行設計

為了加速 VL53L0x 應用的開發,ST 提供多種開發板,例如 X-NUCLEO-53LAO1 擴充板,可用於 STM32 MCU 開發環境以及 STSW-IMG005 API 封裝。為了讓使用者在盡可能接近 VL53L0X 最終應用的環境中驗證 VL53L0X,X-NUCLEO-53L0A1 擴充板附有一個安裝座,當中有 0.25、0.5 和 1 mm 三種不同的高度襯墊可用來模擬 VL53L0X 與護蓋玻璃間的氣隙。

VL53L0X API 封裝提供一組 C 函數,可用來控制 VL53L0X,包括感測器初始化與測距數據採集,以便開發使用者應用。此建構方式能透過隔離良好的平台層(主要是用於低階 I²C 存取),在任何平台上進行編譯。

結論

接近感測已邁入新時代,最新推出的元件提供前所未有的準確程度,再結合硬體與軟體支援工具,即可讓設計人員以實惠的方式快速試驗、建立原型並將新的應用予以工業化。即可透過單一控制板管理多個感測器。

 
DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

歐洲編輯群

關於出版者

DigiKey 歐洲編輯群