觸摸屏技術(shù)經(jīng)過(guò)十幾年的發(fā)展已經(jīng)成為一種方便、經(jīng)濟(jì)的人機(jī)界面輸入手段,廣泛應(yīng)用于手機(jī)、掌上電腦、車載設(shè)備及銀行ATM等領(lǐng)域。根據(jù)工作原理的不同,觸摸屏可以分為電阻式、紅外式、電容式和聲表面波式4種類型,其中應(yīng)用最為廣泛的是電阻式觸摸屏。本文討論2種電阻式觸摸屏的接口設(shè)計(jì),分別為觸摸屏與ARM STR750直接連接及其通過(guò)專用觸摸屏檢測(cè)器件連接。
1、器件簡(jiǎn)介
1.1 電阻式觸摸屏的分類與工作原理
電阻式觸摸屏分為四線與五線兩種形式。其中四線電阻式觸摸屏由于造價(jià)低廉和便于實(shí)現(xiàn),在工業(yè)和掌上設(shè)備中得到了廣泛的使用。電阻式觸摸屏的本質(zhì)是電阻分壓器,觸摸屏由兩層被絕緣層隔開的電阻層構(gòu)成。當(dāng)有觸摸動(dòng)作按下時(shí),兩層電阻層因形變達(dá)到電氣連接,從而通過(guò)A/D檢測(cè)兩層電阻層間的電壓值來(lái)確定觸摸點(diǎn)的位置。
1.2 STR750
STR750是意法半導(dǎo)體公司生產(chǎn)的基于ARM7TDMI-S的32位RISC CPU。STR750最高主頻可達(dá)60 MHz,具有16 KB RAM,最大片內(nèi)Flash為256 KB,最大支持64 MB擴(kuò)展F1ash。通用I/O(GPIO)支持模擬輸入、輸入上拉、輸入下拉、輸入懸浮、推挽輸出、開漏輸入、推挽復(fù)用和開漏復(fù)用8種配置模式。模數(shù)轉(zhuǎn)換器(ADC)共有16個(gè)通道,支持10位A/D采樣。
1.3 TSC2003
TSC2003是TI公司生產(chǎn)的采用TSSOP-16封裝的四線電阻式觸摸屏控制芯片,集成了多個(gè)功能模塊,具有測(cè)量電量、片上溫度和觸摸壓力等功能,通過(guò)I2C總線與單片機(jī)連接。TSC2003是一款基于命令控制的觸摸屏檢測(cè)器件,通過(guò)I2C總線發(fā)送控制命令來(lái)控制芯片采集X軸、Y軸和Z軸的壓力等相關(guān)量。
1.4 觸摸屏與單片機(jī)的接口分類
觸摸屏與單片機(jī)的接口有利用專用觸摸屏檢測(cè)芯片和利用單片機(jī)自身A/D轉(zhuǎn)換來(lái)檢測(cè)觸摸屏位置這兩種方式。利用專用觸摸屏檢測(cè)芯片檢測(cè)觸摸屏位置時(shí),單片機(jī)與專用芯片通過(guò)總線進(jìn)行通信,接口的外圍電路簡(jiǎn)單,受外界干擾小,精度較高,但專用芯片的使用增加了成本。利用單片機(jī)自身的A/D轉(zhuǎn)換檢測(cè)時(shí),單片機(jī)直接連接觸摸屏進(jìn)行A/D檢測(cè),接口的外圍電路較復(fù)雜,受外界干擾大,精度較差,但成本較低。
2、觸摸屏與STR750的接口
2.1 利用STR750自帶A/D轉(zhuǎn)換
STR750可以通過(guò)自身推挽輸出,在觸摸屏的X軸和Y軸上施加電壓。當(dāng)輸出電壓施加在X軸上時(shí),利用STR750 A/D采樣Y+軸的電壓來(lái)獲取Y軸的坐標(biāo)值;當(dāng)輸出電壓施加在Y軸上時(shí),A/D采樣X+軸的電壓來(lái)獲取X軸的坐標(biāo)值。
STR750的P0.01引腳通過(guò)電阻R1連接X+。當(dāng)需要在X軸上施加電壓時(shí),PO.01引腳輸出+5 V電壓。PO.02引腳為STR750 ADC通道O,直接連接X+。當(dāng)在Y軸上施加電壓時(shí),通過(guò)PO.02讀取X軸坐標(biāo)。P1.12引腳連接在X一上,當(dāng)需要在X軸上施加電壓時(shí)接地。STR750的P1.13引腳通過(guò)電阻R2連接Y+,當(dāng)需要在Y軸上施加電壓時(shí),P1.13引腳輸出+5 V電壓。P1.04引腳為STR750 ADC通道9,直接連接Y+。當(dāng)在X軸上施加電壓時(shí),通過(guò)P1.04讀取Y軸坐標(biāo)。P1.14引腳連接在Y一上,當(dāng)需要在Y軸上施加電壓時(shí)接地。觸摸屏與STR750的連接如圖所示。
系統(tǒng)開始運(yùn)行后,將P0.01和P1.12配置為推挽輸出低電平(即令X+和X一兩個(gè)端口接地),P0.02配置為模擬輸入,P1.13配置為輸入上拉保持高電平并檢測(cè)外部觸摸動(dòng)作,P1.14配置為輸入懸浮并保持懸浮態(tài)(即在Y+上施加5 V電壓),P1.04配置為模擬輸入。如果系統(tǒng)采用中斷方式檢測(cè)觸摸屏按下,則需將P1.13配置為外部下降沿觸發(fā)中斷,那么系統(tǒng)開始運(yùn)行后,如果有觸摸動(dòng)作,Y+上的電壓通過(guò)X+和X一連接到地,從而觸發(fā)P1.13引腳的外部下降沿中斷。
外部下降沿觸發(fā)中斷后,系統(tǒng)經(jīng)過(guò)一段時(shí)間的消抖操作,開始檢測(cè)X軸坐標(biāo)。此時(shí),將P0.01引腳配置為推挽輸出高電平,在X+上施加電壓,并將P1.13引腳配置為輸入懸浮,去除在Y+上施加的電壓。通過(guò)對(duì)P1.04引腳A/D采樣,讀取當(dāng)前觸摸點(diǎn)的X軸坐標(biāo)。讀取完成后,將P0.01和P1.12引腳配置為輸入懸浮,去除X軸方向的施加電壓,并將P1.13配置為推挽輸出高電平,P1.14配置為推挽輸出低電平,即在Y軸方向上施加電壓。通過(guò)對(duì)PO.02引腳進(jìn)行A/D采樣,讀取到當(dāng)前觸摸點(diǎn)的Y軸坐標(biāo)。這樣,就完成了一次對(duì)當(dāng)前觸摸點(diǎn)的坐標(biāo)軸采樣過(guò)程。循環(huán)讀取坐標(biāo)軸數(shù)值,通過(guò)計(jì)算平均值及剔除野值得到觸摸屏坐標(biāo)值。輸出坐標(biāo)值后,將每個(gè)引腳的狀態(tài)配置為初始狀態(tài),等待下一次中斷的發(fā)生。
這里需要注意的是,在變換X軸和Y軸方向上的電壓時(shí),需要在變換電壓方向后加入一段延時(shí),等待電壓穩(wěn)定,使A/D變換后讀取到的值逼近真實(shí)值。通過(guò)STR750的引腳配置變換來(lái)讀取X軸和Y軸坐標(biāo)值的方法具有結(jié)構(gòu)簡(jiǎn)單、易實(shí)現(xiàn)、成本低等優(yōu)勢(shì),可用于一般的手指觸摸界面。如果需要高精度的手寫操作,或者觸摸屏與STR750之間有較長(zhǎng)的電纜連接,這時(shí)就需要用到專門的觸摸屏檢測(cè)芯片。
2.2 利用專用觸摸屏芯片
STR750向TSC2003發(fā)送控制字節(jié)來(lái)控制TSC2003的操作。其中d7~d4是配置位,用來(lái)配置當(dāng)前TSC2003的操作類型;d3~d2是節(jié)能位,用來(lái)配置是否打開內(nèi)部參考電壓和ADC;d1為精度控制位,用來(lái)選擇12位采樣精度或8位采樣精度;d0位為保留位。
TSC2003上電后,由STR750通過(guò)I2C總線向TSC2003發(fā)送控制命令,其中配置位為“測(cè)量X軸坐標(biāo)”,發(fā)送該控制命令使TSC2003進(jìn)入等待狀態(tài)。當(dāng)TSC2003檢測(cè)到有觸摸按下事件,會(huì)在IRQ引腳產(chǎn)生下降沿電平,從而觸發(fā)STR750的下降沿中斷。進(jìn)入中斷后,經(jīng)過(guò)消抖延時(shí),STR750向TSC2003發(fā)送控制命令,配置位為“測(cè)量X軸坐標(biāo)”。通過(guò)讀取TSC2003狀態(tài)獲取X軸坐標(biāo)值。下一步,STR750向TSC2003發(fā)送控制命令,配置位為“測(cè)量y軸坐標(biāo)”,通過(guò)讀取TSC2003狀態(tài)獲取Y軸坐標(biāo)值。至此,完成一次讀取X軸和Y軸坐標(biāo)的操作。這樣讀取若干次坐標(biāo)軸,通過(guò)計(jì)算平均值和剔除野值得到觸摸屏坐標(biāo)值。整個(gè)過(guò)程中控制命令的節(jié)能位和精度控制位分別始終保持為“在2次轉(zhuǎn)換間節(jié)能”和“12位采樣精度”。這里需要注意的是,在發(fā)送控制命令讀取坐標(biāo)軸的2次操作之間需要一段延時(shí)以獲得比較準(zhǔn)確的A/D采樣值,一般至少延時(shí)10μs。
3、總結(jié)
本文針對(duì)四線式觸摸屏與單片機(jī)間2種形式的接口進(jìn)行了討論,這2種方案均達(dá)到了很好的實(shí)際使用效果。不同的設(shè)計(jì)思路適用于不同的應(yīng)用領(lǐng)域,以達(dá)到節(jié)約成本、降低功耗和提供滿足需求的觸摸屏檢測(cè)精度等目的。
關(guān)注我們
公眾號(hào):china_tp
微信名稱:亞威資訊
顯示行業(yè)頂級(jí)新媒體
掃一掃即可關(guān)注我們