基于TSC2007的觸摸屏設計方案
當 TSC2007 收到數據后,會(huì )確認一位 0 。然后由 MCU 收到確認后,再發(fā)送一個(gè)字節的命令字,然后再等 TSC2007 確認,從而完成寫(xiě)操作,最后,再由 MCU 發(fā)送一個(gè)結束信號以結束操作。其中的命令字節含義如表 1 所列。
本文引用地址:http://dyxdggzs.com/article/169525.htm
中的 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ā)揮重要作用。
相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論