本發(fā)明是有關(guān)于一種接近感測(proximity sensing)技術(shù),且特別是有關(guān)于一種接近傳感器及接近傳感器的檢測方法。
背景技術(shù):
隨著科技的進(jìn)步與其帶來的方便性,人們在生活或工作上漸漸無法脫離電子裝置(例如,手機(jī)、平板、個人電腦等)。現(xiàn)有的電子裝置大多會具備多種傳感器(例如,接近傳感器、加速度傳感器、壓力傳感器等),以輔助電子裝置上的多種功能(例如,屏幕開關(guān)、導(dǎo)航等)或提供人們多種感測信息(例如,溫度、壓力等)。
接近傳感器是無須實(shí)體接觸而可檢測物體是否靠近的一種傳感器,其可通過感測芯片對微處理器發(fā)送反饋信號來告知物體處于靠近狀態(tài)或遠(yuǎn)離狀態(tài)。然而,在現(xiàn)實(shí)生活應(yīng)用上,現(xiàn)有接近傳感器經(jīng)常會受到其他外在因素影響而導(dǎo)致誤判情況發(fā)生。
舉例而言,光學(xué)接近傳感器通常會另配置發(fā)射特定波長(例如,850納米(nm)、940nm等)光線的發(fā)光二極管(Light Emitting Diode,簡稱LED)或紅外線(Infrared Ray,簡稱IR)發(fā)射器,而光學(xué)接近傳感器便是通過檢測此光線反射于物體后的反射光線,以判斷物體是否靠近。然而,當(dāng)接近傳感器面對強(qiáng)光,或是快速突波射入光學(xué)接近傳感器時,經(jīng)常會導(dǎo)致感測芯片誤判為物體遠(yuǎn)離。圖1所示為太陽的光譜分析圖。圖1的縱軸為光強(qiáng)度,而橫軸是波長(單位為納米)。請參照圖1,在波長為850nm以及940nm處,太陽光譜分布并非為零。因此,在強(qiáng)烈的太陽光照射下,接近傳感器仍可能會感應(yīng)到波長為850nm或940nm的光,從而導(dǎo)致誤判為物體遠(yuǎn)離。而電子裝置在環(huán)境光影變化下所造成的光學(xué)突波,也可能會造成配置于電子裝置上的感測芯片或微處理器誤判。此外,現(xiàn)有抗強(qiáng)光演 算法均須實(shí)作于感測芯片或微處理器中,恐造成芯片面積增加。而且,針對固定波長光線(如850nm或940nm)的光學(xué)接近傳感器品質(zhì)要求較高,制作成本也較為高昂。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種接近傳感器及接近傳感器的檢測方法,以改善誤判情形。
本發(fā)明提供一種接近傳感器的檢測方法,此檢測方法包括下列步驟:(a)從接近感測單元獲得感測值;(b)比較感測值與預(yù)設(shè)值得到比較結(jié)果,根據(jù)所述比較結(jié)果計(jì)算狀態(tài)累計(jì)時間;以及(c)判斷狀態(tài)累計(jì)時間是否超過預(yù)設(shè)時間,以判斷物體的接近狀態(tài)。
在本發(fā)明的一實(shí)施例中,上述狀態(tài)累計(jì)時間包括物體靠近累計(jì)時間及物體遠(yuǎn)離累計(jì)時間,其中比較感測值與預(yù)設(shè)值得到比較結(jié)果,根據(jù)所述比較結(jié)果計(jì)算狀態(tài)累計(jì)時間的步驟包括:(b1)判斷感測值是否大于預(yù)設(shè)值;(b2)若感測值大于預(yù)設(shè)值,則累計(jì)物體靠近累計(jì)時間,并初始化物體遠(yuǎn)離累計(jì)時間;以及(b3)若感測值小于預(yù)設(shè)值,則累計(jì)物體遠(yuǎn)離累計(jì)時間,并初始化物體靠近累計(jì)時間。
在本發(fā)明的一實(shí)施例中,上述比較感測值與預(yù)設(shè)值得到比較結(jié)果,根據(jù)所述比較結(jié)果計(jì)算狀態(tài)累計(jì)時間的步驟包括:(b4)計(jì)算本次讀取感測值的時點(diǎn)與前次讀取感測值的時點(diǎn)相距的時間間隔;(b5)將時間間隔累計(jì)于物體靠近累計(jì)時間或物體遠(yuǎn)離累計(jì)時間。
在本發(fā)明的一實(shí)施例中,上述檢測方法還包括下列步驟:(b6)若從接近感測單元獲得感測值的讀取動作為首次執(zhí)行,則初始化時間間隔、狀態(tài)累計(jì)時間。
在本發(fā)明的一實(shí)施例中,上述檢測方法還包括下列步驟:(a1)若接收到接近感測單元反應(yīng)于物體的靠近所產(chǎn)生的中斷信號或相關(guān)于接近感測單元的應(yīng)用程序所觸發(fā)的觸發(fā)事件,則首次執(zhí)行從接近感測單元獲得感測值的讀取動作。
在本發(fā)明的一實(shí)施例中,上述判斷狀態(tài)累計(jì)時間是否超過預(yù)設(shè)時間的步驟包括:(c1)若物體靠近累計(jì)時間大于預(yù)設(shè)時間,則判斷 接近狀態(tài)為靠近;以及(c2)若物體遠(yuǎn)離累計(jì)時間大于預(yù)設(shè)時間,則判斷接近狀態(tài)為遠(yuǎn)離。
在本發(fā)明的一實(shí)施例中,上述判斷狀態(tài)累計(jì)時間是否超過預(yù)設(shè)時間的步驟包括:(c3)若狀態(tài)累計(jì)時間小于預(yù)設(shè)時間,則不更新接近狀態(tài),并再一次從接近感測單元取得更新后的感測值。
本發(fā)明提出一種接近傳感器,此接近傳感器包括接近感測單元以及控制單元。接近感測單元用以反應(yīng)于物體而產(chǎn)生感測值;控制單元耦接接近感測單元;控制單元從接近感測單元獲得感測值,比較感測值與預(yù)設(shè)值得到比較結(jié)果,根據(jù)該比較結(jié)果計(jì)算狀態(tài)累計(jì)時間,且判斷狀態(tài)累計(jì)時間是否超過一預(yù)設(shè)時間,以判斷物體的接近狀態(tài)。
在本發(fā)明的一實(shí)施例中,上述的控制單元判斷感測值是否大于預(yù)設(shè)值,若感測值大于預(yù)設(shè)值,則控制單元累計(jì)所述狀態(tài)累計(jì)時間中的物體靠近累計(jì)時間,并初始化所述狀態(tài)累計(jì)時間中的物體遠(yuǎn)離累計(jì)時間;且若感測值小于預(yù)設(shè)值,則控制單元累計(jì)所述物體遠(yuǎn)離累計(jì)時間,并初始化該物體靠近累計(jì)時間。
在本發(fā)明的一實(shí)施例中,上述的控制單元計(jì)算本次讀取感測值的時點(diǎn)與前次讀取感測值的時點(diǎn)相距的時間間隔,且將時間間隔累計(jì)于狀態(tài)累計(jì)時間。
在本發(fā)明的一實(shí)施例中,若控制單元判斷從接近感測單元獲得感測值的讀取動作為首次執(zhí)行,則初始化時間間隔、狀態(tài)累計(jì)時間。
在本發(fā)明的一實(shí)施例中,若控制單元接收到接近感測單元反應(yīng)于物體的靠近所產(chǎn)生的中斷信號或相關(guān)于接近感測單元的應(yīng)用程序所觸發(fā)的觸發(fā)事件,則首次執(zhí)行從接近感測單元獲得該感測值的讀取動作。
在本發(fā)明的一實(shí)施例中,若物體靠近累計(jì)時間大于預(yù)設(shè)時間,則控制單元判斷接近狀態(tài)為靠近,而若物體遠(yuǎn)離累計(jì)時間大于預(yù)設(shè)時間,則控制單元判斷接近狀態(tài)為遠(yuǎn)離。
在本發(fā)明的一實(shí)施例中,若狀態(tài)累計(jì)時間小于預(yù)設(shè)時間,則控制單元不更新接近狀態(tài),并再一次從接近感測單元取得更新后的感 測值。
在本發(fā)明的一實(shí)施例中,上述的接近感測單元包括接近感測元件以及模-數(shù)轉(zhuǎn)換器;接近感測元件用以反應(yīng)于物體而產(chǎn)生感測信號。模-數(shù)轉(zhuǎn)換器耦接至接近感測元件,且用以將感測信號轉(zhuǎn)換為感測值。
基于上述,本發(fā)明實(shí)施例所述接近傳感器及接近傳感器的檢測方法可以多次讀取感測值,并逐次累計(jì)所述狀態(tài)累計(jì)時間,從而判斷物體為靠近狀態(tài)或遠(yuǎn)離狀態(tài)?;诖?,便能有效提升判斷的準(zhǔn)確性。
為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖式作詳細(xì)說明如下。
附圖說明
圖1所示為太陽的光譜分析圖;
圖2所示為依照本發(fā)明實(shí)施例說明接近傳感器的電路方塊示意圖;
圖3所示為中斷引腳的信號圖范例;
圖4所示為依照本發(fā)明實(shí)施例說明接近傳感器的檢測方法的流程圖;
圖5所示為中斷模式的流程圖;
圖6所示為依照本發(fā)明一實(shí)施例說明在圖5所示步驟S530或圖7所示步驟S730中,物體靠近或遠(yuǎn)離的判定的流程示意圖;
圖7所示為應(yīng)用程序觸發(fā)模式的流程圖。
附圖標(biāo)記說明:
200:接近傳感器;
210:接近感測單元;
213:接近感測元件;
215:模-數(shù)轉(zhuǎn)換器;
230:控制單元;
301:手;
S410~S450、S510~S590、S610~S680、S710~S790:步驟。
具體實(shí)施方式
圖2所示為依照本發(fā)明實(shí)施例說明接近傳感器的電路方塊示意圖。在不同的應(yīng)用情境中,接近傳感器200可以內(nèi)建于智能電話、平板電腦、智能電視、物聯(lián)網(wǎng)的裝置或是其他電子裝置。請參照圖2,接近傳感器200包括接近感測單元210及控制單元230。
依照不同的設(shè)計(jì)需求,接近感測單元210可能包括接近感測元件213以及模-數(shù)轉(zhuǎn)換器(analog-to-digital converter,簡稱為:ADC)215。接近感測元件213例如是電容式、光學(xué)式、磁感式等任何類型感測技術(shù)的感測元件,且用以反應(yīng)于物體(例如,手部、頭部等)而產(chǎn)生感測信號。例如但不限于,接近感測元件213可以是光學(xué)式接近感測元件。接近感測元件213可以發(fā)射紅外線光(或其他波長光)至接近傳感器200的外部。當(dāng)物體(例如頭部)靠近接近感測元件213時,接近感測元件213可以接收到經(jīng)物體反射的反射紅外線光,從而感應(yīng)反射紅外線光并產(chǎn)生感測信號。而模-數(shù)轉(zhuǎn)換器215耦接至接近感測元件213,且用以將接近感測元件213的感測信號轉(zhuǎn)換為感測值。例如,模-數(shù)轉(zhuǎn)換器215可以取樣率為180赫茲(Hz)對接近感測元件213所感測的感測信號取樣,并將取樣值量化以轉(zhuǎn)換感測值。
控制單元230耦接接近感測單元210,以從接近感測單元210獲得感測值。控制單元230可能包括中央處理單元(或中央處理器)、微處理器、微控制器、專用集成電路(Application Specific Integrated Circuit,簡稱為:ASIC)、芯片組和/或其他運(yùn)算電路。依照不同的設(shè)計(jì)需求,固件和/或軟件可以運(yùn)行于控制單元230。
依照不同的設(shè)計(jì)需求,接近感測單元210及控制單元230可能有相互耦接的中斷引腳(pin),控制單元230可依據(jù)中斷引腳的信號而觸發(fā)中斷事件。舉例而言,圖3所示為中斷引腳的信號圖范例。請參照圖3,假設(shè)手301靠近接近感測單元210(如左方手301所示接近下方),則中斷引腳的信號為高電平。反之,若手301遠(yuǎn)離接近 感測單元210(如中間手301所示相較于左方手301遠(yuǎn)離下方),則中斷引腳的信號為低電平。在一些實(shí)施例中,當(dāng)中斷引腳的信號從高電平變成低電平,或是低電平變成高電平時,控制單元230便可觸發(fā)中斷事件。
依照不同的設(shè)計(jì)需求,本發(fā)明的接近傳感器200可能內(nèi)建于諸如手機(jī)、平板、筆記本電腦等電子裝置,以將物體的靠近狀態(tài)或遠(yuǎn)離狀態(tài)反饋至電子裝置的處理單元(例如,CPU、芯片組等),進(jìn)而提供多種接近感測應(yīng)用(例如,開關(guān)屏幕、省電功能等)。例如,當(dāng)內(nèi)建接近傳感器200的手機(jī)來電時,接近傳感器200可以反饋物體的靠近狀態(tài)或遠(yuǎn)離狀態(tài)給手機(jī)的處理單元(未示出),以決定是否將手機(jī)的屏幕(未示出)關(guān)閉。
在另一些實(shí)施例中,接近傳感器200可能包括暫存器、緩沖存儲器或存儲器等儲存單元(未示出),且用于儲存或設(shè)定預(yù)設(shè)值、狀態(tài)累計(jì)時間、時間間隔dT和/或預(yù)設(shè)時間。舉例來說,所述儲存單元(未示出)可記錄模-數(shù)轉(zhuǎn)換器215的感測值,以供控制單元230讀取。依照不同的設(shè)計(jì)需求,所述儲存單元(未示出)可以是動態(tài)隨機(jī)存取存儲器(dynamic random access memory,簡稱為:DRAM)、靜態(tài)隨機(jī)存取存儲器(staic random access memory,簡稱為:SRAM)、易失性存儲器(volatile memory,簡稱為:VM)或非易失性存儲器(non-volatile memory,簡稱為:NVM)。
圖4所示為依照本發(fā)明實(shí)施例說明接近傳感器的檢測方法的流程圖。請參照圖4,本實(shí)施例的檢測方法適用于圖2的接近傳感器200。下文中,將搭配接近傳感器200中的各項(xiàng)元件或模塊說明本發(fā)明實(shí)施例所述的檢測方法。本方法的各個流程可依照實(shí)施情形而隨之調(diào)整,且并不僅限于此。
在步驟S410中,控制單元230從接近感測單元210獲得感測值。具體而言,接近感測單元210產(chǎn)生感測值的詳細(xì)說明請參照前述圖2中接近感測單元210的說明,此處不再贅述。控制單元230可通過輪詢(polling)方式讀取來自模-數(shù)轉(zhuǎn)換器215或存儲單元(未示出)的感測值??刂茊卧?30可定時(例如,每秒10次、20次) 或不定時(例如,第一周期為0.02秒、第二周期為0.03秒等)從接近感測單元210獲得感測值,本發(fā)明實(shí)施例不加以限制。
需說明的是,在一實(shí)施例中,在步驟S410之前,若控制單元230接收到接近感測單元210反應(yīng)于物體的靠近所產(chǎn)生的中斷信號或相關(guān)于接近感測單元210的應(yīng)用程序所觸發(fā)的觸發(fā)事件,則首次執(zhí)行“從接近感測單元210獲得感測值”的讀取動作。中斷信號的產(chǎn)生方式可參照前述中斷引腳的說明,此處不再贅述。而應(yīng)用程序例如是電話程序,且觸發(fā)事件例如是來電?;蛘?,應(yīng)用程序例如是屏幕亮度調(diào)整程序,而觸發(fā)事件是屏幕開啟。需說明的是,依據(jù)應(yīng)用本發(fā)明實(shí)施例者的設(shè)計(jì)需求,可調(diào)整應(yīng)用程序的種類及對應(yīng)的觸發(fā)事件,本發(fā)明實(shí)施例不以此為限。
在步驟S430中,控制單元230比較接近感測單元210的感測值與預(yù)設(shè)值而得到比較結(jié)果,并根據(jù)比較結(jié)果計(jì)算狀態(tài)累計(jì)時間。舉例來說(但不限于此),所述狀態(tài)累計(jì)時間可能包括物體靠近累計(jì)時間dT_A和/或物體遠(yuǎn)離累計(jì)時間dT_B。在本實(shí)施例中,控制單元230判斷感測值是否大于預(yù)設(shè)值。若感測值大于預(yù)設(shè)值,則控制單元230累計(jì)該狀態(tài)累計(jì)時間中的物體靠近累計(jì)時間dT_A。而若感測值小于預(yù)設(shè)值,則控制單元230累計(jì)該狀態(tài)累計(jì)時間中的物體遠(yuǎn)離累計(jì)時間dT_B。
在一實(shí)施例中,控制單元230計(jì)算本次讀取感測值的時點(diǎn)與前次讀取感測值的時點(diǎn)相距的時間間隔dT,且將時間間隔dT累計(jì)于物體靠近累計(jì)時間dT_A或物體遠(yuǎn)離累計(jì)時間dT_B。具體而言,若控制單元230定時(例如,每0.01秒、0.03秒等)執(zhí)行讀取動作,則控制單元230可將定時讀取的周期作為時間間隔dT?;蛘撸刂茊卧?30可記錄每次讀取動作的時點(diǎn),并將本次讀取動作的時點(diǎn)與前次讀取動作的時點(diǎn)相減,從而取得時間間隔dT。若控制單元230本次所取得的感測值大于預(yù)設(shè)值,則將物體靠近累計(jì)時間dT_A與所述時間間隔dT相加,并將相加后的值更新至物體靠近累計(jì)時間dT_A。例如,預(yù)設(shè)值為100,而本次讀取的感測值為150,則控制單元230將原本的物體靠近累計(jì)時間dT_A(例如為0.05秒)加上 所述時間間隔dT(例如為0.01秒),從而將新的物體靠近累計(jì)時間dT_A更新為0.06秒。而若控制單元230本次所取得的感測值小于預(yù)設(shè)值,則將物體遠(yuǎn)離累計(jì)時間dT_B與時間間隔dT相加,并將相加后的值更新至物體遠(yuǎn)離累計(jì)時間dT_B。例如,預(yù)設(shè)值為80,而本次讀取的感測值為50,則控制單元230將物體遠(yuǎn)離累計(jì)時間dT_B(例如為0.03秒)加上所述時間間隔dT(例如為0.02秒),從而將物體遠(yuǎn)離累計(jì)時間dT_B更新為0.05秒。
在一實(shí)施例中,若控制單元230累計(jì)了物體靠近累計(jì)時間dT_A,則初始化物體遠(yuǎn)離累計(jì)時間dT_B。而若控制單元230累計(jì)了物體遠(yuǎn)離累計(jì)時間dT_B,則初始化物體靠近累計(jì)時間dT_A。換言之,若感測值大于預(yù)設(shè)值,則控制單元230初始化物體遠(yuǎn)離累計(jì)時間dT_B。而若感測值小于預(yù)設(shè)值,則控制單元230初始化物體靠近累計(jì)時間dT_A。針對初始化的方式,控制單元230可將物體靠近累計(jì)時間dT_A或物體遠(yuǎn)離累計(jì)時間dT_B設(shè)定為初始時間(例如,0秒、0.03秒等)。
需說明的是,在更新物體靠近累計(jì)時間dT_A及物體遠(yuǎn)離累計(jì)時間dT_B之前,在一實(shí)施例中,若控制單元230判斷從接近感測單元210獲得感測值的讀取動作為首次執(zhí)行,則初始化所述時間間隔dT、狀態(tài)累計(jì)時間。舉例來說(但不限于此),控制單元230可以初始化所述物體靠近累計(jì)時間dT_A和/或所述物體遠(yuǎn)離累計(jì)時間dT_B。具體而言,控制單元230依據(jù)中斷信號或觸發(fā)事件而判斷讀取動作為首次執(zhí)行后,控制單元230可將所述時間間隔dT、所述物體靠近累計(jì)時間dT_A及所述物體遠(yuǎn)離累計(jì)時間dT_B,分別設(shè)定為初始時間間隔(例如,0秒、0.02秒等)、初始物體靠近累計(jì)時間(例如,0秒、0.03秒等)及初始物體遠(yuǎn)離累計(jì)時間(例如,0秒、0.01秒等)。
此外,所述預(yù)設(shè)值可能與檢測物體的額定距離有關(guān),以及與覆蓋于接近感測單元210的覆蓋層的材質(zhì)(例如玻璃、塑膠等)等有關(guān),且與覆蓋層的厚度、顏色或其他物理參數(shù)有關(guān)。應(yīng)用本發(fā)明實(shí)施例者可依據(jù)不同的設(shè)計(jì)需求來變更所述預(yù)設(shè)值。
經(jīng)過更新狀態(tài)累計(jì)時間(例如物體靠近累計(jì)時間dT_A及/或物體遠(yuǎn)離累計(jì)時間dT_B)后,在步驟S450中,控制單元230判斷狀態(tài)累計(jì)時間(例如物體靠近累計(jì)時間dT_A和/或物體遠(yuǎn)離累計(jì)時間dT_B)是否超過預(yù)設(shè)時間,以判斷物體的接近狀態(tài)。
在一實(shí)施例中,若所述物體靠近累計(jì)時間dT_A大于預(yù)設(shè)時間,則控制單元230判斷接近狀態(tài)為靠近。而若所述物體遠(yuǎn)離累計(jì)時間dT_B大于預(yù)設(shè)時間,則控制單元230判斷接近狀態(tài)為遠(yuǎn)離。舉例而言,假設(shè)預(yù)設(shè)時間為0.02秒,而更新后的物體靠近累計(jì)時間dT_A為0.021秒,則控制單元230便可判斷接近狀態(tài)為靠近。假設(shè)預(yù)設(shè)時間為0.03秒,而更新后的物體遠(yuǎn)離累計(jì)時間dT_B為0.032秒,則控制單元230便可判斷接近狀態(tài)為遠(yuǎn)離。
預(yù)設(shè)時間可能介于遲滯下限時間(例如,3次或4次等模-數(shù)轉(zhuǎn)換器215的轉(zhuǎn)換周期(例如,將感測信號轉(zhuǎn)換成感測值的周期))至遲滯上限時間(例如,0.1秒、0.2秒等)之間。
依據(jù)不同的設(shè)計(jì)需求,控制單元230可進(jìn)一步將判斷結(jié)果(物體為靠近狀態(tài)或遠(yuǎn)離狀態(tài))反饋至外接的電子裝置(例如,手機(jī)、平板等,未示出),或是反饋至耦接于控制單元230的其他處理單元(未示出),進(jìn)而產(chǎn)生/觸發(fā)對應(yīng)的功能(例如,開啟屏幕、關(guān)閉屏幕或掛斷電話等)。
若所述狀態(tài)累計(jì)時間(例如物體靠近累計(jì)時間dT_A與/或所述物體遠(yuǎn)離累計(jì)時間dT_B)小于預(yù)設(shè)時間,則控制單元230不更新物體的接近狀態(tài),并再一次從接近感測單元210取得更新后的感測值,并且回到步驟430。舉例來說,若物體靠近累計(jì)時間dT_A及物體遠(yuǎn)離累計(jì)時間dT_B均小于預(yù)設(shè)時間,則控制單元230會重復(fù)進(jìn)行步驟410,并在取得感測值后,繼續(xù)進(jìn)行步驟430及步驟450,直到控制單元230判斷出物體的接近狀態(tài)為靠近狀態(tài)或遠(yuǎn)離狀態(tài)(即,物體靠近累計(jì)時間dT_A大于預(yù)設(shè)時間或物體遠(yuǎn)離累計(jì)時間dT_B大于預(yù)設(shè)時間)。需說明的是,控制單元230可先等待一段時間(例如,與模-數(shù)轉(zhuǎn)換器215的轉(zhuǎn)換周期相同或0.02秒、0.01秒等),再進(jìn)行下次讀取動作。
基于此,本發(fā)明實(shí)施例通過判斷物體靠近累計(jì)時間dT_A及物體遠(yuǎn)離累計(jì)時間dT_B來確認(rèn)物體的接近狀態(tài)(例如,靠近狀態(tài)或遠(yuǎn)離狀態(tài)),相較于僅通過中斷信號判斷物體是否靠近的技術(shù),還能避免強(qiáng)光或光學(xué)突波等外在因素影響所造成的誤判情形。為了幫助理解本發(fā)明實(shí)施例的整體操作流程,以下另舉兩個應(yīng)用情境范例進(jìn)行說明。
在第一個應(yīng)用情境中,圖5所示為中斷模式的流程圖。請參照圖5,在步驟S510中,控制單元230通過中斷引腳而接收到來自接近感測單元210的中斷信號,并開啟一個輪詢?nèi)蝿?wù)(步驟S520)。接著,在步驟S530中,控制單元230讀取接近感測單元210的感測值并進(jìn)行物體靠近或遠(yuǎn)離的判定操作。
圖6所示為依照本發(fā)明一實(shí)施例說明在圖5所示步驟S530或圖7所示步驟S730中,物體靠近或遠(yuǎn)離的判定的流程示意圖。請參照圖5及圖6,在步驟S610中,控制單元230判斷是否為首次執(zhí)行圖5所示步驟S530(或圖7所示步驟S730)的判定操作。若控制單元230為首次執(zhí)行判定操作,則記錄首次讀取時點(diǎn),并將時間間隔dT、物體靠近累計(jì)時間dT_A、物體遠(yuǎn)離累計(jì)時間dT_B設(shè)為零(步驟S620)。在完成步驟S620后,控制單元230可以進(jìn)行步驟S630,以便對接近感測單元210進(jìn)行讀取動作來取得感測值,且判斷感測值是否大于預(yù)設(shè)值。在其他一些實(shí)施例中,在判定圖5所示步驟S530(或圖7所示步驟S730)為首次執(zhí)行的情況下,控制單元230也可在對接近感測單元210進(jìn)行讀取動作后,再將時間間隔dT、物體靠近累計(jì)時間dT_A、物體遠(yuǎn)離累計(jì)時間dT_B設(shè)為零。
若控制單元230并非為首次執(zhí)行判定(例如從圖5所示步驟S570回到步驟S530,或圖7所示步驟S770回到步驟S730),則記錄本次讀取時點(diǎn),并計(jì)算本次讀取時點(diǎn)與前次讀取時點(diǎn)的時間間隔dT(步驟S625)??刂茊卧?30對接近感測單元210進(jìn)行讀取動作,以取得感測值,且判斷感測值是否大于預(yù)設(shè)值(步驟S630)。在其他一些實(shí)施例中,在判定圖5所示步驟S530(或圖7所示步驟S730)非為首次執(zhí)行的情況下,控制單元230也可在對接近感測單元210 進(jìn)行讀取動作后,再計(jì)算時間間隔dT。
若步驟S630的判斷結(jié)果為感測值大于預(yù)設(shè)值,則控制單元230將時間間隔dT累加于物體靠近累計(jì)時間dT_A,而將物體遠(yuǎn)離累計(jì)時間dT_B設(shè)為零,以更新物體靠近累計(jì)時間dT_A及物體遠(yuǎn)離累計(jì)時間dT_B(步驟S640)。而若步驟S630的判斷結(jié)果為感測值小于預(yù)設(shè)值,則控制單元230將時間間隔dT累加于物體遠(yuǎn)離累計(jì)時間dT_B,而物體靠近累計(jì)時間dT_A設(shè)為零,以更新物體靠近累計(jì)時間dT_A及物體遠(yuǎn)離累計(jì)時間dT_B(步驟S650)。
接著,在步驟S660中,控制單元230判斷物體靠近累計(jì)時間dT_A是否大于預(yù)設(shè)時間或物體遠(yuǎn)離累計(jì)時間dT_B是否大于預(yù)設(shè)時間。若物體靠近累計(jì)時間dT_A大于預(yù)設(shè)時間,則控制單元230判斷物體為靠近狀態(tài)(步驟S670)。若物體遠(yuǎn)離累計(jì)時間dT_B大于預(yù)設(shè)時間,則控制單元230判斷物體為遠(yuǎn)離狀態(tài)(步驟S680)。另一方面,若物體靠近累計(jì)時間dT_A與物體遠(yuǎn)離累計(jì)時間dT_B均小于預(yù)設(shè)時間,則控制單元230不更新接近狀態(tài)(步驟S690)。
對應(yīng)至圖5,若步驟S530(例如圖6所示流程)的判斷結(jié)果表示物體為靠近狀態(tài),則控制單元230可進(jìn)一步向系統(tǒng)反饋物體靠近事件(步驟S550)。若步驟S530(例如圖6所示流程)的判斷結(jié)果表示物體為遠(yuǎn)離狀態(tài),則控制單元230可進(jìn)一步向系統(tǒng)反饋物體遠(yuǎn)離事件(步驟S560)。在完成步驟S550或步驟S560后,控制單元230結(jié)束輪詢?nèi)蝿?wù)(步驟S590)。另一方面,若步驟S530(例如圖6所示流程)的判斷結(jié)果表示物體的接近狀態(tài)未更新,則控制單元230等待一段時間(例如,0.01秒、0.005秒等)(步驟S570)再返回步驟S530進(jìn)行下一次讀取動作及判定動作。
在第二個應(yīng)用情境中,圖7所示為應(yīng)用程序觸發(fā)模式的流程圖。請參照圖7,圖7所示實(shí)施例可以參照圖5、圖6的相關(guān)說明而類推之。例如,圖7的步驟S720、S730、S750、S760、S770、S790可分別參照圖5的步驟S520、S530、S550、S560、S570、S590的相關(guān)說明而類推,故不再贅述。圖7的步驟S730可參照圖6的相關(guān)說明。圖7與圖5不同的地方在于,圖7中步驟S710是控制單元230 接收到應(yīng)用程序的觸發(fā)事件(例如,電話接通、屏幕開啟等)。此外,在步驟S770中,控制單元230還進(jìn)一步判斷是否接收到應(yīng)用程序的另一觸發(fā)事件(例如,通話結(jié)束、關(guān)機(jī)等)。若控制單元230未接收到此另一觸發(fā)事件,控制單元230才會從步驟S770返回步驟S730。反之,若控制單元230接收到此另一觸發(fā)事件,則控制單元230會從步驟S770進(jìn)入步驟S790以結(jié)束輪詢?nèi)蝿?wù)。
需說明的是,前述第一及第二應(yīng)用情景僅作為范例來說明,然不以局限本發(fā)明實(shí)施例。
值得注意的是,在不同的應(yīng)用情景中,圖4、圖5、圖6和/或圖7的相關(guān)操作可以利用一般的編程語言(programming languages,例如C或C++)、硬件描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實(shí)現(xiàn)為軟件、固件或硬件??蓤?zhí)行所述相關(guān)操作的軟件(或固件)可以被布置為任何已知的計(jì)算機(jī)可存取媒體(computer-accessible medias),例如磁帶(magnetic tapes)、半導(dǎo)體(semiconductors)存儲器、磁盤(magnetic disks)或光盤(compact disks,例如CD-ROM或DVD-ROM),或者可通過互聯(lián)網(wǎng)(Internet)、有線通信(wired communication)、無線通信(wireless communication)或其它通信介質(zhì)傳送所述軟件(或固件)。所述軟件(或固件)可以被存放在計(jì)算機(jī)的可存取媒體中,以便于由計(jì)算機(jī)的處理器來存取/執(zhí)行所述軟件(或固件)的編程碼(programming codes)。另外,在其他應(yīng)用情境中,本發(fā)明的裝置和方法可以通過硬件和軟件的組合來實(shí)現(xiàn)。
綜上所述,本發(fā)明實(shí)施例提供的接近傳感器及接近傳感器的檢測方法不直接通過中斷引腳來判斷物體的接近狀態(tài)(例如,靠近狀態(tài)、遠(yuǎn)離狀態(tài)),經(jīng)由一次或更多次的輪詢方式來累計(jì)所述狀態(tài)累計(jì)時間,并據(jù)此判斷物體為靠近狀態(tài)或遠(yuǎn)離狀態(tài)?;诖?,本發(fā)明實(shí)施例便能有效濾除模-數(shù)轉(zhuǎn)換器所量測到的光學(xué)突波,提供更加準(zhǔn)確的抗強(qiáng)光演算法,進(jìn)而降低接近感測元件的制作成本(例如,可運(yùn)用低階的感測頭,增加感測頭的可用率,以使鍍膜成本下降等)及芯片面積。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。