國光電器股份有限公司技術部 容 南
本文介紹一種I2C控制紅外感應器件Si1141在具體項目工程上的應用,并討論了幾種紅外接近感應的軟件實現方法,具有一定的通用性。
紅外接近感應技術在一些高端的消費產品中時有應用:比如當用戶接近時設備自動打開播放,或是打開背光指引客戶操作。此技術的應用可以讓產品顯得高端上檔次,而增加的成本也不太多,在高端消費產品上應用越來越多。本文主要介紹用Si1141IC實現紅外接近的幾種軟件處理方法。
Si1141是有源光學反射臨近探測器和環境光傳感器,其運行狀態可通過寄存器控制,這些寄存器可通過I2C接口使用。Mcu可以命令Si1141啟動按需臨近探測或環境光感應。另外Mcu還可以將Si1141置于自發運行狀態,在此狀態中,它按設定間隔執行測量,并在完成每次測量后或每當超過設定閾值時中斷Mcu。這可以使系統整體節電,允許Mcu控制器在休眠狀態下運行更長時間,而不輪詢Si1141。
Si1141的內部框圖大致如圖1所示。
系統應用的結構圖如圖2所示。

圖1 Si1141的內部框圖

圖2 系統應用的結構圖

圖3 示意圖

圖4 設計流程圖
如圖3所示,當目標物體沒有接近時,紅外發射管經過Overlay反射會進入Si114x,形成環境的光基準(BaseLine);當目標接近時,目標物會反射紅外發射管的光進入到Si114x,從而使光感應的值有所變化,通過比較變化量來判斷是否有物體接近。圖3所示是示意圖:
在項目初期的設計過程中,由于沒有Si114x的使用經驗,Silicon Labs的大陸FAE工程師也沒有此類器件的應用經驗,完全靠自己摸索,初期階段我采用了如圖4所示的設計流程。
從流程圖看出,這個流程是很原始的,純粹是為了驗證對Si1141的控制和對光學采樣是否正常,在實際項目應用上是行不通的:因為產品在不同的光學環境下,光感應的經驗值是不同的。我們必須找到一個隨光學環境不同的參考值,這個參考值是隨環境變化而變化的,這樣在實際應用上才有意義,因此有了如下的第二種處理方法。
流程2相對流程1改善了很多,基本上在特定的環境下(例如室內環境...)是可以可靠工作的,事實上Marley批量生產時也是用的這種方法。在主程序循環中,第一次的光學取樣作為當前的基準值,第二次光學取樣值后與第一次相減,取絕對值,此絕對值與特定應用環境的閥值做比較,變化值大于閥值的,代表有目標物體接近。此方法經過試驗驗證,在特定的環境下工作是可行的(比如在室內應用...)。如圖5所示。

圖5 參考值是變動的程序流程圖

圖6 復雜環境紅外接近程序流程
但是,如果產品要適應各種環境(例如要能在室內,室外應用...),方法2則存在缺陷:首先,在室外有強光照射的情況下,Si1141內部的采樣ADC有可能會溢出,在溢出的情況下光感應采樣值是無比較意義的,在溢出的情況下我們必須將Si1141內部的ADC進行重新設定,使其能在陽光直射下能正常工作。其二,由于采樣的ADC設定不同, 因此設定的閥值也是不同的,這個也是要考慮到的。基于此,我們改進得到流程3。
和流程2相比,流程3多了Si1141內部ADC的處理,保證在室外陽光直射的情況下,ADC不會溢出而工作正常。而設定閥值也是和ADC的設置相關聯的。另外,流程圖3中只考慮了從室內移到室外的情況(類似從陰天到陽光強烈),還沒考慮從室外到室內的情況(類似陽光強烈到陰天)。如圖6所示。
必須說明的是流程3并沒有在項目中測試認證(當時項目設計只是特定在室內工作),流程3只是我們思考引申出來,還須在新項目測試認證和完善。