3 觸摸屏控制器
觸摸屏分電阻、電容、表面表波、紅外線掃描和矢量壓力傳感等幾種類型,其中使用最多的是四線或五線電阻觸摸屏。四線電阻觸摸屏由2個(gè)透明電阻膜構(gòu)成,在它的水平和垂直電阻網(wǎng)上施加電壓,A/D轉(zhuǎn)換面板在觸摸點(diǎn)測(cè)量出電壓,人而對(duì)應(yīng)出坐標(biāo)值。
ADS7843是TI公司生產(chǎn)的四線電阻觸摸屏轉(zhuǎn)換接口芯片。它是一款具有同步串行接口的12位取樣模數(shù)轉(zhuǎn)換器。在125kHz吞吐速率和2.7V電壓下,功耗為750μW。在關(guān)閉模式下,功耗僅為0.5μW。由于具有低功耗和高速等特性,被廣泛應(yīng)用在用電池供電的小型手持設(shè)備上。
ADS7843的連結(jié)關(guān)系如圖2所示。工作電壓Vcc為2.7~5.25V之間,基準(zhǔn)電壓Vref介于1V到+Vcc之間。其準(zhǔn)電壓確定了轉(zhuǎn)換器輸入范圍,輸入數(shù)據(jù)每個(gè)數(shù)字位代表的模擬電壓等于基準(zhǔn)電壓除以4096。平均基準(zhǔn)輸入電流由ADS7843的轉(zhuǎn)換率確定。轉(zhuǎn)換器的模擬輸入(X+、Y+、X-、Y-)是一個(gè)4通道多路器;DCLK是外部時(shí)鐘輸入引腳;CS是片選;DIN是串行輸入,控制數(shù)據(jù)通過(guò)該引腳輸入;DOUT是串行數(shù)據(jù)輸出,用于輸出轉(zhuǎn)換后的觸摸位置數(shù)據(jù),最大數(shù)為二進(jìn)制的4095;IN3和IN4是輔助引腳;PENIRQ是PEN中斷;用于觸摸顯示屏后引發(fā)一個(gè)中斷。
通過(guò)連接觸摸屏X+輸入到A/D轉(zhuǎn)換器,同時(shí)打開Y+和Y-驅(qū)動(dòng),然后數(shù)字化X+的電壓,從得到當(dāng)前Y位置的測(cè)量結(jié)果。同理也可得到X方向的坐標(biāo)。
具體設(shè)置和使用方法見ADS7843數(shù)據(jù)手冊(cè)。下面主要討論一下ADS7843的模式設(shè)置、PEN中斷引腳使用、軟件編程等。
(1)模式設(shè)置
ADS7843有差分(differential)和單端(singleended mode)兩種工作模式。這兩種模式對(duì)轉(zhuǎn)換后的精度和可靠性有一些影響。如果將A/D轉(zhuǎn)換器配置為讀絕對(duì)電壓(單端模式)方式,則驅(qū)動(dòng)(driver)電壓的下降將導(dǎo)致轉(zhuǎn)換輸入數(shù)據(jù)的錯(cuò)誤;如果配置為差分模式,可以避免上述錯(cuò)誤。當(dāng)觸摸屏被按下時(shí),有兩種情況影響接觸點(diǎn)的電壓:一種是當(dāng)觸摸顯示屏?xí)r,導(dǎo)致觸摸屏外層震動(dòng);一種是觸摸屏頂屏和低層之間寄存器電容引起的電流震蕩,以及在ADS7843輸入引腳上引起電壓震蕩。這兩種情況都導(dǎo)致了觸摸屏上的電壓發(fā)生震蕩以及增加DC值穩(wěn)定的時(shí)間。
在單端模式中,一旦在觸摸屏上檢測(cè)到一次觸摸事件,EP7212就發(fā)送一串控制字節(jié)給ADS7843,要求它進(jìn)行一次轉(zhuǎn)換。然后,ADS7843在獲取周期的起始點(diǎn),通過(guò)內(nèi)部FET開關(guān)提供電壓給面板,并導(dǎo)致觸摸點(diǎn)電壓的升高。正如上面所介紹的,上升的電壓在最終穩(wěn)定之前會(huì)震蕩一段時(shí)間。獲取周期結(jié)束后,所有FET開關(guān)將關(guān)閉,A/D轉(zhuǎn)換器將進(jìn)入轉(zhuǎn)換周期。如果在當(dāng)前轉(zhuǎn)換周期間,沒(méi)有發(fā)出下一個(gè)控制字節(jié),ADS7843將進(jìn)入低功耗模式并等待下一條指令。由于面板上分布大量電容,特別是濾波噪聲,應(yīng)該注意設(shè)置對(duì)應(yīng)于X坐標(biāo)或Y坐標(biāo)上的電壓。在單端模式中,輸入電壓必須在Data In word的最后三個(gè)時(shí)鐘周期期間設(shè)置,否則將產(chǎn)生錯(cuò)誤。
除了內(nèi)部FET開關(guān)從獲取周期開始到轉(zhuǎn)換周期結(jié)束期間一直保持開發(fā)外,差分模式的操作類似于單端模式。加在面板上的電壓將成為對(duì)A/D轉(zhuǎn)換器的基準(zhǔn)電壓,提供一個(gè)度量比的操作。這意味著如果加在面板上的電壓發(fā)生變化(由于電源、驅(qū)動(dòng)電阻、溫度或觸摸屏電阻等改變導(dǎo)致),則A/D轉(zhuǎn)換器的度量比操作可以對(duì)這種變化進(jìn)行補(bǔ)償。如果在當(dāng)前轉(zhuǎn)換周期,發(fā)向ADS7843的下一個(gè)控制字節(jié)所選擇的通道與前一個(gè)控制字節(jié)相同,則在當(dāng)前轉(zhuǎn)換完成后開關(guān)仍然不會(huì)關(guān)閉。
在這兩模式中,ADS7843只有3個(gè)時(shí)鐘周期可以從觸摸屏上獲取(取樣)輸入模擬電壓,因此為了ADS7843可以獲正確的電壓,輸入電壓必須在3個(gè)時(shí)鐘周期的時(shí)間范圍內(nèi)設(shè)置好。打開驅(qū)動(dòng)將引起觸摸屏的電壓快速升高,然后設(shè)置到最終值。為了得到轉(zhuǎn)換的正確數(shù)據(jù)。獲取必須在觸摸屏完全設(shè)置好時(shí)完成。有兩種獲取的方式:一是采用單端模式,用相對(duì)較慢的時(shí)鐘,這樣擴(kuò)展了獲取時(shí)間(3個(gè)時(shí)鐘周期);二是采用差分械,用相對(duì)較快的時(shí)鐘,在第一個(gè)轉(zhuǎn)換周期設(shè)置電壓,第二個(gè)轉(zhuǎn)換周期獲取準(zhǔn)確的電壓。第二種方式的兩個(gè)控制字節(jié)相同,內(nèi)部X/Y開關(guān)在首次轉(zhuǎn)換后不會(huì)關(guān)閉,由于首次轉(zhuǎn)換期間電壓還不穩(wěn)定,因此要求丟棄首次轉(zhuǎn)換的結(jié)果。使用第二種方式的另一個(gè)優(yōu)點(diǎn)是降低功耗,在全部轉(zhuǎn)換后,ADS7843進(jìn)入低功耗模式并且等待下一次取樣周期。對(duì)于慢時(shí)鐘這種情況,下一次取樣可能在當(dāng)前轉(zhuǎn)換結(jié)束后立即進(jìn)入取樣周期,沒(méi)有時(shí)間進(jìn)入低功耗模式。
在單端模式下不能使用快速時(shí)鐘。
差分模式具有以下特點(diǎn):①能夠在不擴(kuò)展轉(zhuǎn)換器獲取時(shí)間的條件下,用很長(zhǎng)的設(shè)置時(shí)間處理觸摸展,即觸摸屏電壓可以有足夠的時(shí)間穩(wěn)定下來(lái)。②通過(guò)用快速時(shí)間,ADS7843可以進(jìn)入低功耗模式,從而可以節(jié)約電池能量。建議使用差分模式。
(2)PEN中斷引腳使用

該引腳的主要作用是讓設(shè)計(jì)者可以完全控制ADS7843的低功耗模式操作。如圖3所示,I/O1和I/O2是引自EP7212的通用目的輸入/輸出口。當(dāng)電源加入系統(tǒng)且轉(zhuǎn)換器被設(shè)置(PD1、PD0=00)之后,轉(zhuǎn)換器進(jìn)入低功耗模式。當(dāng)未觸摸面板時(shí),ADS7833內(nèi)部的二極管沒(méi)有偏正,因此沒(méi)有電流流過(guò)(忽略漏流);當(dāng)觸摸面板時(shí),Y-提供了一條電流(I)通路;X+、X-和Y+處于高阻狀態(tài),電流經(jīng)過(guò)100kΩ電阻和中斷二極管。PENIRQ被拉低,通過(guò)I/O2上一個(gè)不超過(guò)0.65V的電壓?jiǎn)拘袰PU,然后EP7212拉低I/O1和I/O2上的電位,并且對(duì)ADS7843控制寄存器寫一個(gè)字節(jié),進(jìn)行轉(zhuǎn)換初始化。為了轉(zhuǎn)換PENIRQ二極管上的偏置電壓,EP7212必須拉低I/O1和I/O2上的電壓。否則,如果在轉(zhuǎn)換期間二極管上有一個(gè)前向偏壓,附加的電流將引起輸入數(shù)據(jù)不準(zhǔn)確。
(3)差分模式下的軟件流程
下面兩種算法假設(shè)ADS7843配置成差分模式,每次轉(zhuǎn)換為16個(gè)時(shí)鐘,X軸坐標(biāo)的結(jié)果在DATA X中,Y軸的坐標(biāo)在DATA Y中。流程如圖4所示。
圖4(a)中的例子采用判斷兩次的方法來(lái)克服觸摸屏信號(hào)的抖動(dòng)。DATA 1存儲(chǔ)當(dāng)前轉(zhuǎn)換的結(jié)果,DATA 2存儲(chǔ)上一次轉(zhuǎn)換的結(jié)果,當(dāng)兩次結(jié)果相同時(shí)轉(zhuǎn)換數(shù)據(jù)有效。但是當(dāng)輸入電壓的震動(dòng)頻率和取樣頻率相近時(shí),可能會(huì)漏掉正確結(jié)果。
圖4(b)中的例子采用最后的轉(zhuǎn)換結(jié)果(第n次)作為有效轉(zhuǎn)換。該方式更加簡(jiǎn)單,但是只對(duì)某一類觸摸屏有效。"n"的具體值依賴于ADS7843輸入電壓的設(shè)置時(shí)間,在確定"n"值以前需要對(duì)一些觸摸屏進(jìn)行測(cè)試。
(4)錯(cuò)誤觸發(fā)
由于X+輸入引腳與PEN中斷輸出相連接,因此,在X+上的噪聲可能引起觸摸屏錯(cuò)誤觸發(fā)。可對(duì)在PEN中斷輸出引腳上連接1個(gè)RC濾波器。例如,對(duì)地連接1個(gè)1Ω電阻和1個(gè)0.01μF的電容,可以過(guò)濾噪聲脈沖和避免錯(cuò)誤觸發(fā)。
結(jié)束語(yǔ)
本文主要介紹EP7212的LCD控制器的工作原理和設(shè)計(jì)邏輯,并且探討了觸摸屏控制器的使用技巧,適用于EP7212XX系列嵌入式處理器與單色、非觸摸屏連接的設(shè)計(jì)。觸摸屏部分也適用于與其它處理器的連接。





