專利名稱:一種觸屏手機紅外接近傳感器的檢測算法的制作方法
技術領域:
本發(fā)明涉及ー種手機的紅外檢測算法,尤其涉及一種觸屏手機紅外接近傳感器的檢測算法。
背景技術:
紅外接近傳感器主要利用紅外光脈沖的發(fā)射和接收原理,通過紅外光光敏ニ極管接收到的經(jīng)反射的紅外光能量大小來判斷是否有物體接近。市面上的觸屏手機普遍裝有紅外接近傳感器來控制通話時觸摸顯示屏的開啟和關閉,以避免通話時臉部對觸摸屏的干擾造成誤操作。目前使用的接近檢測方法是通過設置接近、遠離兩個閥值,當光電ニ極管的接收值大于該接近限值時,判斷為接近狀態(tài),熄滅觸模屏;當光電ニ極管的接收值小于遠離限值時,判斷為遠離狀態(tài),點亮觸模屏。目前市場上使用該接近檢測方法的大部分機器都不能夠解決如下問題一、由于黒色物體的反射率低,當黑頭發(fā)靠近或者緊貼的時候,紅外接近傳感器不能可靠識別是否有接近動作,因而不能可靠地熄掉屏幕;ニ、如果接近傳感器對應的屏幕上方貼有保護膜或者有臟污(例如油污、汗液、化妝品等),則不能正常使用或者判斷接近和遠離動作的距離閥值與沒有貼膜或者臟污時的不一樣,紅外接近傳感器的靈敏度降低。
發(fā)明內容
為了克服上述所指的現(xiàn)有技術中的不足之處,本發(fā)明提供一種觸屏手機紅外接近傳感器的檢測算法,以克服手機的器件一致性、結構一致性和其他外界干擾因素對手機通話時紅外接近檢測的影響。本發(fā)明是通過以下技術方案實現(xiàn)的一種觸屏手機紅外接近傳感器的檢測算法,基于紅外接近感應技術,所述檢測算法程序于手機通話功能開啟后即啟動,于通話功能切斷后即結束,該檢測算法步驟如下
步驟1,初始化接近值a,賦予紅外接近傳感器的ADC滿量程值,同時設置接近閥值fl為ADC滿量程值,遠離閥值f2為O ;
步驟2,讀取紅外接近傳感器輸出的ADC即時值,并求取平均值得到即時均值b ;
步驟3,若b < a+c且b < d,則執(zhí)行步驟4,否則執(zhí)行步驟6,c為接近趨勢值,d為最大接近有效值,c和d均為系統(tǒng)設定值;
步驟4,對a重新賦值,使a=b,調整系統(tǒng)的接近閥值fl=a+x,通過I2C操作寄存器寫入接近閥值fl,X為系統(tǒng)設定的接近補償值,且c ^ X < 2c ;
步驟5,讀取ADC即時值,同時判斷ADC即時值是否均大于接近閥值f 1,若是,進入步驟6,否則返回步驟2 ;
步驟6,上報接近事件,關閉屏幕,觸屏功能休眠,調整系統(tǒng)的遠離閥值f2=a+y,通過I2C操作寄存器寫入遠離閥值f2,y為系統(tǒng)設定的遠離補償值,且O < y < c ;
步驟7,讀取ADC即時值,同時判斷ADC即時值是否均小于步驟6設置的遠離閥值f2,若是,進入步驟8,否則重復步驟7 ;
步驟8,上報遠離事件,打開屏幕,喚醒觸屏功能,并轉入步驟2。所述接近趨勢值C、最大接近有效值d、接近補償值X和遠離補償值y均為定值,且根據(jù)系統(tǒng)調整。進ー步地,所述步驟2、步驟5和步驟7中讀取ADC即時值的次數(shù)均為至少連續(xù)兩次。與現(xiàn)有技術相比,本發(fā)明采用的是在 通話的過程中實時校準接近閥值和遠離閥值的算法,其優(yōu)點如下一、保證即使使用不同的手機,該算法系統(tǒng)針對同一物體作出的接近和遠離動作判斷能始終保持一致;ニ、即使手機屏幕上貼保護膜或者屏幕上覆蓋例如油污、汗液、化妝品等臟污或存在其他外界干擾因素,也能夠正常使用,并且該算法系統(tǒng)針對同一物體作出的接近和遠離動作判斷能始終保持一致;三、當比如黑頭發(fā)等黑色物質緊貼屏幕的時候,該算法也能正常運行;四、能夠解決IR LED發(fā)射管老化以及用戶使用跌落引起屏幕鏡面下表面至接近IC上表面的間隙的微小變化,而使其不能正常使用的問題;五、該算法適用性廣且不需要對每臺手機設置獨有的閥值。
附圖I為本發(fā)明的算法流程圖。
具體實施例方式為了便于本領域技術人員的理解,下面結合附圖對本發(fā)明作進ー步的描述。一種觸屏手機紅外接近傳感器的檢測算法,如附圖I所示,基于紅外接近感應技術,所述檢測算法程序于手機通話功能開啟后即啟動,于通話功能切斷后即結束,該檢測算法步驟如下
步驟1,軟件初始化接近值a,將紅外接近傳感器的ADC滿量程值賦予a,同時設置接近閥值f I為ADC滿量程值,遠離閥值f2為O ;
步驟2,讀取紅外接近傳感器輸出的ADC即時值,并求取平均值,將該平均值賦予即時均值b ;
步驟3,判斷若b < a+c且b < d,則執(zhí)行步驟4,否則執(zhí)行步驟6,c為接近趨勢值,d為最大接近有效值,c和d均為系統(tǒng)設定值;
步驟4,對a重新賦值,使a=b,調整系統(tǒng)的接近閥值fl=a+x,通過I2C操作寄存器寫入接近閥值fl,X為系統(tǒng)設定的接近補償值,且c ^ X < 2c ;
步驟5,讀取ADC即時值,判斷ADC即時值是否均大于接近閥值f I,若是,進入步驟6,否則返回步驟2 ;
步驟6,上報接近事件,關閉屏幕,觸屏功能休眠,調整系統(tǒng)的遠離閥值f2=a+y,通過I2C操作寄存器寫入遠離閥值f2,y為系統(tǒng)設定的遠離補償值,且O < y < c ;
步驟7,讀取ADC即時值,判斷ADC即時值是否均小于步驟6設置的遠離閥值f2,若是,進入步驟8,否則重復步驟7;
步驟8,上報遠離事件,打開屏幕,喚醒觸屏功能,并轉入步驟2。所述接近趨勢值C、最大接近有效值d、接近補償值X和遠離補償值y均為定值,且可根據(jù)系統(tǒng)調整。物體在靠近手機的過程中,接近傳感器當前時刻所得到的值與前一個時刻所得到的值之差的參照值,稱作接近趨勢值C。物體靠近過程中,只有當前值與前一個值之差大于接近趨勢值C,表示有物體靠近,設置的接近閥值f l=a+x才能起作用,否則將進入步驟4,重新調整閥值。本發(fā)明中的最大接近有效值d的意義在于
I)剛撥通電話瞬間,接近傳感器所得到的值與最大接近有效值進行比較,如果該值比最大接近有效值大的話,則接近閥值fl=a+x不起作用,其作用在于防止用戶在剛開始拔打電話的時候,手或者物體容易靠近或遮擋接近傳感器,若屏幕此時熄掉,用戶會感覺ー撥打電話就黑屏,不便于操作。通過設置最大接近有效值則可解決此問題。在撥通電話瞬間,如果手或者物體在與接近傳感器的距離足夠小的情況下,此時接近閥值為滿量程值,不會熄掉屏幕,返回步驟2。2)通話過程中,如果物體足夠慢的靠近接近傳感器,沒有滿足接近趨勢,原有的接近閥值不起作用,無法熄掉屏幕。此時,只有當物體靠得足夠近,接近傳感器所得到的值大于最大接近有效值,已設的接近閥值fl=a+x才能起作用,才能熄掉屏幕,否則系統(tǒng)將重新調整閥值。接近補償值X、遠離補償值I這兩個參數(shù)影響接近閥值和遠離閥值,這兩個參數(shù)的設置既要保證有很好的抗干擾特性(油性皮膚、油污等),又要能很好的解決頭發(fā)接近問題。一般情況下,這兩個參數(shù)和接近趨勢的關系是y < c < X。X不能太大否則會造成頭發(fā)慢速接近傳感器時不能熄屏的現(xiàn)象。y不能太小,否則有可能導致接觸油性皮膚使接近傳感器對應的屏幕上方粘有油污后出現(xiàn)不能亮屏的現(xiàn)象,同時這個值也不能偏大,偏大時不利于解決頭發(fā)接近問題,這兩個參數(shù)要經(jīng)過大量測試得到。所述步驟2、步驟5和步驟7中讀取ADC即時值的次數(shù)均為至少連續(xù)兩次。在本實施例中,步驟2、步驟5和步驟7中讀取ADC即時值的次數(shù)均為三次。紅外接近感應是ー種非接觸式手勢接近滾軸技術,讓使用者無需實際觸摸,只要利用簡單的手勢便能操縱,就能使電子裝置快速感測到使用者的接近。本發(fā)明的檢測算法通過通話的過程中,以光電ニ極管接收到能量大小的實時變化趨勢作為接近檢測的依據(jù),實時檢測光電ニ極管接收到的值,根據(jù)變化趨勢作為判斷是否有接近或者遠離動作的依據(jù),從而控制手機的熄屏和亮屏。I2C 是 Inter-Integrated Circuit 的簡稱,是一種總線結構。I2C 作為 Inter-IC的互補,這種總線類型用于連接微控制器及其外圍設備,是微電子通信控制領域廣泛采用的ー種總線標準。I2C是ー種多向控制總線,也就是說多個芯片可以連接到同一總線結構下,同時每個芯片都可以作為實施數(shù)據(jù)傳輸?shù)目刂圃矗@種方式簡化了信號傳輸總線。ADC是Analog-to-Digital Converter的縮寫,指模/數(shù)轉換器或者模擬/數(shù)字轉換器。所述紅外接近傳感器的測量值達到最大極限值吋,該傳感器對應輸出的ADC值就叫ADC滿量程值。
本發(fā)明的算法采用通話實時校準接近、遠離閥值的方法,在通話的過程中不斷的調整接近、遠離閥值,只有當滿足一定的條件,設置的閥值才能起作用。同樣結構設計的手機,本算法能夠克服器件一致性,結構一致性和其他ー些外界干擾因素對接近檢測的影響,使算法系統(tǒng)針對同一物體作出的接近和遠離動作判斷能始終保持一致,該算法適用性廣且不需要對每臺手機設置獨有的接近閥值和遠離閥值。上述實施例中提到的內容并非是對本發(fā)明的限定,在不脫離本發(fā)明構思的前提 下,任何顯而易見的替換均在本發(fā)明的保護范圍之內。
權利要求
1.一種觸屏手機紅外接近傳感器的檢測算法,基于紅外接近感應技術,所述檢測算法程序隨手機通話功能開啟而啟動,于通話功能切斷后即結束,該檢測算法步驟如下 步驟I,初始化接近值a,賦予紅外接近傳感器的ADC滿量程值,同時設置接近閥值fl為ADC滿量程值,遠離閥值f2為O ; 步驟2,讀取紅外接近傳感器輸出的ADC即時值,并求取平均值得到即時均值b ; 步驟3,若b < a+c且b < d,則執(zhí)行步驟4,否則執(zhí)行步驟5,c為接近趨勢值,d為最大接近有效值,c和d均為系統(tǒng)設定值; 步驟4,對a重新賦值,使a=b,調整系統(tǒng)的接近閥值f l=a+x,通過I2C操作寄存器寫入接近閥值fl,X為系統(tǒng)設定的接近補償值,且c ^ X < 2c ; 步驟5,讀取ADC即時值,同時判斷ADC即時值是否均大于接近閥值f 1,若是,進入步驟6,否則返回步驟2 ; 步驟6,上報接近事件,關閉屏幕,觸屏功能休眠,調整系統(tǒng)的遠離閥值f2=a+y,通過I2C操作寄存器寫入遠離閥值f2,y為系統(tǒng)設定的遠離補償值,且O < y彡c ; 步驟7,讀取ADC即時值,同時判斷ADC即時值是否均小于步驟6設置的遠離閥值f2,若是,進入步驟8,否則重復步驟7 ; 步驟8,上報遠離事件,打開屏幕,喚醒觸屏功能,并轉入步驟2。
2.根據(jù)權利要求I所述的觸屏手機紅外接近傳感器的檢測算法,其特征在于所述接近趨勢值C、最大接近有效值d、接近補償值X和遠離補償值y均為定值,且根據(jù)系統(tǒng)調整。
3.根據(jù)權利要求2所述的觸屏手機紅外接近傳感器的檢測算法,其特征在于所述步驟2、步驟5和步驟7中讀取ADC即時值的次數(shù)均為至少連續(xù)兩次。
全文摘要
本發(fā)明提供了一種觸屏手機紅外接近傳感器的檢測算法,該算法的工作原理是在通話的過程中,實時檢測紅外接近傳感器接收到的能量大小值,以該變化趨勢作為判斷是否有接近或者遠離動作的依據(jù),并在通話中實時校準接近、遠離閥值,從而控制手機的熄屏和亮屏。所述算法能克服手機的器件一致性、結構一致性和其他外界干擾因素對手機通話時紅外接近檢測的影響,使算法系統(tǒng)針對同一物體作出的接近和遠離動作判斷能始終保持一致,能夠解決IRLED發(fā)射管老化以及用戶使用跌落引起間隙的微小變化而使其不能正常使用的問題;該算法適用性廣且不需要對每臺手機設置獨有的閥值。
文檔編號G01V8/10GK102665008SQ20121013995
公開日2012年9月12日 申請日期2012年5月8日 優(yōu)先權日2012年5月8日
發(fā)明者曾元清 申請人:廣東歐珀移動通信有限公司