基于TSC2007的觸摸屏設(shè)計(jì)方案
0 引言
TSC2007 是美國(guó) TI 公司推出的新一代 4 線制觸摸屏控制器,它在與觸摸屏連接后,一旦有筆或手指觸摸在屏上時(shí),便可以迅速得到該點(diǎn)的位置信號(hào),從而達(dá)到在觸摸屏表面上尋址的目的。
TSC2007 是典型的逐步逼近寄存器型 A / D 變換器,其結(jié)構(gòu)以電容再分布為基礎(chǔ),同時(shí)內(nèi)部包含有取樣/保持功能。 TSC2007 具有片內(nèi)溫度測(cè)量、觸摸壓力測(cè)量和預(yù)處理三項(xiàng)功能。 TSC2007 的主要特點(diǎn)如下:
◇具有 4 線制觸摸屏接口;
◇可單電源工作,電壓范圍為 1.2 ~ 3.6 V ;
◇帶有 I 2C 接口,能以標(biāo)準(zhǔn)模式、高速模式和超高速模式進(jìn)行數(shù)據(jù)傳輸與通訊;
◇具有可編程 8 位或 12 位分辨率;
◇具有 1 路輔助模擬量輸入;
◇具有靜電保護(hù)。
TSC2007 可廣泛用于有觸摸屏的應(yīng)用中,如個(gè)人數(shù)字助理 (PDA) 、筆記本電腦等。
1 TSC2007 觸摸屏控制器
1.1 引腳功能
TSC2007 的引腳和 TSC2003 的引腳完全兼容,可以插入和 TSC2003 相適應(yīng)的插座中,因此,可以很方便地替換原來(lái)使用的 TSC2003 以進(jìn)行更新升級(jí)。 TSC2007 采用 CMOS 工藝制作,具有 TSSOP16 和 WCSP12 兩種引腳封裝形式,其工作溫度范圍為 -40 ~ + 85 ℃ 。
圖 1 所示是 TSC2046 在 TSSOP 16 封裝形式下的引腳排列,各引腳功能如下:
◇工作電壓: +1.2 ~ +3.6V ;
◇ AD 采樣時(shí)間:≥ 160 ns ( 在 SCL=1.7 MHz 情況下 ) ;
◇ AD 轉(zhuǎn)換時(shí)間:≤ 150ns( 條件同上 ) ;
◇開(kāi)關(guān)延時(shí)時(shí)間:≤ 30ns ;
◇參考電壓范圍: +1.2 ~ +3.6 V ;
◇溫度范圍: -40 ~ + 85 ℃ ;
◇靜電保護(hù)電壓:≤± 8kV ;
◇功耗:≤ 53.32 μ W( 在 2.7 V ,高速模式情況下 ) 。
1.3 TSC2007 的工作方式
由于在觸摸屏被點(diǎn)擊之后,一般都需要確定所點(diǎn)擊點(diǎn)的 X 、 Y 坐標(biāo)參數(shù),以備系統(tǒng)處理并發(fā)送相應(yīng)的消息。為此,設(shè)計(jì)時(shí)就需要對(duì) TSC2007 進(jìn)行讀寫(xiě)操作。
TSC2007 的寫(xiě)操作時(shí)序如圖 2 所示。當(dāng) SCL 為高電平時(shí), SDA 由高電平向低電平跳變,系統(tǒng)開(kāi)始傳送數(shù)據(jù)。數(shù)據(jù)的前五位為固定的 10010 ,后兩位為地址,可表示四個(gè)從設(shè)備,第八位為 0( 表示 write) 。
當(dāng) TSC2007 收到數(shù)據(jù)后,會(huì)確認(rèn)一位 0 。然后由 MCU 收到確認(rèn)后,再發(fā)送一個(gè)字節(jié)的命令字,然后再等 TSC2007 確認(rèn),從而完成寫(xiě)操作,最后,再由 MCU 發(fā)送一個(gè)結(jié)束信號(hào)以結(jié)束操作。其中的命令字節(jié)含義如表 1 所列。
中的 PD1-PD0 為節(jié)能 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 確認(rèn)后, MCU 便可接受 8bit 或 12bit 數(shù)據(jù),也就是 TSC2007 發(fā)送的 x 值或者 y 值。
1.4 TSC2007 的讀寫(xiě)操作注意事項(xiàng)
SDA 引腳及 SCL 引腳上數(shù)據(jù)的改變必須延時(shí)一段適當(dāng)?shù)臅r(shí)間,延時(shí)太短,數(shù)據(jù)讀入可能不成功,太長(zhǎng)則浪費(fèi)系統(tǒng)資源。一般可在 20 μ s 左右。讀寫(xiě)操作時(shí)的時(shí)序非常重要。 SDA 線上的數(shù)據(jù)狀態(tài)僅在 SCL 為低電平期間才能改變,而在 SCL 為高電平期間, SDA 狀態(tài)的改變則被用來(lái)表示數(shù)據(jù)傳輸?shù)钠鹗己屯V箺l件。因此,若時(shí)序控制不好,則將得不到正確的讀數(shù)。同時(shí),當(dāng)主處理器在對(duì) TSC2007 進(jìn)行寫(xiě)操作時(shí)。還應(yīng)該屏蔽它的中斷腳 PENIRQ ,這樣可以阻止中斷腳的不停下降而觸發(fā)中斷。
2 硬件設(shè)計(jì)
2.1 TSC2007 的硬件連接電路
基于 TSC2007 的觸摸屏接口電路連接圖如圖 4 所示。其中, 10 腳 (PENIRQ) 、 11 腳 (SDA) 、 12 腳 (SCL) 分別與 MCU 的 3 個(gè) GPIO 口 ( 通用輸入輸出腳 ) 進(jìn)行通信。通過(guò)程序模擬在 SCL 腳上產(chǎn)生方波,就可在 SDA 腳上進(jìn)行數(shù)據(jù)的傳輸,并在 PENIRQ 腳上傳輸中斷信號(hào)。
2.2 I 2C 總線原理
I 2C 總線是由數(shù)據(jù)線 SDA 和時(shí)鐘 SCI 胸成的串行總線,可用于發(fā)送和接收數(shù)據(jù)。其 CPU 與被控 IC 之間、 IC 與 IC 之間進(jìn)行雙向傳送的最高傳送速率可達(dá) 100 kbps 。各種被控制電路均可并聯(lián)在這條總線上,但就像電話機(jī)一樣,只有撥通各自的號(hào)碼才能工作,所以,每個(gè)電路和模塊都有唯一的地址。在信息傳輸過(guò)程中, I 2C 總線上并接的每一模塊電路既是主控器 ( 或被控器 ) ,又是發(fā)送器 ( 或接收器 ) ,這取決于它所要完成的功能。 CPU 發(fā)出的控制信號(hào)分為地址碼和控制量則用于兩部分,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類(lèi);控制量決定該調(diào)整的類(lèi)別 ( 如對(duì)比度、亮度等 ) 及需要調(diào)整的量。這樣。各控制電路雖然掛在同一條 I 2C 總線上,但卻彼此獨(dú)立,互不相關(guān)。
I 2C 總線在傳送數(shù)據(jù)過(guò)程中共有三種類(lèi)型信號(hào),它們分別是:開(kāi)始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。其中,開(kāi)始信號(hào)用于在 SCL 為高電平時(shí),通過(guò) SDA 由高向低的跳變來(lái)開(kāi)始傳送數(shù)據(jù);而結(jié)束信號(hào) SCL 為低電平時(shí),通過(guò) SDA 由低向高的跳變來(lái)結(jié)束數(shù)據(jù)傳送;應(yīng)答信號(hào)則是在接收數(shù)據(jù)的 IC 在接收到 8 bit 數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的 IC 發(fā)出特定的低電平脈沖應(yīng)答,以表示收到數(shù)據(jù)。
當(dāng) CPU 向受控單元發(fā)出一個(gè)信號(hào)后,系統(tǒng)將等待受控單元發(fā)回應(yīng)答信號(hào), CPU 接收到應(yīng)答信號(hào)后,將根據(jù)情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),則判斷為受控單元出現(xiàn)故障。
I 2C 規(guī)程采用主/從雙向通訊方式。向總線發(fā)送數(shù)據(jù)的器件定義為發(fā)送器,從總線接收數(shù)據(jù)則為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。但總線必須由主器件 ( 通常為微控制器 ) 控制,主器件可產(chǎn)生串行時(shí)鐘 (SCL) 以控制總線的傳輸方向,并產(chǎn)生起始和停止條件。
3 軟件實(shí)現(xiàn)
設(shè)計(jì)軟件時(shí),可采用系統(tǒng)輪詢(xún)或者中斷方式來(lái)實(shí)現(xiàn)觸摸屏功能。在嵌入式系統(tǒng)中,如果系統(tǒng)多數(shù)時(shí)間處于空閑狀態(tài),則可考慮采用輪詢(xún);否則可考慮采用中斷方式來(lái)處理觸摸屏信號(hào)。本方案采取中斷方式,其中斷入口程序流程圖如圖 5 所示。系統(tǒng)初始化時(shí),首先將 TSC2007 設(shè)成 PowerDown 模式,當(dāng)觸摸屏上有點(diǎn)擊時(shí),上將產(chǎn)生一個(gè)下降脈沖,以引發(fā)中斷。此時(shí)系統(tǒng)進(jìn)入觸摸屏的中斷向量。當(dāng)中斷處理程序判斷數(shù)據(jù)有效后,即設(shè)置一個(gè) timer ,每隔大約 20 μ s 進(jìn)行一次 X 、 Y 值的讀寫(xiě),并將取得的值存入 buffer 中,然后進(jìn)行去抖、校正處理,同時(shí)判斷當(dāng)前狀態(tài) (PRESS 、 MOVE 、 RELEASE 等 ) ,最后將有效的 X 、 Y 值取平均值后發(fā)送到系統(tǒng)的消息隊(duì)列。
4 結(jié)束語(yǔ)
在實(shí)際應(yīng)用的基礎(chǔ)上,本文介紹了利用觸摸屏控制器 TSC2007 實(shí)現(xiàn)觸摸屏功能的設(shè)計(jì)方案。通過(guò)這款功能強(qiáng)大,操作簡(jiǎn)便的觸摸屏控制器,能精確快速地在諸如手機(jī)、 Mp3 、 ATM 機(jī)等設(shè)備上實(shí)現(xiàn)便攜式電子產(chǎn)品及其他多媒體設(shè)備的觸摸屏功能??梢灶A(yù)見(jiàn),隨著觸摸屏技術(shù)的迅速發(fā)展,觸摸屏對(duì)于計(jì)算機(jī)技術(shù)的普及利用將發(fā)揮重要作用。