Android手機(jī)中P-Sensor驅(qū)動(dòng)開發(fā)調(diào)試及功能介紹
近期由于剛換了新工作,好久沒有更新文章了,現(xiàn)在終于能抽出時(shí)間寫點(diǎn)東西了!先拿我們手機(jī)上都有的psensor開刀吧。
Psensor功能Proximity Sensor就是接近傳感器,也就是我們常說(shuō)的PSensor,用于測(cè)量物體靠近或遠(yuǎn)離手機(jī),一般放置在手機(jī)屏幕的最上部位置。當(dāng)物體接近PSensor時(shí),PSensor的值會(huì)越來(lái)越大,當(dāng)大于一定值(接近的門限值)時(shí),就會(huì)上報(bào)接近事件給android;當(dāng)物體再離開PSensor時(shí),PSensor的值會(huì)越來(lái)越小,當(dāng)小于一定值時(shí)(遠(yuǎn)離的門限值)時(shí),就會(huì)上報(bào)遠(yuǎn)離事件給android。最后android根據(jù)上報(bào)的事件進(jìn)行對(duì)應(yīng)的處理(亮滅屏幕)。
Psensor主要應(yīng)用場(chǎng)景1. 手機(jī)鎖屏:手機(jī)在鎖屏狀態(tài)下,為了防止在口袋中誤觸,被遮擋的情況下操作手機(jī),會(huì)提示誤操作界面。
2. 打電話:打電話時(shí),如果手機(jī)靠近耳朵,PSensor檢測(cè)到接近手機(jī)狀態(tài),關(guān)閉屏幕;當(dāng)用戶從耳朵旁拿開手機(jī),Psensor則檢測(cè)到遠(yuǎn)離手機(jī)狀態(tài),點(diǎn)亮屏幕。面上主流的智能手機(jī)均包含了近距離傳感器,防止用戶近耳接聽時(shí)觸碰到屏幕引發(fā)誤操作和降低功耗(LCD功耗還是很高的)。
......
當(dāng)android手機(jī)進(jìn)入以上場(chǎng)景時(shí),會(huì)Enable PSensor,然后控制手機(jī)的亮滅屏。
PSensor校準(zhǔn)1) 為什么要校準(zhǔn)
Proximity Sensor工作時(shí),即使沒有任何物體遮擋時(shí),Proximity Sensor檢測(cè)到的raw data(原始數(shù)據(jù))也會(huì)大于0,這個(gè)值我們稱之為crosstalk(底噪值)。所以,Proximity Sensor要正常工作,設(shè)置接近、遠(yuǎn)離觸發(fā)門限時(shí)是需要考慮背景噪聲,以消除背景噪聲干擾,這個(gè)過(guò)程就叫做校準(zhǔn)。
2) 如何校準(zhǔn)
校準(zhǔn)的實(shí)質(zhì)就是獲取PSensor的底噪值。
靜態(tài)校準(zhǔn):在生產(chǎn)時(shí)進(jìn)行獲取底噪值并存入手機(jī)的NV分區(qū)(SMT校準(zhǔn)),使用psensor時(shí),讀取NV分區(qū)中的值,進(jìn)行設(shè)置接近和遠(yuǎn)離的閾值。就是一旦出廠校準(zhǔn)完成,高低門限值ps_threshold_low和ps_threshold_high就是固定的。
優(yōu)點(diǎn):邏輯相對(duì)簡(jiǎn)單 。
缺點(diǎn):proximity sensor的底噪是變化的,會(huì)隨著手機(jī)使用過(guò)程變化,如用戶手機(jī)跌落導(dǎo)致proximity sensor結(jié)構(gòu)密封性下降,光孔透光性變化,貼鋼化膜等等。所以,使用靜態(tài)校準(zhǔn),存在會(huì)導(dǎo)致proximity sensor接近、遠(yuǎn)離觸發(fā)靈敏度降低,甚至失效的可能(一打電話就黑屏)。
動(dòng)態(tài)校準(zhǔn):指proximity sensor工作時(shí)的高低門限值ps_threshold_low和ps_threshold_high是動(dòng)態(tài)的、實(shí)時(shí)的,每次打開proximity sensor會(huì)實(shí)時(shí)讀取底噪,并基于底噪設(shè)置高低門限值ps_threshold_low和ps_threshold_high。
優(yōu)點(diǎn):可以規(guī)避固定門限校準(zhǔn)的缺點(diǎn)。
缺點(diǎn):邏輯相對(duì)固定門限校準(zhǔn)復(fù)雜些,早期調(diào)試工作量大些。打開proximity sensor時(shí),如果有物體遮擋proximity sensor光孔,這時(shí)獲取的底噪接近最大值,這樣會(huì)導(dǎo)致proximity sensor功能失效,不會(huì)觸發(fā)接近、遠(yuǎn)離事件。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。