0 引言
TSC2007 是美國 TI 公司推出的新一代 4 線(xiàn)制觸摸屏控制器,它在與觸摸屏連接后,一旦有筆或手指觸摸在屏上時(shí),便可以迅速得到該點(diǎn)的位置信號,從而達到在觸摸屏表面上尋址的目的。
TSC2007 是典型的逐步逼近寄存器型 A / D 變換器,其結構以電容再分布為基礎,同時(shí)內部包含有取樣/保持功能。 TSC2007 具有片內溫度測量、觸摸壓力測量和預處理三項功能。 TSC2007 的主要特點(diǎn)如下:
◇具有 4 線(xiàn)制觸摸屏接口;
◇可單電源工作,電壓范圍為 1.2 ~ 3.6 V ;
◇帶有 I 2C 接口,能以標準模式、高速模式和超高速模式進(jìn)行數據傳輸與通訊;
◇具有可編程 8 位或 12 位分辨率;
◇具有 1 路輔助模擬量輸入;
◇具有靜電保護。
TSC2007 可廣泛用于有觸摸屏的應用中,如個(gè)人數字助理 (PDA) 、筆記本電腦等。
1 TSC2007 觸摸屏控制器
1.1 引腳功能
TSC2007 的引腳和 TSC2003 的引腳完全兼容,可以插入和 TSC2003 相適應的插座中,因此,可以很方便地替換原來(lái)使用的 TSC2003 以進(jìn)行更新升級。 TSC2007 采用 CMOS 工藝制作,具有 TSSOP16 和 WCSP12 兩種引腳封裝形式,其工作溫度范圍為 -40 ~ + 85 ℃ 。
圖 1 所示是 TSC2046 在 TSSOP 16 封裝形式下的引腳排列,各引腳功能如下:

◇工作電壓: +1.2 ~ +3.6V ;
◇ AD 采樣時(shí)間:≥ 160 ns ( 在 SCL="1".7 MHz 情況下 ) ;
◇ AD 轉換時(shí)間:≤ 150ns( 條件同上 ) ;
◇開(kāi)關(guān)延時(shí)時(shí)間:≤ 30ns ;
◇參考電壓范圍: +1.2 ~ +3.6 V ;
◇溫度范圍: -40 ~ + 85 ℃ ;
◇靜電保護電壓:≤± 8kV ;
◇功耗:≤ 53.32 μ W( 在 2.7 V ,高速模式情況下 ) 。
1.3 TSC2007 的工作方式
由于在觸摸屏被點(diǎn)擊之后,一般都需要確定所點(diǎn)擊點(diǎn)的 X 、 Y 坐標參數,以備系統處理并發(fā)送相應的消息。為此,設計時(shí)就需要對 TSC2007 進(jìn)行讀寫(xiě)操作。
TSC2007 的寫(xiě)操作時(shí)序如圖 2 所示。當 SCL 為高電平時(shí), SDA 由高電平向低電平跳變,系統開(kāi)始傳送數據。數據的前五位為固定的 10010 ,后兩位為地址,可表示四個(gè)從設備,第八位為 0( 表示 write) 。

當 TSC2007 收到數據后,會(huì )確認一位 0 。然后由 MCU 收到確認后,再發(fā)送一個(gè)字節的命令字,然后再等 TSC2007 確認,從而完成寫(xiě)操作,最后,再由 MCU 發(fā)送一個(gè)結束信號以結束操作。其中的命令字節含義如表 1 所列。

中的 PD1-PD0 為節能 bit 位; M 為模式位,該位為 0 表示 TSC2007 是 12 bit 模式,為 1 時(shí)是 8 bit 模式; X 為無(wú)關(guān)位。
TSC2007 的讀操作時(shí)序圖如 3 所示。讀操作時(shí),首先由 MCU 發(fā)送一個(gè)開(kāi)始信息,然后傳送 8bit 地址信息,該信息與寫(xiě)操作時(shí)傳送的前 7 個(gè) bit 位一樣,只是第 8 個(gè) bit 為 1( 表示 read) 。此后,經(jīng) TSC2007 確認后, MCU 便可接受 8bit 或 12bit 數據,也就是 TSC2007 發(fā)送的 x 值或者 y 值。
1.4 TSC2007 的讀寫(xiě)操作注意事項
SDA 引腳及 SCL 引腳上數據的改變必須延時(shí)一段適當的時(shí)間,延時(shí)太短,數據讀入可能不成功,太長(cháng)則浪費系統資源。一般可在 20 μ s 左右。讀寫(xiě)操作時(shí)的時(shí)序非常重要。 SDA 線(xiàn)上的數據狀態(tài)僅在 SCL 為低電平期間才能改變,而在 SCL 為高電平期間, SDA 狀態(tài)的改變則被用來(lái)表示數據傳輸的起始和停止條件。因此,若時(shí)序控制不好,則將得不到正確的讀數。同時(shí),當主處理器在對 TSC2007 進(jìn)行寫(xiě)操作時(shí)。還應該屏蔽它的中斷腳 PENIRQ ,這樣可以阻止中斷腳的不停下降而觸發(fā)中斷。
2 硬件設計
2.1 TSC2007 的硬件連接電路

基于 TSC2007 的觸摸屏接口電路連接圖如圖 4 所示。其中, 10 腳 (PENIRQ) 、 11 腳 (SDA) 、 12 腳 (SCL) 分別與 MCU 的 3 個(gè) GPIO 口 ( 通用輸入輸出腳 ) 進(jìn)行通信。通過(guò)程序模擬在 SCL 腳上產(chǎn)生方波,就可在 SDA 腳上進(jìn)行數據的傳輸,并在 PENIRQ 腳上傳輸中斷信號。
2.2 I 2C 總線(xiàn)原理
I 2C 總線(xiàn)是由數據線(xiàn) SDA 和時(shí)鐘 SCI 胸成的串行總線(xiàn),可用于發(fā)送和接收數據。其 CPU 與被控 IC 之間、 IC 與 IC 之間進(jìn)行雙向傳送的最高傳送速率可達 100 kbps 。各種被控制電路均可并聯(lián)在這條總線(xiàn)上,但就像電話(huà)機一樣,只有撥通各自的號碼才能工作,所以,每個(gè)電路和模塊都有唯一的地址。在信息傳輸過(guò)程中, I 2C 總線(xiàn)上并接的每一模塊電路既是主控器 ( 或被控器 ) ,又是發(fā)送器 ( 或接收器 ) ,這取決于它所要完成的功能。 CPU 發(fā)出的控制信號分為地址碼和控制量則用于兩部分,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類(lèi);控制量決定該調整的類(lèi)別 ( 如對比度、亮度等 ) 及需要調整的量。這樣。各控制電路雖然掛在同一條 I 2C 總線(xiàn)上,但卻彼此獨立,互不相關(guān)。
I 2C 總線(xiàn)在傳送數據過(guò)程中共有三種類(lèi)型信號,它們分別是:開(kāi)始信號、結束信號和應答信號。其中,開(kāi)始信號用于在 SCL 為高電平時(shí),通過(guò) SDA 由高向低的跳變來(lái)開(kāi)始傳送數據;而結束信號 SCL 為低電平時(shí),通過(guò) SDA 由低向高的跳變來(lái)結束數據傳送;應答信號則是在接收數據的 IC 在接收到 8 bit 數據后,向發(fā)送數據的 IC 發(fā)出特定的低電平脈沖應答,以表示收到數據。
當 CPU 向受控單元發(fā)出一個(gè)信號后,系統將等待受控單元發(fā)回應答信號, CPU 接收到應答信號后,將根據情況作出是否繼續傳遞信號的判斷。若未收到應答信號,則判斷為受控單元出現故障。
I 2C 規程采用主/從雙向通訊方式。向總線(xiàn)發(fā)送數據的器件定義為發(fā)送器,從總線(xiàn)接收數據則為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。但總線(xiàn)必須由主器件 ( 通常為微控制器 ) 控制,主器件可產(chǎn)生串行時(shí)鐘 (SCL) 以控制總線(xiàn)的傳輸方向,并產(chǎn)生起始和停止條件。
3 軟件實(shí)現
設計軟件時(shí),可采用系統輪詢(xún)或者中斷方式來(lái)實(shí)現觸摸屏功能。在嵌入式系統中,如果系統多數時(shí)間處于空閑狀態(tài),則可考慮采用輪詢(xún);否則可考慮采用中斷方式來(lái)處理觸摸屏信號。本方案采取中斷方式,其中斷入口程序流程圖如圖 5 所示。系統初始化時(shí),首先將 TSC2007 設成 PowerDown 模式,當觸摸屏上有點(diǎn)擊時(shí),上將產(chǎn)生一個(gè)下降脈沖,以引發(fā)中斷。此時(shí)系統進(jìn)入觸摸屏的中斷向量。當中斷處理程序判斷數據有效后,即設置一個(gè) TImer ,每隔大約 20 μ s 進(jìn)行一次 X 、 Y 值的讀寫(xiě),并將取得的值存入 buffer 中,然后進(jìn)行去抖、校正處理,同時(shí)判斷當前狀態(tài) (PRESS 、 MOVE 、 RELEASE 等 ) ,最后將有效的 X 、 Y 值取平均值后發(fā)送到系統的消息隊列。

4 結束語(yǔ)
在實(shí)際應用的基礎上,本文介紹了利用觸摸屏控制器 TSC2007 實(shí)現觸摸屏功能的設計方案。通過(guò)這款功能強大,操作簡(jiǎn)便的觸摸屏控制器,能精確快速地在諸如手機、 Mp3 、 ATM 機等設備上實(shí)現便攜式電子產(chǎn)品及其他多媒體設備的觸摸屏功能?梢灶A見(jiàn),隨著(zhù)觸摸屏技術(shù)的迅速發(fā)展,觸摸屏對于計算機技術(shù)的普及利用將發(fā)揮重要作用。
我司的觸摸屏控制IC資料請查閱:http://www.webuyspringsrealestate.com/product_1005.htm
|