觸摸屏在電子產(chǎn)品中用得越來(lái)越多,其技術(shù)也在不斷發(fā)展。目前常見(jiàn)的有電阻式、電容式、紅外式和表面聲波式等幾大類(lèi),其中電阻式最為普遍。最近在WinCE下調試了一款四線(xiàn)電阻式的觸摸屏驅動(dòng),利用檢測觸摸壓力的方法實(shí)現了動(dòng)態(tài)調整觸摸屏的靈敏度。
一般的嵌入式處理器中會(huì )有幾個(gè)通道的AD,通常有四個(gè)通道用于連接觸摸屏的XP、XM、YP和YM。如果MCU 沒(méi)有Touch Screen Interface,可以選擇如TSC2003一類(lèi)的觸摸屏控制器芯片。MCU可通過(guò)IIC總線(xiàn)與其通訊,以得到相應的觸摸屏AD采樣值。目前正在調試的TCC8900芯片內部集成了觸摸屏控制器,原廠(chǎng)的BSP中也提供了相應的驅動(dòng),實(shí)際測試時(shí)發(fā)現,該驅動(dòng)在4.3寸屏上工作得挺好,但在某些7寸屏上經(jīng)常會(huì )出現跳筆,尤其是在開(kāi)始按下和最后抬起時(shí),跳筆非常嚴重。在快速手寫(xiě)時(shí)也有跳筆的情況,并且導致筆跡非常不圓滑。在觸摸驅動(dòng)中使用多次采樣、去頭掐尾求平均等簡(jiǎn)單濾波算法,問(wèn)題仍然存在。經(jīng)分析,問(wèn)題的根源在于輕點(diǎn)觸摸屏時(shí)采樣值嚴重不準,所以即使采用濾波算法也無(wú)濟于事了。解決問(wèn)題要從根本出發(fā),在上報數據時(shí)須嚴進(jìn)寬出,壓力較小的采樣直接PASS,這樣可以很好的去除一些抖動(dòng)和跳筆。
參考TSC2003獲取觸摸壓力的方法修改觸摸驅動(dòng),單獨獲取XP、YP等值,通過(guò)計算得到按下觸摸屏時(shí)的電阻值。該值與點(diǎn)擊觸摸屏的位置無(wú)關(guān),只與點(diǎn)擊觸摸屏壓力大小有關(guān),壓力越大,該值越小。在實(shí)際使用時(shí)規定一個(gè)參考值,當該值小于該參考值時(shí)才認為是可靠按下,將采樣得到的坐標值上報,否則直接扔掉。由于觸摸屏硬件的差別,不同觸摸屏的靈敏度可能不一樣,可以通過(guò)應用程序修改驅動(dòng)中的參考值,從而實(shí)現動(dòng)態(tài)調整觸摸屏靈敏度。修改后實(shí)際測試發(fā)現,效果比原來(lái)要好一點(diǎn)。
按下四線(xiàn)電阻式觸摸屏,采樣時(shí)的等效電路圖如下所示。

XPOS=V*R2/(R1+R2) (式1)
Z1POS=V*R2/(R3+Rt+R2) (式2)
Z2POS=V*(Rt+R2)/(R3+Rt+R2) (式3)
由式2和3可得,Rt=(Z2/Z1-1)*R2 (式4)
由式1可得R2=XPOS*(R1+R2)/V,即R2=XPOS*(RXplate)/V (式5)
將式5和式4可得,

對于同一觸摸屏來(lái)說(shuō),Rx-plate是固定的,因為使用的是12bit的AD,故除以4096。對于觸摸屏壓力檢測來(lái)說(shuō),式6即能說(shuō)明當前壓力大小關(guān)系。
Ft=XPOS*Z2POS/Z1POS-XPOS (式6)
Ft的絕對值越小,說(shuō)明按下越可靠,采樣值有效。反之,可以認為是輕按,采樣值無(wú)效。 |