如何在手持式觸摸屏系統(tǒng)中增添接近檢測傳感器?
發(fā)布時間:2017-02-07 來源:Ilya Veygman 責(zé)任編輯:wenwei
【導(dǎo)讀】本應(yīng)用筆記討論了Maxim MAX44000接近檢測傳感器在手持式觸摸屏應(yīng)用中的優(yōu)勢,介紹了設(shè)計中的注意事項。包括如何降低系統(tǒng)中的串?dāng)_、改善噪聲抑制、減輕應(yīng)用處理器的負(fù)荷。附錄給出了有關(guān)門限滯回設(shè)置的C程序代碼。
為什么使用接近檢測傳感器?
觸摸屏已普遍用于各種手持式電子設(shè)備,不僅僅局限于智能手機(jī)。觸摸屏在大大改善設(shè)備功能性的同時,也帶來了諸多新的挑戰(zhàn),包括知道如何以及何時響應(yīng)觸摸屏操作。例如,當(dāng)手機(jī)靠近用戶臉頰時,屏幕必須了解如何對其做出反應(yīng);否則,觸摸屏無意接觸到人耳或臉頰時,可能會被錯誤地解析成用戶輸入。
為了避免這一問題,最常見的方法是在手機(jī)上集成一個接近檢測傳感器(同時也增加了設(shè)備功能)。當(dāng)接近檢測傳感器的讀數(shù)達(dá)到一定的門限要求,而且用戶正在通電話時,傳感器可以關(guān)閉觸摸屏。
相對于分立式解決方案,提供數(shù)字輸出的紅外接近檢測傳感器芯片(例如MAX44000)大大簡化了這一功能的實施。
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)。此外,器件支持硬件中斷。這兩項功能可確保傳感器無縫集成到大多數(shù)手持設(shè)備,同時也將傳感器信息處理所占用的處理器資源降至最少。
不僅如此,Maxim的接近檢測傳感器還內(nèi)置了更多功能。例如,MAX44000在6引腳單芯片內(nèi)集成了環(huán)境光檢測傳感器和接近檢測傳感器。諸如此類的解決方案避免了在實現(xiàn)全部光傳感器功能是使用多個傳感器。
設(shè)計考慮
MAX44000采用小尺寸、2mm x 2mm x 0.6mm、UDFN-Opto封裝,有助于用戶節(jié)省尺寸敏感應(yīng)用的空間。此外,傳感器提供LED驅(qū)動電路,但需要用戶提供發(fā)射二極管的供電電源。吸電流配置下,該電路可驅(qū)動0mA至110mA電流流過發(fā)射二極管,無需外部電路既可完成這一任務(wù)。
圖2. MAX44000典型電路,帶有發(fā)射器旁路。
使用該功能時需要謹(jǐn)慎設(shè)計,特別是當(dāng)驅(qū)動電流較大時。短時間的大電流驅(qū)動脈沖使得電源上出現(xiàn)尖峰電流,可能在MAX44000周圍產(chǎn)生噪聲。有兩種方式解決這一問題:對發(fā)射二極管進(jìn)行去耦,或?qū)AX44000的電源與發(fā)射二極管電源隔離開。去耦電容的優(yōu)點(diǎn)是價格便宜,但缺點(diǎn)是必須非??拷麺AX44000和發(fā)射二極管安裝。由于這一方式多數(shù)情況下足以解決上述問題,終端用戶應(yīng)首先嘗試這一方案,然后再考慮采用替代方案。圖2所示電路同時采用了兩種方案,當(dāng)然,實際應(yīng)用中并不需要這樣。
設(shè)計者必須仔細(xì)考慮玻璃對接近檢測傳感器的影響。絕大多數(shù)智能手機(jī)屏幕上都帶有一個玻璃罩,而且有些手機(jī)使用的是黑色玻璃。玻璃對光傳感器的影響主要表現(xiàn)在兩個方面:首先,應(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)后,一個經(jīng)常遇到的問題是如何正確選擇接近檢測的門限,以便在用戶通話期間打開或關(guān)閉屏幕。門限設(shè)置須確保出現(xiàn)錯誤判斷的幾率非常低,而且能夠支持絕大多數(shù)使用者的情況。例如,對于淺色頭發(fā)的用戶,當(dāng)手機(jī)的接近檢測傳感器面向頭發(fā)的方向靠近時,所反射的信號強(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)境下的工作性能。
最后一項需要考慮的因素是對傳感器增加一個滯回,采取這一措施的原因與在比較器電路增加滯回的原因相同。當(dāng)輸入信號恰好位于門限附近時,任何噪聲都會造成輸出信號的隨機(jī)切換,這是我們不希望發(fā)生的現(xiàn)象。接近檢測傳感器也是如此。
一種簡單(但功耗較大)的軟件實施方案是定期輪詢傳感器,如果超出門限的計數(shù)值達(dá)到一定限值,而且屏幕是打開的,則關(guān)閉屏幕;否則,如果屏幕已關(guān)閉,則將其打開。初看起來這種方式是可行的,但用戶握持設(shè)備的方式可能造成計數(shù)值在門限附近波動,導(dǎo)致屏幕錯誤地打開或關(guān)閉。
解決問題的一種方法是在軟件中設(shè)置滯回。例如,如果計數(shù)值達(dá)到150次(假設(shè)接近檢測傳感器工作于8位模式)或以上時,控制觸摸屏從“開”至“關(guān)”;那么,只有當(dāng)計數(shù)值下降到135次或以下時,才控制觸摸屏從“關(guān)”至“開”。此外,在一段時間保持這種電平的相關(guān)性非常有用,其作用相當(dāng)于一個低通濾波器,可以降低噪聲引起的誤操作。
MAX44000的內(nèi)部寄存器支持這種方法:
如果已經(jīng)使能中斷(對于接近檢測和ALS,寄存器0x01,1:0位),這些寄存器可以設(shè)置芯片使其無需通過I²C不斷輪詢傳感器。如上所述,可利用寄存器0x0A的第2位和第3位設(shè)置中斷之前的延遲。延遲可以是通過門限后的1、4、8或16個連續(xù)采樣。寄存器0x0B和0x0C設(shè)置門限,以及觸發(fā)中斷的計數(shù)值為高于門限的數(shù)值還是低于門限的數(shù)值。
附錄提供了增加滯回以及中斷的例程。通過I²C總線進(jìn)行讀、寫操作時,應(yīng)注意器件在多次讀/寫操作時不會自動遞增寄存器地址,而是由軟件手動實現(xiàn),盡管這種方式比較繁瑣。讀取I²C兼容器件的多個寄存器數(shù)據(jù)時,需要謹(jǐn)慎操作,以免發(fā)生錯誤。詳細(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()
以下代碼用于實現(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。
推薦閱讀:
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計
- ADI電機(jī)運(yùn)動控制解決方案 驅(qū)動智能運(yùn)動新時代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 邁向更綠色的未來:GaN技術(shù)的變革性影響
- 集成電阻分壓器如何提高電動汽車的電池系統(tǒng)性能
- 帶硬件同步功能的以太網(wǎng) PHY 擴(kuò)大了汽車?yán)走_(dá)的覆蓋范圍
- 精準(zhǔn)監(jiān)測電離分?jǐn)?shù)與沉積通量,助力PVD/IPVD工藝與涂層質(zhì)量雙重提升
- ADC 總諧波失真
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖
電路圖符號
電路圖知識
電腦OA
電腦電源
電腦自動斷電
電能表接線
電容觸控屏
電容器
電容器單位
電容器公式
電聲器件
電位器
電位器接法
電壓表
電壓傳感器
電壓互感器
電源變壓器