如何在手持式觸摸屏系統(tǒng)中增添接近檢測傳感器?
發(fā)布時(shí)間:2017-02-07 來源:Ilya Veygman 責(zé)任編輯:wenwei
【導(dǎo)讀】本應(yīng)用筆記討論了Maxim MAX44000接近檢測傳感器在手持式觸摸屏應(yīng)用中的優(yōu)勢,介紹了設(shè)計(jì)中的注意事項(xiàng)。包括如何降低系統(tǒng)中的串?dāng)_、改善噪聲抑制、減輕應(yīng)用處理器的負(fù)荷。附錄給出了有關(guān)門限滯回設(shè)置的C程序代碼。
為什么使用接近檢測傳感器?
觸摸屏已普遍用于各種手持式電子設(shè)備,不僅僅局限于智能手機(jī)。觸摸屏在大大改善設(shè)備功能性的同時(shí),也帶來了諸多新的挑戰(zhàn),包括知道如何以及何時(shí)響應(yīng)觸摸屏操作。例如,當(dāng)手機(jī)靠近用戶臉頰時(shí),屏幕必須了解如何對其做出反應(yīng);否則,觸摸屏無意接觸到人耳或臉頰時(shí),可能會被錯(cuò)誤地解析成用戶輸入。
為了避免這一問題,最常見的方法是在手機(jī)上集成一個(gè)接近檢測傳感器(同時(shí)也增加了設(shè)備功能)。當(dāng)接近檢測傳感器的讀數(shù)達(dá)到一定的門限要求,而且用戶正在通電話時(shí),傳感器可以關(guān)閉觸摸屏。
相對于分立式解決方案,提供數(shù)字輸出的紅外接近檢測傳感器芯片(例如MAX44000)大大簡化了這一功能的實(shí)施。
Maxim接近檢測傳感器的關(guān)鍵優(yōu)勢
Maxim的接近檢測傳感器具有眾多優(yōu)勢。舉例來說,紅外發(fā)射器配置為吸電流,而非源出電流。便于用戶合理選擇LED的供電電壓,優(yōu)化LED性能和功耗(圖1)。
圖1. MAX44000典型電路,包括LED。
由于MAX44000系列產(chǎn)品提供I²C接口,可以方便地通過這一靈活的總線將傳感器集成到多數(shù)嵌入式系統(tǒng)。此外,器件支持硬件中斷。這兩項(xiàng)功能可確保傳感器無縫集成到大多數(shù)手持設(shè)備,同時(shí)也將傳感器信息處理所占用的處理器資源降至最少。
不僅如此,Maxim的接近檢測傳感器還內(nèi)置了更多功能。例如,MAX44000在6引腳單芯片內(nèi)集成了環(huán)境光檢測傳感器和接近檢測傳感器。諸如此類的解決方案避免了在實(shí)現(xiàn)全部光傳感器功能是使用多個(gè)傳感器。
設(shè)計(jì)考慮
MAX44000采用小尺寸、2mm x 2mm x 0.6mm、UDFN-Opto封裝,有助于用戶節(jié)省尺寸敏感應(yīng)用的空間。此外,傳感器提供LED驅(qū)動電路,但需要用戶提供發(fā)射二極管的供電電源。吸電流配置下,該電路可驅(qū)動0mA至110mA電流流過發(fā)射二極管,無需外部電路既可完成這一任務(wù)。
圖2. MAX44000典型電路,帶有發(fā)射器旁路。
使用該功能時(shí)需要謹(jǐn)慎設(shè)計(jì),特別是當(dāng)驅(qū)動電流較大時(shí)。短時(shí)間的大電流驅(qū)動脈沖使得電源上出現(xiàn)尖峰電流,可能在MAX44000周圍產(chǎn)生噪聲。有兩種方式解決這一問題:對發(fā)射二極管進(jìn)行去耦,或?qū)AX44000的電源與發(fā)射二極管電源隔離開。去耦電容的優(yōu)點(diǎn)是價(jià)格便宜,但缺點(diǎn)是必須非??拷麺AX44000和發(fā)射二極管安裝。由于這一方式多數(shù)情況下足以解決上述問題,終端用戶應(yīng)首先嘗試這一方案,然后再考慮采用替代方案。圖2所示電路同時(shí)采用了兩種方案,當(dāng)然,實(shí)際應(yīng)用中并不需要這樣。
設(shè)計(jì)者必須仔細(xì)考慮玻璃對接近檢測傳感器的影響。絕大多數(shù)智能手機(jī)屏幕上都帶有一個(gè)玻璃罩,而且有些手機(jī)使用的是黑色玻璃。玻璃對光傳感器的影響主要表現(xiàn)在兩個(gè)方面:首先,應(yīng)該考慮入射到IC環(huán)境光傳感器的光強(qiáng)有所衰減;其次,LED的發(fā)射光經(jīng)過玻璃反射后重新回到傳感器,由此可能引入一定串?dāng)_(圖3)。
圖3. 串?dāng)_示意圖—無擋光板。
圖4. 簡單擋光板的例子。
緩解這一問題的方法有許多種,一種方式是在發(fā)射器和接收器之間安裝擋光板(圖4),可大幅降低反射后注入傳感器的光強(qiáng);另一種方式是使發(fā)射器和接收器盡量靠近玻璃,確保電路板沒有反射。
開/關(guān)門限的設(shè)置
將接近檢測傳感器集成到系統(tǒng)后,一個(gè)經(jīng)常遇到的問題是如何正確選擇接近檢測的門限,以便在用戶通話期間打開或關(guān)閉屏幕。門限設(shè)置須確保出現(xiàn)錯(cuò)誤判斷的幾率非常低,而且能夠支持絕大多數(shù)使用者的情況。例如,對于淺色頭發(fā)的用戶,當(dāng)手機(jī)的接近檢測傳感器面向頭發(fā)的方向靠近時(shí),所反射的信號強(qiáng)度要遠(yuǎn)遠(yuǎn)高于深色頭發(fā)。
MAX44000的接近檢測傳感器對于標(biāo)準(zhǔn)的850nm IR發(fā)射器具有出色的靈敏度(2.7nW/cm²/LSB)。這意味著MAX44000不僅可以在黑色玻璃的下方有效檢測信號,對于深色頭發(fā)的用戶同樣可以保持有效的信號檢測。此外,MAX44000的接近檢測傳感器能夠抑制高達(dá)100,000 lux的直射太陽光強(qiáng),確保室外環(huán)境下的工作性能。
最后一項(xiàng)需要考慮的因素是對傳感器增加一個(gè)滯回,采取這一措施的原因與在比較器電路增加滯回的原因相同。當(dāng)輸入信號恰好位于門限附近時(shí),任何噪聲都會造成輸出信號的隨機(jī)切換,這是我們不希望發(fā)生的現(xiàn)象。接近檢測傳感器也是如此。
一種簡單(但功耗較大)的軟件實(shí)施方案是定期輪詢傳感器,如果超出門限的計(jì)數(shù)值達(dá)到一定限值,而且屏幕是打開的,則關(guān)閉屏幕;否則,如果屏幕已關(guān)閉,則將其打開。初看起來這種方式是可行的,但用戶握持設(shè)備的方式可能造成計(jì)數(shù)值在門限附近波動,導(dǎo)致屏幕錯(cuò)誤地打開或關(guān)閉。
解決問題的一種方法是在軟件中設(shè)置滯回。例如,如果計(jì)數(shù)值達(dá)到150次(假設(shè)接近檢測傳感器工作于8位模式)或以上時(shí),控制觸摸屏從“開”至“關(guān)”;那么,只有當(dāng)計(jì)數(shù)值下降到135次或以下時(shí),才控制觸摸屏從“關(guān)”至“開”。此外,在一段時(shí)間保持這種電平的相關(guān)性非常有用,其作用相當(dāng)于一個(gè)低通濾波器,可以降低噪聲引起的誤操作。
MAX44000的內(nèi)部寄存器支持這種方法:
如果已經(jīng)使能中斷(對于接近檢測和ALS,寄存器0x01,1:0位),這些寄存器可以設(shè)置芯片使其無需通過I²C不斷輪詢傳感器。如上所述,可利用寄存器0x0A的第2位和第3位設(shè)置中斷之前的延遲。延遲可以是通過門限后的1、4、8或16個(gè)連續(xù)采樣。寄存器0x0B和0x0C設(shè)置門限,以及觸發(fā)中斷的計(jì)數(shù)值為高于門限的數(shù)值還是低于門限的數(shù)值。
附錄提供了增加滯回以及中斷的例程。通過I²C總線進(jìn)行讀、寫操作時(shí),應(yīng)注意器件在多次讀/寫操作時(shí)不會自動遞增寄存器地址,而是由軟件手動實(shí)現(xiàn),盡管這種方式比較繁瑣。讀取I²C兼容器件的多個(gè)寄存器數(shù)據(jù)時(shí),需要謹(jǐn)慎操作,以免發(fā)生錯(cuò)誤。詳細(xì)信息請參閱應(yīng)用筆記5033:“嚴(yán)謹(jǐn)至上(通過I²C接口讀取ADC數(shù)據(jù))”。
附錄A:門限滯回例程
#define MAX44000_ADDR 0x94
#define INT_STATUS_REG 0x00
#define OFF_THRESHOLD 4600
#define OFF_DELAY 1
#define ON_THRESHOLD 4000
#define ON_DELAY 3
uint8 screenStatus; // 0 means off, 1 means on
/*
i2cWriteBytes()
Arguments:
uint8 address - device address
uint8 start_reg - register where the first byte is written
uint8 *data - data to write
uint8 nbytes - number of bytes to write
Consecutively writes several bytes to some i2c device starting at some
specified address -- implemented elsewhere
*/
void i2cWriteBytes(uint8 address,uint8 start_reg,uint8 *data,uint8 nbytes);
/*
MAX44000InterruptHandler()
以下代碼用于實(shí)現(xiàn)MAX44000 INT引腳的中斷處理,假設(shè)MAX44000的接近檢測傳感器設(shè)置為14位模式,并已使能中斷。此外,假設(shè)屏幕狀態(tài)初始化為1或0,詳細(xì)信息請參閱數(shù)據(jù)資料的寄存器說明部分。
*/
void MAX44000InterruptHandler() {
uint8 i2cData[3];
i2cRead1Byte(MAX44000_ADDR,INT_STATUS_REG,&i2cData);
if (i2cData&0x01 != 0)
return; // check to make sure interrupt really fired
// this simultaneously clears the interrupt flag
if (screenStatus) {
i2cData[0] = ON_DELAY;
i2cData[1] = ON_THRESHOLD >> 8 & 0xBF; // set ABOVE = 0
i2cData[2] = ON_THRESHOLD & 0xFF;
} else {
i2cData[0] = OFF_DELAY;
i2cData[1] = OFF_THRESHOLD >> 8 | 0x40; // set ABOVE = 1
i2cData[2] = OFF_THRESHOLD & 0xFF;
} // set the new threshold depending on what the screen status was
// set the delay and threshold after each interrupt
i2cWriteBytes(MAX44000_ADDR,0x0A,i2cData,3);
return;
} // MAX44000InterruptHandler
本文來源于Maxim。
推薦閱讀:
特別推薦
- 克服碳化硅制造挑戰(zhàn),助力未來電力電子應(yīng)用
- 了解交流電壓的產(chǎn)生
- 單結(jié)晶體管符號和結(jié)構(gòu)
- 英飛凌推出用于汽車應(yīng)用識別和認(rèn)證的新型指紋傳感器IC
- Vishay推出負(fù)載電壓達(dá)100 V的業(yè)內(nèi)先進(jìn)的1 Form A固態(tài)繼電器
- 康佳特推出搭載AMD 銳龍嵌入式 8000系列的COM Express緊湊型模塊
- 村田推出3225尺寸車載PoC電感器LQW32FT_8H系列
技術(shù)文章更多>>
- 高性能碳化硅隔離柵極驅(qū)動器如何選型,一文告訴您
- 貿(mào)澤電子新品推薦:2024年第三季度推出將近7000個(gè)新物料
- 大聯(lián)大世平集團(tuán)的駕駛員監(jiān)控系統(tǒng)(DMS)方案榮獲第六屆“金輯獎之最佳技術(shù)實(shí)踐應(yīng)用”獎
- X-CUBE-STL:支持更多STM32, 揭開功能安全的神秘面紗
- 觸摸式OLED顯示屏有望重新定義汽車用戶界面
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
音頻IC
音頻SoC
音頻變壓器
引線電感
語音控制
元件符號
元器件選型
云電視
云計(jì)算
云母電容
真空三極管
振蕩器
振蕩線圈
振動器
振動設(shè)備
震動馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器