如何在手持式觸摸屏系統(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)準(zhǔn)的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。
推薦閱讀:
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗科技驅(qū)動的未來汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽能和儲能解決方案
- 功率器件熱設(shè)計基礎(chǔ)(六)——瞬態(tài)熱測量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進入量產(chǎn)
- 中微半導(dǎo)推出高性價比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級分流器以及匹配的評估板
- 功率器件熱設(shè)計基礎(chǔ)(八)——利用瞬態(tài)熱阻計算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索