如何在手持式觸摸屏系統(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)用處理器的負荷。附錄給出了有關(guān)門限滯回設(shè)置的C程序代碼。
為什么使用接近檢測傳感器?
觸摸屏已普遍用于各種手持式電子設(shè)備,不僅僅局限于智能手機。觸摸屏在大大改善設(shè)備功能性的同時,也帶來了諸多新的挑戰(zhàn),包括知道如何以及何時響應(yīng)觸摸屏操作。例如,當(dāng)手機靠近用戶臉頰時,屏幕必須了解如何對其做出反應(yīng);否則,觸摸屏無意接觸到人耳或臉頰時,可能會被錯誤地解析成用戶輸入。
為了避免這一問題,最常見的方法是在手機上集成一個接近檢測傳感器(同時也增加了設(shè)備功能)。當(dāng)接近檢測傳感器的讀數(shù)達到一定的門限要求,而且用戶正在通電話時,傳感器可以關(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ā)射器旁路。
使用該功能時需要謹慎設(shè)計,特別是當(dāng)驅(qū)動電流較大時。短時間的大電流驅(qū)動脈沖使得電源上出現(xiàn)尖峰電流,可能在MAX44000周圍產(chǎn)生噪聲。有兩種方式解決這一問題:對發(fā)射二極管進行去耦,或?qū)AX44000的電源與發(fā)射二極管電源隔離開。去耦電容的優(yōu)點是價格便宜,但缺點是必須非??拷麺AX44000和發(fā)射二極管安裝。由于這一方式多數(shù)情況下足以解決上述問題,終端用戶應(yīng)首先嘗試這一方案,然后再考慮采用替代方案。圖2所示電路同時采用了兩種方案,當(dāng)然,實際應(yīng)用中并不需要這樣。
設(shè)計者必須仔細考慮玻璃對接近檢測傳感器的影響。絕大多數(shù)智能手機屏幕上都帶有一個玻璃罩,而且有些手機使用的是黑色玻璃。玻璃對光傳感器的影響主要表現(xiàn)在兩個方面:首先,應(yīng)該考慮入射到IC環(huán)境光傳感器的光強有所衰減;其次,LED的發(fā)射光經(jīng)過玻璃反射后重新回到傳感器,由此可能引入一定串?dāng)_(圖3)。
圖3. 串?dāng)_示意圖—無擋光板。
圖4. 簡單擋光板的例子。
緩解這一問題的方法有許多種,一種方式是在發(fā)射器和接收器之間安裝擋光板(圖4),可大幅降低反射后注入傳感器的光強;另一種方式是使發(fā)射器和接收器盡量靠近玻璃,確保電路板沒有反射。
開/關(guān)門限的設(shè)置
將接近檢測傳感器集成到系統(tǒng)后,一個經(jīng)常遇到的問題是如何正確選擇接近檢測的門限,以便在用戶通話期間打開或關(guān)閉屏幕。門限設(shè)置須確保出現(xiàn)錯誤判斷的幾率非常低,而且能夠支持絕大多數(shù)使用者的情況。例如,對于淺色頭發(fā)的用戶,當(dāng)手機的接近檢測傳感器面向頭發(fā)的方向靠近時,所反射的信號強度要遠遠高于深色頭發(fā)。
MAX44000的接近檢測傳感器對于標(biāo)準的850nm IR發(fā)射器具有出色的靈敏度(2.7nW/cm²/LSB)。這意味著MAX44000不僅可以在黑色玻璃的下方有效檢測信號,對于深色頭發(fā)的用戶同樣可以保持有效的信號檢測。此外,MAX44000的接近檢測傳感器能夠抑制高達100,000 lux的直射太陽光強,確保室外環(huán)境下的工作性能。
最后一項需要考慮的因素是對傳感器增加一個滯回,采取這一措施的原因與在比較器電路增加滯回的原因相同。當(dāng)輸入信號恰好位于門限附近時,任何噪聲都會造成輸出信號的隨機切換,這是我們不希望發(fā)生的現(xiàn)象。接近檢測傳感器也是如此。
一種簡單(但功耗較大)的軟件實施方案是定期輪詢傳感器,如果超出門限的計數(shù)值達到一定限值,而且屏幕是打開的,則關(guān)閉屏幕;否則,如果屏幕已關(guān)閉,則將其打開。初看起來這種方式是可行的,但用戶握持設(shè)備的方式可能造成計數(shù)值在門限附近波動,導(dǎo)致屏幕錯誤地打開或關(guān)閉。
解決問題的一種方法是在軟件中設(shè)置滯回。例如,如果計數(shù)值達到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總線進行讀、寫操作時,應(yīng)注意器件在多次讀/寫操作時不會自動遞增寄存器地址,而是由軟件手動實現(xiàn),盡管這種方式比較繁瑣。讀取I²C兼容器件的多個寄存器數(shù)據(jù)時,需要謹慎操作,以免發(fā)生錯誤。詳細信息請參閱應(yīng)用筆記5033:“嚴謹至上(通過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,詳細信息請參閱數(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。
推薦閱讀:
特別推薦
- 增強視覺傳感器功能:3D圖像拼接算法幫助擴大視場
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- TCL實業(yè)攬獲多項CES 2025科技大獎,蟬聯(lián)全球消費電子品牌TOP10
- 利用高性能電壓監(jiān)控器提高工業(yè)功能安全合規(guī)性——第1部分
- 芯耀輝:從傳統(tǒng)IP到IP2.0,AI時代國產(chǎn)IP機遇與挑戰(zhàn)齊飛
- 解決模擬輸入IEC系統(tǒng)保護問題
- 當(dāng)過壓持續(xù)較長時間時,使用開關(guān)浪涌抑制器
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍牙
藍牙4.0
藍牙模塊
浪涌保護器
雷度電子
鋰電池
利爾達
連接器
流量單位
漏電保護器
濾波電感
濾波器