999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

光距離傳感器驅動研究和數據優化算法

2016-12-31 00:00:00段志杰
科技創新與應用 2016年25期

摘 要:文章對Android平臺下光距離傳感器驅動層作研究和設計,同時針對目前光距離傳感器存在的問題,提出一種數據優化算法,旨在提高數據的可靠性,改善目前存在的問題。通過實驗數據對比數據優化前后光距離傳感器上報到上層的數據,同時結合用戶體驗得出結論。

關鍵詞:光距離傳感器;驅動層;數據優化算法;可靠性

光距離傳感器是智能手機最基本的傳感器之一,其中距離傳感器主要應用于接打電話滅屏和智能防誤觸場景,光線傳感器主要是為了實現自動亮度調節功能,使得lcd背光亮度能夠根據周圍環境光線強度自動調節[1]。正是由于這些基本功能平時用戶用的最多,因此如何最大限度地保證用戶體驗成為目前光距離傳感器驅動不斷優化的目的,而這其中最關鍵的問題就是如何提高傳感器數據的可靠性。手機出廠一致性、觸摸屏表面污漬、手機貼膜、外界強光等因素都會影響距離傳感器工作,現實生活中我們經常遇到由于手機膜貼歪了或距離傳感器上方的觸摸屏有污漬就導致距離傳感器工作不正常。光線傳感器對光的感知靈敏度非常高,有時手機可能只是轉動一個角度就使得光感值變化,導致光感值跳動非常快,甚至會導致背光亮度不穩定。為解決這些問題,文章擬通過對光距離二合一傳感器驅動的研究設計,提出在驅動層的數據優化算法,提高數據的可靠性。

1 光距離傳感器工作原理

光距離傳感器依照光學原理,通過接收和發送相關光線,實現對周邊環境光線強度的檢測和物體靠近和遠離狀態的檢測。光距離傳感器是光線傳感器和距離傳感器二合一傳感器,一般采用兩個光電二極管采集光的數據,第一個光電二極管用來接收可見光和紅外光,第二個光電二極管用來接收紅外光[2],然后通過模數器轉換為數字信號。光距離傳感器接收到數字信號后,會根據芯片寄存器設置好的上下限閾值來判定是否觸發中斷,同時更新中斷狀態寄存器的值。軟件收到中斷信號后,會讀取中斷狀態寄存器的值,判斷是光傳感器觸發的中斷還是距離傳感器觸發的中斷。光線距離傳感器一般都裝在手機上方位置,選擇埋在觸摸屏下面。

2 光距離傳感器驅動層研究設計

傳感器驅動模塊的設計主要是完成驅動層和硬件抽象層兩部分開發設計。本文以光距離傳感器為例,基于I2C總線完成對驅動層的設計。一般基于I2C總線驅動的工作必須實現以下兩個結構體的回調函數。通過實現結構體i2c_driver的回調函數來實現驅動的加載與卸載、睡眠與喚醒;通過實現結構體file_operations回調函數來實現對設備的打開與關閉、校準與補償等。根據傳感器的工作目的,還必須實現數據的采集與上報。

2.1 傳感器驅動工作流程

手機開機啟動,設備與驅動開始匹配,然后加載驅動進內核,加載過程通過probe()函數完成內存申請分配,設備樹解析,GPIO引腳配置,設備注冊等工作;應用打開傳感器,系統調用接口最終通過虛擬文件系統調用驅動層file_operations結構體回調函數來實現對設備的打開,然后傳感器開始采集數據并上報到內核緩沖區等待硬件抽象層來取。

2.2 數據采集與上報

傳感器驅動采集數據主要有中斷機制采集數據和定時輪詢機制采集數據兩者方式。文章以ltr559光線距離二合一傳感器為例,研究設計距離傳感器使用中斷機制采集數據,光線傳感器使用定時輪詢機制采集數據。

(1)中斷機制采集數據:距離傳感器內部有上下限閥值寄存器,當紅外二極管接收到的繞射值大于上限閥值或者小于下限閥值則內部觸發中斷,通過之前申請的GPIO中斷腳傳給控制芯片,驅使軟件去讀狀態寄存器的值,以此判斷是距離傳感器還是光線傳感器發生中斷,然后調用驅動對應的中斷處理函數采集數據并且上報。Linux中斷分為頂半步和底半步兩部分,頂半步只完成比較緊急的部分,大部分工作都是由底半步完成[3]。通過request_irq()函數在頂半步申請和設置中斷,然后底半步調度工作隊列,最后由綁定的工作函數采集數據和上報數據。

(2)定時輪詢采集數據:在probe()函數中初始化一個高精度定時器,且設置了到期時間和到期執行函數。內核定時器并不是周期運行,它在超時后自動銷毀。因此,為了實現周期輪詢,設計在定時器執行函數返回前再次激活定時器,在內核定時器執行函數里調用工作隊列,最后在工作隊列處理函數中實現對硬件的訪問。設定的定時時間到期后,執行對應工作綁定的執行函數,讀取傳感器寄存器的數據,然后上報到input子系統。

2.3 Input子系統數據上報

input子系統分三層,最上一層是事件處理層,中間是核心層,底層是驅動層。驅動層把事件上報到核心層,然后核心層對事件進行分發,傳到事件處理層,最后把事件放到事件緩沖區中,等待用戶進程來取。

3 驅動層數據優化算法

針對傳感器數據可靠性的問題,目前一般的方法是在驅動層添加校準模塊來優化。這種方法只是解決了出廠一致性的問題,對于一些實時的環境因素沒有考慮在內。基于這種情況,本文在校準的基礎上,添加一個快速校準算法,保證每次傳感器開啟的時候都會校準一次。同時還在驅動層添加數據優化算法,如防抖動算法,只上報那些有用的數據。在一定程度省電的同時也保證數據不會因為傳感器過于靈敏或者環境變化而導致數據跳動太快。為提高傳感器數據的可靠性,研究一種改進型設計方案,具體數據流程框圖如圖1所示。

(1)快速校準算法:在采集數據之前進行校準,并在此基礎上加一個快速校準算法,保證每次距離傳感器工作時,都針對當時傳感器周邊環境狀況重新進行一次校準,得到與當時環境相符合的上下限閥值,即實時上下限閥值。此算法的核心思想就是通過對比出廠預設、校準后和快速校準后的上下限閥值,選取一個更加符合實時情況的值來設定觸發中斷的范圍。由于A/D轉換經常會出現數據不穩定的情況,因此有必要采用常用的濾波算法來對數據進行過濾。由于快速校準要求時間短,所以選取直接求平均值的方法得到距離傳感器的繞射值。具體校準和快速校準算法流程如圖2所示。

(2)防抖動算法:光線傳感器對光線非常敏感,手機稍微一個小角度的轉動也會引起光感值的變化,這樣帶來兩個問題。一是上報的光感值變化非常快,造成數據跳動太快,背光亮度都來不及變化;二是上報的數據太多而且很多都沒有用,直接帶來一定程度上的功耗問題。針對這種情況,在采集傳感器數據之后對數據做優化處理是很有必要的。具體優化算法如圖3所示。

4 實驗對比數據分析

(1)通過命令getevent查看不同場景下距離傳感器上報的數據如表1所示。

表格說明:特殊場景是指距離傳感器上方觸摸屏有污漬、水滴、灰塵或者有貼膜遮擋的情況。由表1實驗測試結果可知,未加入快速校準算法之前,距離傳感器只能在常規場景下正常工作,而對于上述特殊場景一直報接近,工作不正常,直接導致接打電話一直滅屏的情況發生。添加快速校準算法之后,在常規和特殊場景下都能正常工作。

(2)通過命令getevent查看優化前后光線傳感器上報的數據如表2所示。

表格說明:由表2測試結果可知,未加防抖動算法之前光線傳感器在相同時間內上報的光感值非常多且變化不是很大,優化后只上報有效的值,上報值數量減少,在一定程度上減小了功耗。

(3)通過示波器測量優化前后數據變化如圖4、圖5所示。

對比兩者工作電流可以發現,未優化前電流波動大,上報數據所需電流大約是25mA。優化后電流波動小,上報數據所需電流大約是20mA,因此在一定程度上減小了功耗。

5 結束語

文章在Android平臺下對光距離傳感器驅動層進行研究和設計,同時為提高驅動層上報數據的可靠性以解決當前光距離傳感器在智能手機中容易出現的問題,在驅動層對數據做優化處理。實驗結果表明,在以上設計的基礎上,距離傳感器可以在貼膜遮擋和觸摸屏上有水漬等情況下正常工作,光線傳感器上報數據的變化速度正常且自動背光亮度調節功能體驗效果良好,并無lcd背光跳變太快、不穩定的情況。

參考文獻

[1]田明.手機中應用的傳感器[J].黑龍江科技信息,2013,17(28):39-40.

[2]陳建彬,陶一瑋,陳君偉.智能手機P-sensor問題分析與改善[J].移動通信,2014,42(21):91-93.

[3]宋寶華.Linux設備驅動開發詳解[M].北京:機械工業出版社,2015:

227-250.

[4]王春紅.基于Android系統的傳感器設計[J].湖南農機,2013,40(7):140-142.

[5]王秀敏,張麒,李婷婷.Android平臺下多路傾角傳感器驅動的設計與實現[J].儀表技術與傳感器,2013,50(9):18-20.

[6]李永壯,李昌新,王歡.基于Android光線傳感器的實現及數據優化算法[J].西安郵電學院學報,2012,24(4):75-78.

作者簡介:段志杰(1992-),男,重慶郵電大學通信與信息工程學院碩士研究生,主要研究方向:智能終端與軟件。

主站蜘蛛池模板: 亚洲天堂.com| 在线高清亚洲精品二区| 99精品在线看| 亚洲一区波多野结衣二区三区| 免费人成又黄又爽的视频网站| 色婷婷视频在线| 国产亚洲欧美在线专区| 欧美精品v| 天天躁狠狠躁| 日本一区二区不卡视频| 国产91蝌蚪窝| 亚洲精品视频网| 午夜福利视频一区| 国产精品黑色丝袜的老师| 红杏AV在线无码| 免费啪啪网址| 午夜福利亚洲精品| 国产精品福利在线观看无码卡| 欧美国产在线精品17p| 中美日韩在线网免费毛片视频 | 日韩精品无码不卡无码| 国产理论精品| 国内精品久久九九国产精品| 自慰高潮喷白浆在线观看| 亚洲欧美另类视频| 国产人人射| 2021精品国产自在现线看| 亚洲精品无码久久毛片波多野吉| 99在线观看国产| 亚洲欧美日韩成人在线| 自拍中文字幕| 毛片免费高清免费| 国产亚洲欧美日本一二三本道| 国产成人综合日韩精品无码首页 | 精品無碼一區在線觀看 | 亚洲成人一区二区三区| 一本大道视频精品人妻| 亚洲av无码成人专区| 欧美中文字幕一区| 97青草最新免费精品视频| 99re经典视频在线| 久久精品免费国产大片| 91在线无码精品秘九色APP| 国产系列在线| 真人免费一级毛片一区二区| 国产精品亚洲片在线va| 91麻豆精品视频| 色综合色国产热无码一| 亚洲aaa视频| 99偷拍视频精品一区二区| 国产色网站| 国产午夜无码专区喷水| 伦伦影院精品一区| 国产二级毛片| 免费无码AV片在线观看中文| 日韩精品免费一线在线观看| 老司国产精品视频91| 粉嫩国产白浆在线观看| 激情综合激情| 亚洲成人手机在线| 毛片三级在线观看| h网站在线播放| 色国产视频| 亚洲av成人无码网站在线观看| 欧美成人手机在线视频| 亚洲一区毛片| 欧美性天天| 天天综合亚洲| 色婷婷丁香| 国产美女91视频| 日本一区中文字幕最新在线| 国产99精品久久| 亚洲精品va| 久久久久国色AV免费观看性色| 999国产精品| 国产三区二区| 91精品国产情侣高潮露脸| 狠狠色丁香婷婷综合| 日韩欧美国产另类| 久久人体视频| 亚洲有码在线播放| 亚洲精品视频在线观看视频|