基于TSC2007的觸摸屏設計方案
當 TSC2007 收到數據后,會確認一位 0 。然后由 MCU 收到確認后,再發(fā)送一個字節(jié)的命令字,然后再等 TSC2007 確認,從而完成寫操作,最后,再由 MCU 發(fā)送一個結束信號以結束操作。其中的命令字節(jié)含義如表 1 所列。
本文引用地址:http://www.biyoush.com/article/169525.htm中的 PD1-PD0 為節(jié)能 bit 位; M 為模式位,該位為 0 表示 TSC2007 是 12 bit 模式,為 1 時是 8 bit 模式; X 為無關位。
TSC2007 的讀操作時序圖如 3 所示。讀操作時,首先由 MCU 發(fā)送一個開始信息,然后傳送 8bit 地址信息,該信息與寫操作時傳送的前 7 個 bit 位一樣,只是第 8 個 bit 為 1( 表示 read) 。此后,經 TSC2007 確認后, MCU 便可接受 8bit 或 12bit 數據,也就是 TSC2007 發(fā)送的 x 值或者 y 值。
1.4 TSC2007 的讀寫操作注意事項
SDA 引腳及 SCL 引腳上數據的改變必須延時一段適當的時間,延時太短,數據讀入可能不成功,太長則浪費系統資源。一般可在 20 μ s 左右。讀寫操作時的時序非常重要。 SDA 線上的數據狀態(tài)僅在 SCL 為低電平期間才能改變,而在 SCL 為高電平期間, SDA 狀態(tài)的改變則被用來表示數據傳輸的起始和停止條件。因此,若時序控制不好,則將得不到正確的讀數。同時,當主處理器在對 TSC2007 進行寫操作時。還應該屏蔽它的中斷腳 PENIRQ ,這樣可以阻止中斷腳的不停下降而觸發(fā)中斷。
2 硬件設計
2.1 TSC2007 的硬件連接電路
基于 TSC2007 的觸摸屏接口電路連接圖如圖 4 所示。其中, 10 腳 (PENIRQ) 、 11 腳 (SDA) 、 12 腳 (SCL) 分別與 MCU 的 3 個 GPIO 口 ( 通用輸入輸出腳 ) 進行通信。通過程序模擬在 SCL 腳上產生方波,就可在 SDA 腳上進行數據的傳輸,并在 PENIRQ 腳上傳輸中斷信號。
2.2 I 2C 總線原理
I 2C 總線是由數據線 SDA 和時鐘 SCI 胸成的串行總線,可用于發(fā)送和接收數據。其 CPU 與被控 IC 之間、 IC 與 IC 之間進行雙向傳送的最高傳送速率可達 100 kbps 。各種被控制電路均可并聯在這條總線上,但就像電話機一樣,只有撥通各自的號碼才能工作,所以,每個電路和模塊都有唯一的地址。在信息傳輸過程中, I 2C 總線上并接的每一模塊電路既是主控器 ( 或被控器 ) ,又是發(fā)送器 ( 或接收器 ) ,這取決于它所要完成的功能。 CPU 發(fā)出的控制信號分為地址碼和控制量則用于兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別 ( 如對比度、亮度等 ) 及需要調整的量。這樣。各控制電路雖然掛在同一條 I 2C 總線上,但卻彼此獨立,互不相關。
I 2C 總線在傳送數據過程中共有三種類型信號,它們分別是:開始信號、結束信號和應答信號。其中,開始信號用于在 SCL 為高電平時,通過 SDA 由高向低的跳變來開始傳送數據;而結束信號 SCL 為低電平時,通過 SDA 由低向高的跳變來結束數據傳送;應答信號則是在接收數據的 IC 在接收到 8 bit 數據后,向發(fā)送數據的 IC 發(fā)出特定的低電平脈沖應答,以表示收到數據。
當 CPU 向受控單元發(fā)出一個信號后,系統將等待受控單元發(fā)回應答信號, CPU 接收到應答信號后,將根據情況作出是否繼續(xù)傳遞信號的判斷。若未收到應答信號,則判斷為受控單元出現故障。
I 2C 規(guī)程采用主/從雙向通訊方式。向總線發(fā)送數據的器件定義為發(fā)送器,從總線接收數據則為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。但總線必須由主器件 ( 通常為微控制器 ) 控制,主器件可產生串行時鐘 (SCL) 以控制總線的傳輸方向,并產生起始和停止條件。
3 軟件實現
設計軟件時,可采用系統輪詢或者中斷方式來實現觸摸屏功能。在嵌入式系統中,如果系統多數時間處于空閑狀態(tài),則可考慮采用輪詢;否則可考慮采用中斷方式來處理觸摸屏信號。本方案采取中斷方式,其中斷入口程序流程圖如圖 5 所示。系統初始化時,首先將 TSC2007 設成 PowerDown 模式,當觸摸屏上有點擊時,上將產生一個下降脈沖,以引發(fā)中斷。此時系統進入觸摸屏的中斷向量。當中斷處理程序判斷數據有效后,即設置一個 timer ,每隔大約 20 μ s 進行一次 X 、 Y 值的讀寫,并將取得的值存入 buffer 中,然后進行去抖、校正處理,同時判斷當前狀態(tài) (PRESS 、 MOVE 、 RELEASE 等 ) ,最后將有效的 X 、 Y 值取平均值后發(fā)送到系統的消息隊列。
4 結束語
在實際應用的基礎上,本文介紹了利用觸摸屏控制器 TSC2007 實現觸摸屏功能的設計方案。通過這款功能強大,操作簡便的觸摸屏控制器,能精確快速地在諸如手機、 Mp3 、 ATM 機等設備上實現便攜式電子產品及其他多媒體設備的觸摸屏功能。可以預見,隨著觸摸屏技術的迅速發(fā)展,觸摸屏對于計算機技術的普及利用將發(fā)揮重要作用。
評論