接近感應為人機界面(HMI)提供了額外的維度,能夠檢測用戶的接近。結合環(huán)境光感應,基于光的接近檢測可以自動激活辦公設備和消費產品中的系統(tǒng)及其顯示器。
對于許多開發(fā)人員來說,實施基于光的接近感應帶來了多種挑戰(zhàn),傳感器光譜靈敏度的適用性,傳感器和光源的接口設計和機械放置。然而,Vishay Semiconductor的集成解決方案滿足了這些要求。
本文將介紹接近感應的應用和設計挑戰(zhàn),然后展示Vishay的解決方案如何讓開發(fā)人員輕松地將接近檢測功能添加到他們的設計中。
接近感應的特點和挑戰(zhàn)
接近感應是從汽車安全到消費產品的應用的一個支持功能。為了滿足每個應用的獨特要求,開發(fā)人員使用截然不同的技術實現(xiàn)接近感應。例如,在汽車安全應用中,開發(fā)人員通常使用能夠在遠距離傳遞非常快速響應的飛行時間方法(ToF)。相比之下,移動電話開發(fā)人員通常依靠基于電容的方法在電話顯示器接近用戶臉時自動關閉電話顯示器。
對于許多其他應用,開發(fā)人員可以通過更傳統(tǒng)的光感應滿足接近檢測要求將反射光水平轉換為距離的方法。這些方法提供了一種經(jīng)濟高效的解決方案,能夠以比電容方法更大的距離檢測用戶,但不能擴展范圍或ToF方法的快速響應。
通過測量從接近用戶反射的光,當用戶在指定距離內移動時,控制系統(tǒng)可以激活產品。同時,自動開啟的產品還需要提供在適合環(huán)境照明水平的照明水平下打開的顯示器。隨著消費者需要更智能的產品,開發(fā)人員需要能夠滿足接近檢測和環(huán)境光感應要求的解決方案,同時對產品設計和集成的影響最小。
雙重職責
Vishay VCNL4200解決了這些問題將接近傳感器和環(huán)境光傳感器組合在一個模塊中的要求。通過提供接近檢測和環(huán)境光感應,該模塊可作為自動顯示激活和亮度控制,智能設備激活,照明控制,物體檢測等應用的現(xiàn)成解決方案。
設計用于Vishay VCNL4200簡化了各種應用的集成,包括支持接近感應(PS)和環(huán)境光感應(ALS)所需的所有光學和電子子系統(tǒng)。內置鏡頭分別為紅外發(fā)射器(IRED)和光電探測器提供±15°和±30°的緊密聚焦角度。由于這些光學元件集成在同一個封裝中,因此為其系統(tǒng)構建物理設計的工程師只需確保IRED和光電二極管使用足夠大的開口以適應各自的角度。根據(jù)VCNL4200鏡頭與任何外蓋之間的距離,這些開口的直徑只需要幾毫米。
除了光學子系統(tǒng)的機械考慮因素外,PS和ALS的光學特性也是如此不需要設計師的進一步努力。雖然PS系統(tǒng)的中心光譜頻率為940納米(nm),但ALS系統(tǒng)提供的光譜響應非常類似于人眼,其中心頻率峰值約為550 nm(圖1)。
圖1:晶圓級干涉濾光片使Vishay VCNL4200環(huán)境光傳感器能夠提供與人眼感知的照度水平一致的測量結果。 (圖片來源:Vishay Semiconductor)
Vishay利用其專有的Filtron技術實現(xiàn)了這種明視光譜響應,該技術使用標準CMOS半導體工藝技術在芯片本身上構建適當?shù)母缮鏋V光片。因此,ALS系統(tǒng)測量的環(huán)境光強度與人類感知的強度一致。
PS和ALS子系統(tǒng)與其獨立的光譜響應一起使用單獨的組件獨立運行。對于接近度測量,該器件使用匹配的IRED和光電二極管以及專用的12位/16位模數(shù)轉換器(ADC)來產生PS值。對于環(huán)境光感應,該器件提供單獨的光電二極管和專用的16位ADC,用于生成ALS值。
并行操作,設備的接近度和環(huán)境光傳感器均支持不同的操作模式。開發(fā)人員可以將該設備用作純傳感器,以測量環(huán)境光水平或反射紅外光的相對強度,以用于他們自己的算法。例如,設備的PS功能提供與距離成反比的反射光值(圖2)。如圖所示,PS系統(tǒng)可以在非常近的距離處飽和,從而限制了其在電容方法可能更好地服務的測量應用中的有效性。
圖2:在給定的脈沖長度設置(9T = 240微秒(μs))和脈沖重復(MPS = 8)時,Vishay VCNL4200接近傳感器提供的接近值與距離成反比,不僅在短距離(A),甚至在距離超過1.5米(B)的距離。 (圖像來源:Vishay Semiconductors)
接近中斷
VCNL4200為僅需要檢測用戶在指定距離內接近的應用程序提供了更簡單的方法。在這里,開發(fā)人員將設備寄存器設置為合適的閾值,并指定在設備識別閾值事件之前所需的連續(xù)測量次數(shù)。在典型的測量序列期間,只要測量的接近值超過上限閾值,設備就會向主機MCU發(fā)送中斷信號,或者在連續(xù)N次發(fā)生后降至低于下限閾值(圖3)。因此,設計人員可以將主機MCU置于接近事件之間的低功耗狀態(tài),從而節(jié)省整體系統(tǒng)功耗。
圖3:在N次連續(xù)測量后,只要接近值超過閾值,開發(fā)人員就可以對VCNL4200進行編程以發(fā)出中斷(“D”和“E”) (“D”)或低于閾值(“F”)而忽略瞬態(tài)事件(“B”)。 (圖像來源:Vishay Semiconductors)
使用這種中斷驅動方法,開發(fā)人員在器件上電后設置上限閾值和下限閾值(圖中步驟“A”)。通過將所需的連續(xù)出現(xiàn)次數(shù)設置為某個值N> 1,設備可以忽略單個事件(“B”),即使在那些情況下也允許MCU保持低功率狀態(tài)。當接近值超過閾值(“C”)時,器件在對應于N次連續(xù)測量(“D”)的時間段后發(fā)出中斷。
中斷喚醒MCU后,MCU將清除中斷(“E”)并完成與接近檢測相關的操作。例如,在消費類電器中,這些操作可能包括打開設備及其顯示屏,使用環(huán)境光感應來設置顯示屏亮度。
當接近值稍后下降時,表示用戶已移開,設備將發(fā)出另一個中斷(“F”),允許主機MCU采取適當?shù)拇胧珀P閉設備及其顯示。
最小化開發(fā)
開發(fā)人員可以實施這種功能相對較少。硬件接口只需要幾個額外的組件即可完成設計(圖4)。除了去耦電容外,開發(fā)人員還需要添加一個小型驅動器,例如由3.8至5.5伏VIRED電源供電的Vishay SI2301 PMOS FET。
圖4:設計人員完成VCNL4200傳感器設計,只需少量附加組件,包括用于驅動集成紅外線電流脈沖的Vishay SI2301 PMOS FET發(fā)射器的當前電平由RLED的值設定。 (圖片來源:Vishay Semiconductors)
內部LED柵極驅動器使用器件的LED陰極輸出脈沖外部FET,外部FET又將電流脈沖施加到電流水平的內部紅外發(fā)射器(LED +)由連接到LED引腳的外部電阻(RLED)控制。在處理器端,VCNL4200中斷線(INT)和I 2 C線連接到相應的MCU引腳。
命令界面同樣簡單明了。設備命令代碼提供對PS和ALS傳感器輸出數(shù)據(jù)的讀訪問,以及對兩個傳感器子系統(tǒng)的單獨配置寄存器的讀寫訪問。開發(fā)人員使用簡單的事務協(xié)議在I 2 C總線上讀取和寫入這些寄存器(圖5)。
圖5:主機MCU使用簡單的寫(A)控制I 2 C總線上的VCNL4200傳感器并讀取(B)將傳感器響應(灰色)與主機請求(白色)散布在一起的協(xié)議。 (圖像來源:Vishay Semiconductors)
這里,總線主控器(通常是主機MCU)通過發(fā)送從地址,寫周期(圖5中的“W”),命令來啟動寫序列代碼,以及16位字的低字節(jié)和高字節(jié)(圖5A)。從VCNL4200讀取數(shù)據(jù)涉及兩個步驟,其中總線主控器首先將適當?shù)淖x取命令代碼寫入VCNL4200,然后啟動(圖5B中的“S”)讀取周期(“Rd”)以獲取數(shù)據(jù)(圖5B) 。總線事務協(xié)議包括VCNL4200(帶陰影的“A”)和總線主控(“A”和“N”)的確認。
實際上,開發(fā)人員通常只需要在配置寄存器中編程一些設置典型應用。對于接近感應,開發(fā)人員可將積分時間設置為從大約30μs(PS_IT = 1T)到240微秒(μs)(PS_IT = 9T)和占空比(PS_DUTY)的值,范圍從1/160到1/1280。
使用不同的占空比設置,開發(fā)人員可以控制傳感器的響應時間和功耗。在最大占空比(1/160)下,器件將以更快的速率測量,但會增加其功耗。例如,使用2.7Ω的RLED將產生800毫安(mA)電流脈沖。在1/160占空比時,VCNL4200每5 ms執(zhí)行一次測量,但平均電流消耗為800/160 = 5 mA。在最小占空比(1/1280)下,傳感器測量僅每300 ms發(fā)生一次,但平均功耗將下降近一個數(shù)量級。
開發(fā)平臺
幫助開發(fā)人員通過VCNL4020的配置選項,Vishay提供了一個傳感器入門套件,可提供評估軟件程序,USB加密狗和插入加密狗的傳感器板。雖然該套件配有VCNL4020傳感器板,但開發(fā)人員可以通過聯(lián)系Vishay傳感器技術支持獲得免費的VCNL4200傳感器板。
將傳感器板連接到USB加密狗后,開發(fā)人員可以運行評估軟件程序研究不同寄存器設置對傳感器特性和性能的影響。
對于定制設計,工程師可以將Arduino等開發(fā)板與傳感器板結合起來加速設計,或者按照描述構建自己的支持電路在圖4中,第三方開源軟件提供了必要的寄存器定義(清單1)。
//注冊聲明
#定義VCNL4200_I2CADDR 0x51
#define VCNL4200_ALS_CONF_REG 0x00
#define VCNL4200_ALS_THDH_REG 0x01//環(huán)境光傳感器閾值數(shù)據(jù)高
#define VCNL4200_ALS_THDL_REG 0x02//環(huán)境光傳感器閾值數(shù)據(jù)低
#define VCNL4200_PS_CONF1_CONF2_REG 0x03
#define VCNL4200_PS_CONF3_MS_REG 0x04//Conf3和模式選擇
#define VCNL4200_PS_CANC_REG 0x05
#define VCNL4200_PS_THDL_REG 0x06//接近傳感器閾值數(shù)據(jù)低
#define VCNL4200_PS_THDH_REG 0x07//接近傳感器閾值數(shù)據(jù)高
#define VCNL4200_PROXIMITY_REG 0x08
#define VCNL4200_AMBIENT_REG 0x09
#define VCNL4200_WHITE_REG 0x0A
#define VCNL4200_INT_FLAG_REG 0x0D
#define VCNL4200_DeviceID_REG 0x0E
清單1:要在自己的設計中使用接近感應和環(huán)境光感應,開發(fā)人員可以打開-source軟件提供了一個基本框架,如VCNL4020寄存器定義。 (代碼來源:GitHub開源代購)
第三方軟件還演示了如何使用Arduino Wire庫實現(xiàn)接近感應等功能的簡單命令協(xié)議(清單2)。
uint16_t CRC_VCNL4200 :: readData(uint8_t command_code)
{
uint16_t reading;
Wire.beginTransmission(_i2caddr);
Wire.write(command_code);
Wire.endTransmission(false);
Wire.requestFrom(_i2caddr,uint8_t(2));
while(!Wire.available());
uint8_t byteLow = Wire.read();
while(! Wire.available());
uint16_t byteHigh = Wire.read();
reading =(byteHigh << = 8)+ byteLow;
返回讀數(shù);
}
。
。
。
uint16_t CRC_VCNL4200 :: getProximity(){
返回readData(VCNL4200_PROXIMITY_REG);
}
清單2:開源代碼庫包含的代碼演示了如何使用Arduino Wire庫實現(xiàn)接近感應等VCNL4020功能。 (代碼來源:GitHub開源代購)
結論
雖然開發(fā)人員可以使用各種接近檢測技術,但簡單的反射測量為許多設計人員定位提供了經(jīng)濟高效的解決方案商業(yè)和消費品。通過將接近檢測與環(huán)境光測量相結合,開發(fā)人員可以構建能夠感知用戶接近的產品,并以適當?shù)牧炼燃墑e自動激活顯示器。
包含對接近感應和環(huán)境光感應的集成支持, VCNL4020允許開發(fā)人員輕松實現(xiàn)這些功能。
-
傳感器
+關注
關注
2548文章
50668瀏覽量
751981 -
顯示器
+關注
關注
21文章
4945瀏覽量
139820 -
控制系統(tǒng)
+關注
關注
41文章
6546瀏覽量
110477
發(fā)布評論請先 登錄
相關推薦
評論