天天看點

S5PV210系列 (裸機十八)之 觸摸屏

輸入類裝置簡介

input/output

(1)IO輸入輸出,是計算機系統中的一個概念。計算機的主要功能就是從外部擷取資料然後進行計算加工得到輸出資料并輸出給外部(計算機可以看成資料處理器)。計算機和外部互動就是通過IO。每一台計算機都有個标準輸入和标準輸出。

常見輸入類裝置

(1)鍵盤、滑鼠、觸摸屏、遊戲搖杆、傳感器、(攝像頭并不是一個典型的輸入類裝置)

觸摸屏的特點

(1)觸摸屏和人的關系很緊密,尤其是電容式觸摸屏。

(2)觸摸屏和顯示器關系很緊密。

(3)典型應用:手機、平闆電腦、收銀機、工業領域。

觸摸屏的分類

(1)常見的觸摸屏分為 2 種:電阻式觸摸屏和電容式觸摸屏。早期用電阻式觸摸屏,後來發明了電容式觸摸屏。

(2)這兩種的特性不同、接口不同、程式設計方法不同、原理不同。

觸摸屏和顯示屏的聯系與差別

(1)首先要搞清楚:觸摸屏是觸摸屏,用來響應人的觸摸事件的;顯示屏是顯示屏,用來顯示的。現在用的顯示屏一般都是 LCD。

(2)為什麼很多人會搞混這兩個概念,主要是因為一般産品上觸摸屏和顯示屏是做在一起的。一般外層是一層觸摸屏,觸摸屏是透明的,很薄;底下是顯示屏用來顯示圖像,平時看到的圖像是顯示屏顯示并且透過觸摸屏讓人看到的。

電阻式觸摸屏的原理

薄膜+玻璃(需要尖銳硬物點選)

(1)要點是薄、透明。前面闆硬度稍弱,可以被硬物按下彎曲,後面闆硬度很高,不會彎曲。

(2)前面闆和後面闆在平時沒有挨住,在外力按下之下,前面闆發生(局部)形變,在這一點上前後面闆會挨住。

ITO(導電+透明+均勻壓降)

(1) ITO 是一種材料,其實是一種塗料,特點就是透明、導電、均勻塗抹。

(2)本來玻璃和塑膠都是不導電的,但是塗上 ITO 之後就變成導電了(同時還保持着原來透明的特性)。

(3) ITO 不但導電而且有電阻,是以中間均勻塗抹了 ITO 之後就相當于在 x1 和 y1 之間接了一個電阻,在 x2 和 y2 之間也接了一個電阻。因為 ITO 形成的等效電阻在整個闆上是均勻分布的,所在在闆子上某一點的電壓值和這一點的位置值成正比。

(4)觸摸屏經過操作,按下之後要的就是按下的坐标,坐标其實就是位置資訊,這個位置資訊和電壓成正比了,而這一點的電壓可以通過 AD 轉換得到。這就是整個電阻式觸摸屏的工作原理。

X/Y 軸分時 AD 轉換

(1)下面要研究如何得到按下的這點的電壓。

(2)在第一個面闆的一對電極上加電壓,然後在另一個面闆的一個電極和第一個面闆的地之間去測量。在沒有按下時測試無結果,但是在有人按下時在按下的那一點 2 個面闆接觸,接觸會導緻第二個面闆上整體的電壓值和接觸處的電壓值相等,是以此時測量到的電壓就是接觸處在第一個面闆上的電壓值。

(3)以上過程在一個方向進行一次即可測得該方向的坐标值,進行完之後撤掉電壓然後在另一個方向的電極上加電壓,故伎重施,即可得到另一個方向的坐标。至此一次觸摸事件結束。

電壓值對應坐标值(校準)

(1)電壓值和坐标值成正比的,是以需要去校準它。校準就是去計算 (0, 0)坐标點的電壓值是多少。

S5PV210的電阻觸摸屏控制器

ADC與觸摸屏控制器結構框圖

(1)S5PV210一共支援10路模拟輸入,分别為AIN0-AIN9.其中AIN0和AIN1是隻做模拟輸入的,AIN2-AIN9分别可以支援2個電阻式觸摸屏。是以4個模拟輸入引腳負責一個電阻式觸摸屏。

(2)AD轉換和觸摸屏控制部分有2個附屬單元。其中一個是反向控制AINn引腳的邏輯,主要作用是在觸摸屏擷取坐标的過程中分時給xy方向供電和測量;第二個是中斷産生部件,如果AD轉換完成(主要針對AIN0和AIN1這兩路的)或者觸摸屏被人按下/彈起時,中斷産生部件會産生一個中斷通知CPU來處理事件,這樣就不用輪詢監測觸摸屏事件了。

Normal Operation Mode & Separate X/Y Position Convertion Mode

(1)AD轉換器有2種工作模式:正常操作模式和分時X/Y位置轉換模式。

(2)正常操作模式用作普通的AD轉換,分時X/Y位置轉換模式用作電阻式觸摸屏。正常AD轉換下将AD轉換值放在TSDATX中,在分時X/Y模式下會将X/Y坐标分别放在TSDATX和TSDATY中。

(3)對于AIN0和AIN1來說沒有這麼多模式,他們隻能工作在普通模式;對于AIN2-AIN9來說,因為被複用,是以才有2種模式。如果我們将這幾個引腳用作普通AD轉換則配置為普通模式,如果用作電阻式觸摸屏檢測,則配置成分時X/Y模式。

中斷參與

(1)其實普通AD轉換和觸摸屏AD轉換本身都可以不在中斷參與下完成。

(2)普通AD轉換如果不要中斷,那就去查詢。開啟一次轉換後然後不斷查詢标志位,直到AD轉換完硬體自動置位标志位後我們才去讀取轉換值就不會錯。當然也可以用中斷,控制器提供了一個相應的中斷給普通AD轉換。

(3)觸摸屏也可以用或者不用中斷。對于SoC來說永遠不知道人會什麼時候按下或者彈起觸摸屏,是以觸摸屏的按下/彈起對SoC來說是純粹的異步事件。對于這種情況SOC隻有2種解決方案:輪詢和中斷。

電容觸摸屏的原理

人體電流感應

(1)利用人體電流感應現象,在手指和螢幕之間形成一個電容,手指觸摸時吸走一個微小電流,這個電流會導緻觸摸闆上4個電極上發生電流流動,控制器通過計算這4個電流的比例就能算出觸摸點的坐标(這個計算過程中涉及到AD轉換)。

專用電路計算坐标

(1)電阻式觸摸屏本身是一個完全被動器件,裡面沒有任何IC和電路,它的工作邏輯完全在SoC控制器上;但是電容式觸摸屏不同,電容式觸摸屏需要自帶一個IC進行坐标計算。是以電容式觸摸屏工作時不需要主機SoC控制器參與。

(2)為什麼這樣設計?主要原因是因為電容式觸摸屏的坐标計算太複雜,普通程式員無法寫出合适的代碼解決這個問題,是以在電容式觸摸屏中除了觸摸闆之外還附加了一個IC進行專門的坐标點計算和統計。這個IC全權負責操控觸摸闆得到觸摸操作資訊,然後再通過數字接口和主機SoC進行通信。

多個區塊支援多點觸摸

(1)電阻觸摸屏不支援多點觸摸,這是它本身的原理所限制,無法改變無法提升。

(2)電容式觸摸屏可以支援多點觸摸(也可以單點觸摸)。按照之前講的電容式觸摸屏的原理,單個電容式觸摸屏面闆也無法支援多點觸摸,但是可以将一個大的觸摸面闆分成多個小的區塊,每個區塊相當于是一個獨立的小的電容式觸摸屏面闆。

(3)多個區塊支援多點觸摸讓電容觸摸屏坐标計算變複雜了,但是這個複雜性被電容觸摸IC吸收了,還是通過數字接口和主機SoC通信報告觸摸資訊(觸摸點數、每個觸摸點的坐标等)。

對外提供I2C的通路接口

(1)整個電容觸摸屏包含2部分:觸摸闆和電容觸摸IC。觸摸闆就是一個實體器件,電容觸摸IC一般做到觸摸屏的軟排線(FPC)上面,電容觸摸IC負責操控觸摸闆、通過AD轉換和分析得到觸摸點個數、觸摸坐标等資訊,然後以特定的數字接口與SoC通信。這個數字接口就是I2C。

(2)對于我們主機SoC來說,電容式觸摸屏其實就是一個I2C從裝置。主機隻需要通過I2C總線對這個從裝置進行通路即可(從裝置有自己特定的從裝置位址)。從這裡來講,其實電容式觸摸屏和其他的傳感器(gsensor等)并沒有任何差別。

ft5x06電容觸摸IC簡介

電阻式觸摸屏和電容式觸摸屏的特點對比

(1)耐久性 電容式觸摸屏不容易壞,電阻式觸摸屏易壞

(2)抗幹擾性 電容式觸摸屏差一些,電阻式觸摸屏要好一些

(3)精準度 電容式觸摸屏差一些,電阻式觸摸屏好一些

(4)使用者體驗 電容式觸摸屏要好一些,電阻式觸摸屏要差一些

(5)價格 電容式觸摸屏貴一些,電阻式觸摸屏便宜很多

思考:為什麼工業應用中要用電阻式觸摸屏?

(1)消費電子産品(手機、平闆電腦)用電容式觸摸屏。但是在工業領域都是用電阻式觸摸屏,就是因為工業領域環境比較惡劣,電容式觸摸屏容易受幹擾,是以不合适。

觸摸屏的發展方向

(1)更薄、更透明、更精準、支援點數更多。

(2)把電容觸摸屏和LCD做在一起。可以做到更薄、更透明、價格更低。但是面臨的困難是抗幹擾性要求更高。

ft5x06的資料手冊浏覽

(1)軟體工程師并不關心觸摸屏的工藝問題,隻關心軟體程式設計接口(實體層是I2C)。

繼續閱讀