日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TS2003基于触摸屏的应用

發(fā)布時(shí)間:2025/4/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TS2003基于触摸屏的应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

********************************LoongEmbedded********************************

作者:LoongEmbedded(kandi)

時(shí)間:2011.10.22

類別:WINCE驅(qū)動(dòng)開發(fā)

********************************LoongEmbedded********************************

?

備注:基于TSC2003 4線式觸摸屏控制器,這樣就沒有用到S3C6410的觸摸屏控制器了。

?

1.?????? 觸摸屏硬件電路設(shè)計(jì)

圖1

上圖是TSC2003作為測(cè)試觸摸屏x和y坐標(biāo)應(yīng)用時(shí)的硬件設(shè)計(jì)圖,因?yàn)椴捎昧藢iT的觸摸屏控制芯片TSC2003作為觸摸屏控制器,所以此時(shí)就不需要用到CPU的觸摸屏控制器了,TSC2003和S3C6410的引腳連接關(guān)系如下:

GPB5------------------------------------------------SCL

GPB6------------------------------------------------SDA

GPN15/EIN15-------------------------------------PEN_IRQ

?

2.?????? TSC2003

TS2003是一個(gè)典型的12/8位的逐步逼近型AD轉(zhuǎn)換器,其結(jié)構(gòu)式基于電荷再分配的比例電容陣列結(jié)構(gòu),這樣的結(jié)構(gòu)本身具備采樣和保持的功能,此轉(zhuǎn)換器采用0.6u的CMOS工藝制造。它內(nèi)置了一個(gè)2.5v的基準(zhǔn)電壓電路和內(nèi)部時(shí)鐘,內(nèi)部基準(zhǔn)可以被外部的范圍為2V~+VDD的低阻抗(low-impedance)電壓源驅(qū)動(dòng),基準(zhǔn)電壓值決定了AD轉(zhuǎn)換器的輸入范圍。TS2003的工作電壓范圍是2.7V~5.25V。

?

TSC2003的模擬輸入(x、y和z坐標(biāo),輔助輸入,電池電壓和芯片溫度)通過一個(gè)多路復(fù)用器來選擇作為輸入信號(hào)提供給AD轉(zhuǎn)換器,一個(gè)特有的低導(dǎo)通電阻阻開關(guān)允許一個(gè)沒有被選擇的AD轉(zhuǎn)換器輸入通道給外部設(shè)備提供電壓(power),并且其對(duì)應(yīng)的引腳為外部設(shè)備接地。通過對(duì)轉(zhuǎn)換器采用差動(dòng)輸入和差動(dòng)基準(zhǔn)電壓架構(gòu),可以消除開光的導(dǎo)通電阻帶來的誤差。

圖2

TSC2003的主要功能是作為一個(gè)4線電阻式的觸摸屏控制器,它還可以直接測(cè)量電池電壓、支持兩個(gè)輔助的模擬輸入、溫度測(cè)試和觸摸壓力測(cè)試,通過IIC總線接口與中斷引腳來和處理器通訊。

2.1?? TSC2003引腳

+VDD??????? --------------------------------------工作電壓引腳

X+????????????? --------------------------------------X+坐標(biāo)輸入引腳

Y+????????????? --------------------------------------Y+坐標(biāo)輸入引腳

X-?????????????? --------------------------------------X-坐標(biāo)輸入引腳

Y-?????????????? --------------------------------------Y-坐標(biāo)輸入引腳

GND?????????????????? --------------------------------------接地引腳

VBAT1????? --------------------------------------電池檢測(cè)輸入引腳

VBAT2????? --------------------------------------電池監(jiān)測(cè)輸入引腳

VREF???????? --------------------------------------輸入/輸入基準(zhǔn)電壓

/PENIRQ? --------------------------------------pen中斷引腳,下降沿表示點(diǎn)擊觸摸屏。

SDA?????????? --------------------------------------IIC總線串行數(shù)據(jù)引腳

SCL??????????? --------------------------------------IIC總線串行時(shí)鐘引腳

A1????????????? --------------------------------------IIC總線地址輸入引腳1

A0????????????? --------------------------------------IIC總線地址輸入引腳0

IN2,IN1 --------------------------------------輔助AD轉(zhuǎn)換器輸入引腳

?

2.2?? TS2003的通訊

TS2003支持IIC串行總線和數(shù)據(jù)傳輸協(xié)議工作在三種模式下:標(biāo)準(zhǔn)、快速和高速模式。發(fā)送數(shù)據(jù)到串行總線上的設(shè)備稱為發(fā)送器,從串行總線上接受數(shù)據(jù)的設(shè)備稱為接收器,控制串行總線會(huì)話的設(shè)備稱為主設(shè)備,被主設(shè)備控制的稱為從設(shè)備。控制總線的主設(shè)備負(fù)責(zé)產(chǎn)生串行時(shí)鐘(SCL),控制總線訪問、產(chǎn)生開始和結(jié)束條件。TS2003是作為IIC總線的從設(shè)備,它通過開漏(open-drain)IO線SDA和SCL來連接到IIC總線上。

?

2.2.1????????? IIC總線狀態(tài)

只有在總線空閑的時(shí)候才能開始數(shù)據(jù)傳輸,并且在數(shù)據(jù)傳輸過程中,在SCL為高的時(shí)候,SDA必須保持穩(wěn)定的狀態(tài),也就是說SDA的狀態(tài)不能在這時(shí)候產(chǎn)生從從高到底或者低到高狀態(tài)的跳變,如果在SCL位高的時(shí)候,SDA發(fā)生變化,這就被認(rèn)為是控制信號(hào)(開始或者結(jié)束)。下面對(duì)已經(jīng)定義的總線狀態(tài)做一些描述:

1)?????? 總線不忙的狀態(tài)

SDA和SCL都是高的狀態(tài)。

2)?????? 開始數(shù)據(jù)傳輸

當(dāng)SCL為高的時(shí)候,SDA從高到底的跳變時(shí)為開始條件,這之后就可以開始數(shù)據(jù)傳輸了。

3)?????? 停止數(shù)據(jù)傳輸

當(dāng)SCL為高的時(shí)候,SDA從底到高的跳變時(shí)為停止條件,這表示數(shù)據(jù)傳輸結(jié)束了。

4)?????? 數(shù)據(jù)有效

在開始條件之后,在SCL為高期間內(nèi),SDA狀態(tài)保持穩(wěn)定,這期間的數(shù)據(jù)有效,否則作為控制信號(hào),每個(gè)脈沖對(duì)應(yīng)一個(gè)數(shù)據(jù)位。每個(gè)數(shù)據(jù)傳輸在開始條件后開始,在結(jié)束條件的時(shí)候結(jié)束,在產(chǎn)生開始和停止條件之間傳輸?shù)臄?shù)據(jù)沒有限制,而且傳輸?shù)臄?shù)據(jù)量由主設(shè)備決定,以字節(jié)位寬的長(zhǎng)度來傳輸數(shù)據(jù),并且每個(gè)接收器在接收到第9位時(shí),如果發(fā)送器發(fā)送的地址和自己的地址吻合,就發(fā)送應(yīng)答位(ACK=0),否則發(fā)送非應(yīng)答位(ACK=1)。

?

在IIC總線規(guī)格的范圍內(nèi),TSC2003可以工作在標(biāo)準(zhǔn)模式(100kHz時(shí)鐘頻率)、快速模式(400kHz時(shí)鐘頻率)和高速模式(3.4MHz時(shí)鐘頻率)。

5)?????? 應(yīng)答

每個(gè)正在接受的設(shè)備,當(dāng)接受完每個(gè)字節(jié)數(shù)據(jù)的時(shí)候藥產(chǎn)生一個(gè)應(yīng)答位,這時(shí)主設(shè)備必須產(chǎn)生一個(gè)額外的時(shí)鐘脈沖來結(jié)合這位應(yīng)答位。在應(yīng)答的時(shí)鐘脈沖高電平期間,發(fā)送應(yīng)答信號(hào)的設(shè)備必須拉低(pull down)SDA,當(dāng)然,也要把應(yīng)答信號(hào)對(duì)應(yīng)的時(shí)鐘脈沖的創(chuàng)建和保持時(shí)間考慮進(jìn)來,也就是說在脈沖的創(chuàng)建和保持時(shí)間的時(shí)候,也要保證SDA處于低電平的狀態(tài)下。

?

在最后一個(gè)字節(jié)從從設(shè)備(TS2003)傳送出來的時(shí)候,主設(shè)備(S3C6410)通過不產(chǎn)生應(yīng)答信號(hào)來告訴通知從設(shè)備輸出傳輸?shù)慕Y(jié)束,在這種情況下,從設(shè)備必須釋放SDA為高,這樣主設(shè)備才能產(chǎn)生結(jié)束信號(hào)。

圖3

2.2.2????????? IIC總線數(shù)據(jù)傳輸

IIC總線上數(shù)據(jù)的傳輸依賴于地址字節(jié)數(shù)據(jù)的R/W位,總線上有兩種類型的數(shù)據(jù)傳輸。

1)?????? 主發(fā)送器發(fā)送數(shù)據(jù)到從接收器

主設(shè)備發(fā)送第一個(gè)字節(jié)數(shù)據(jù)是從設(shè)備地址,接著發(fā)送許多字節(jié)數(shù)據(jù)。從設(shè)備在接收到字節(jié)地址和接收到每個(gè)字節(jié)都會(huì)發(fā)送應(yīng)答信號(hào)。

?

2)?????? 從發(fā)送器發(fā)送數(shù)據(jù)到主接收器

主設(shè)備發(fā)送第一個(gè)字節(jié)(從設(shè)備地址)后,從設(shè)備接著回發(fā)一個(gè)應(yīng)答位,然后從設(shè)備發(fā)送很多字節(jié)數(shù)據(jù)給主設(shè)備,除了最后一個(gè)字節(jié)數(shù)據(jù)之外,主設(shè)備都會(huì)緊接著回發(fā)一個(gè)應(yīng)答位,在最后一個(gè)字節(jié)數(shù)據(jù)接收后,主設(shè)備發(fā)送一個(gè)非應(yīng)答(not acknowledge,也即ACK=1),以表示主設(shè)備的數(shù)據(jù)接收結(jié)束。

?

2.2.3????????? TSC2003的模式

TSC2003可以工作在下面兩種模式下,都是從模式:

1)?????? 從接收模式

通過SDA和SCL分別接收串行數(shù)據(jù)和時(shí)鐘,每接收一個(gè)字節(jié)數(shù)據(jù),就發(fā)送一個(gè)應(yīng)答位。開始(START)信號(hào)和結(jié)束(STOP)信號(hào)被作為數(shù)據(jù)傳輸?shù)拈_始和結(jié)束。TSC2003在接收到從地址和方向位后,地址的識(shí)別通過硬件來實(shí)現(xiàn)的(TSC2003設(shè)備地址預(yù)先設(shè)置為10010)。

2)?????? 從發(fā)送模式

TSC2003作為從接收器時(shí),接收和處理第一個(gè)字節(jié)數(shù)據(jù)(從設(shè)備地址),但是,在從發(fā)送模式下,方向位指示傳輸方向的反轉(zhuǎn)。當(dāng)串行時(shí)鐘輸入到SCL,TSC2003就從SDA中發(fā)送數(shù)據(jù)給主接收器(s3c6410),START和STOP信號(hào)被識(shí)別為串行傳輸?shù)拈_始和結(jié)束。

?

2.2.4????????? TSC2003的地址字節(jié)

地址字節(jié)是主設(shè)備產(chǎn)生開始條件之后的第一個(gè)發(fā)送的字節(jié),格式如下圖所示:

圖4

TSC2003的高5位從地址預(yù)先設(shè)置為10010,緊接著的兩位A1和A0是設(shè)備選擇位,TSC2003的輸入引腳A1和A0決定了這兩位的值,見圖1中輸入引腳A1和A0接地,就表示A1=A0=0,因?yàn)橛肁1和A0這兩位用于選擇設(shè)備,所以一次最多只能有4個(gè)相同預(yù)置碼(same preset code)的設(shè)備可以掛在IIC總線上。A1和A0輸入引腳可以接在VDD或者數(shù)據(jù)地上。最后一位R/W定義執(zhí)行的操作,當(dāng)設(shè)置為1,表示是讀操作;當(dāng)設(shè)置為0,表示是寫操作。

?

2.2.5????????? TSC2003的命令字節(jié)

TSC2003的操作模式由命令字節(jié)數(shù)據(jù)來決定,格式如下

圖5

C3-C0:配置位,這些配置位用于指定多路復(fù)用器地址和功能,接著TSC2003就根據(jù)指定的功能來執(zhí)行,下面的表格式C3-C0配置位對(duì)應(yīng)的功能:

圖6

PD1-PD0:省電模式位,當(dāng)當(dāng)前選擇省電模式的命令執(zhí)行之后,TSC2003將工作于這兩位選擇的省電模式中,這兩位對(duì)應(yīng)的功能如下表

圖7

AD轉(zhuǎn)換器的內(nèi)部基準(zhǔn)電壓可以單獨(dú)被關(guān)閉或打開,這樣在額外的時(shí)間里,允許AD轉(zhuǎn)換器在做轉(zhuǎn)換(making a conversion)之前優(yōu)先設(shè)置內(nèi)部基準(zhǔn)電壓為它最后的值。從而可以確保內(nèi)部基準(zhǔn)電路在省電模式時(shí)能夠有額外的喚醒時(shí)間(wakeup time,也就由關(guān)閉轉(zhuǎn)為打開。),另外需要注意是,在命令字節(jié)傳輸之后的一個(gè)STOP或重復(fù)START條件發(fā)生的時(shí)候,這時(shí)候內(nèi)部基準(zhǔn)電路的省電狀態(tài)被鎖存到TSC2003的內(nèi)部,所以,在輸入通道被修改的時(shí)候,如果要關(guān)閉內(nèi)部基準(zhǔn)電路電壓,就需要對(duì)TWSC2003寫一個(gè)帶有PD1=0的命令字節(jié)。

?

為了取得最低的功耗,推薦發(fā)送的命令字要設(shè)置PD0=0。如果多路x,y和z坐標(biāo)測(cè)量相繼測(cè)試完成,比如在求平均值(averaging)的時(shí)候,設(shè)置PD0=1將讓觸摸屏驅(qū)動(dòng)保持在每個(gè)轉(zhuǎn)換周期結(jié)束的時(shí)候。當(dāng)TSC2003上電后,省電模式(power-down mode)位需要被設(shè)置來確保這部分可以處于想要的省電模式以實(shí)現(xiàn)最低的功耗。所以,在TSC2003上電后,應(yīng)該馬上對(duì)TSC2003寫一個(gè)設(shè)置PD1=PD0=0的命令字節(jié),這樣設(shè)備就可以處于最低的省電模式,可以降低AD轉(zhuǎn)換之間的功耗。

?

2.2.6????????? TSC2003的數(shù)據(jù)傳輸

1)?????? 串行寫傳輸

圖8

當(dāng)主設(shè)備發(fā)出包含TS2003從設(shè)備地址的地址字節(jié),并且此地址字節(jié)的第8位為0(R/W=0)時(shí),就表示一個(gè)轉(zhuǎn)換/寫周期的開始了,一旦TS2003接收到第8位數(shù)據(jù),并且地址吻合TS2003的設(shè)備地址和(地址字節(jié)的A1和A0位和輸入引腳A1和A0的值一樣)后,TS2003就發(fā)送一個(gè)應(yīng)答位(ACK=0)。一旦主設(shè)備(S3C6410)收到這個(gè)應(yīng)答位,它就會(huì)向TSC2003寫一個(gè)命令字節(jié)。TSC2003接收到這個(gè)命令字節(jié)后,就發(fā)出另一個(gè)應(yīng)答位,接著主設(shè)備就可以通過產(chǎn)生一個(gè)重復(fù)開始條件或者停止條件來結(jié)束這次寫周期,但如果在主設(shè)備發(fā)送一個(gè)停止或者重復(fù)開始的條件之前,主設(shè)備再發(fā)送另外的命令字節(jié),TSC2003將不會(huì)應(yīng)答這些命令字節(jié)。

?

通過命令字的的C3到C0的確定,A/D轉(zhuǎn)換器就可以選定輸入多路復(fù)用器的通道。如果選擇的通道是x-、y-或z-坐標(biāo)測(cè)量,一旦請(qǐng)求測(cè)量期間開始,適當(dāng)?shù)尿?qū)動(dòng)將打開,可以參考圖6。如R/W=0,命令字的c0位在SCL的下降沿期間鎖存到TSC2003時(shí),表示輸入采樣請(qǐng)求開始(input sample acquisition period starts),而在主設(shè)備產(chǎn)生一個(gè)停止或重復(fù)開始的條件時(shí)表示結(jié)束。在接著采樣請(qǐng)求之后,AD轉(zhuǎn)換馬上開始。然而,如果正在測(cè)試的是x,y和z坐標(biāo)時(shí),各自的觸摸屏驅(qū)動(dòng)在轉(zhuǎn)換期間保持為ON的狀態(tài)。

?

2)?????? 串行讀傳輸

圖9

為了獲取最佳的性能,在一次AD轉(zhuǎn)換發(fā)生的時(shí)候IIC總線應(yīng)該是出于空閑的狀態(tài)的。這樣可以阻止數(shù)字時(shí)鐘噪聲(digital clock noise)影響處理器對(duì)從TSC2003發(fā)送的位的判斷,如果要去的最佳的性能,主設(shè)備在試圖從TSC2003讀取數(shù)據(jù)之前應(yīng)該至少等待10us,但是,在開始從TSC2003讀取數(shù)據(jù)之前,主設(shè)備不需要等待一個(gè)完整的轉(zhuǎn)換周期,而且,如果是12位的模式就沒有這個(gè)等待的必要了。

?

主設(shè)備產(chǎn)生開始條件,然后緊接著發(fā)送R/W位為1的地址字節(jié)之后就開始數(shù)據(jù)訪問了,在TSC2003收到地址字節(jié)的第8位,并且如果地址和TSC2003的設(shè)備地址吻合,那么TSC2003就發(fā)送應(yīng)答位,接著TSC2003的第一個(gè)數(shù)據(jù)字節(jié)就發(fā)送給主設(shè)備。在TSC2003發(fā)送完第一個(gè)數(shù)據(jù)字節(jié)后,它釋放SDA線來讓主設(shè)備發(fā)送一個(gè)應(yīng)答位(ACK=0),在TSC2003收到此應(yīng)答位后接著發(fā)送第二個(gè)數(shù)據(jù)字節(jié)(對(duì)于8位的模式,只有一個(gè)數(shù)據(jù)字節(jié))。收到第二個(gè)數(shù)據(jù)字節(jié)后,主設(shè)備發(fā)送一個(gè)非應(yīng)答位(ACK=1)以表示最后的數(shù)據(jù)字節(jié)接受完成,但如果主設(shè)備應(yīng)答接收到的第二個(gè)數(shù)據(jù)字節(jié),那么將繼續(xù)從TSC2003中讀取數(shù)據(jù),直到主設(shè)備發(fā)送非應(yīng)答位。在發(fā)送非應(yīng)答位之后,主設(shè)備發(fā)送停止條件來結(jié)束一次讀周期。

?

?

SDA 引腳及 SCL 引腳上數(shù)據(jù)的改變必須延時(shí)一段適當(dāng)?shù)臅r(shí)間,延時(shí)太短,數(shù)據(jù)讀入可能不成功,太長(zhǎng)則浪費(fèi)系統(tǒng)資源。一般可在 20 μ s 左右。讀寫操作時(shí)的時(shí)序非常重要。 SDA 線上的數(shù)據(jù)狀態(tài)僅在 SCL 為低電平期間才能改變,而在 SCL 為高電平期間, SDA 狀態(tài)的改變則被用來表示數(shù)據(jù)傳輸?shù)钠鹗己屯V箺l件。因此,若時(shí)序控制不好,則將得不到正確的讀數(shù)。同時(shí),當(dāng)主處理器在對(duì) TSC2007 進(jìn)行寫操作時(shí)。還應(yīng)該屏蔽它的中斷腳 PENIRQ ,這樣可以阻止中斷腳的不停下降而觸發(fā)中斷。

?

2.2.7????????? TSC2003中斷引腳/PENIRQ

圖10

Pen中斷輸出功能見上圖,pen中斷引腳通過一個(gè)上拉電阻來連接到VDD,輸出高電平,當(dāng)觸摸觸摸屏?xí)r,pen中斷引腳輸出低電平,這樣就可以通過pen中斷引腳的下降沿來知道觸摸觸摸屏這個(gè)動(dòng)作。需要注意的是,在主設(shè)備對(duì)TSC2003寫操作的時(shí)候,推薦處理器要屏蔽此中斷。

?

總結(jié)

以上是生活随笔為你收集整理的TS2003基于触摸屏的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。