<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式微處理器ARM7202觸摸屏接口設計

嵌入式微處理器ARM7202觸摸屏接口設計

作者: 時(shí)間:2012-03-26 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/149339.htm

系統中越來(lái)越廣泛地應用。不同的應用領(lǐng)域方式也各不相同,一般有以下三種:(1)應用模塊。觸摸屏模塊提供標準的硬件與應用系統(一般為PC或X86架構的工控機)相連,安裝驅動(dòng)程序后即可工作,基本無(wú)需開(kāi)發(fā);(2)擴展觸摸屏控制器。這是系統中觸摸屏普遍使用的方法,常用的觸摸屏控制芯片有ADS7843、ADS7846等,這些芯片內部集成了A/D轉換器和觸摸屏的驅動(dòng)電路,同時(shí)要一定的軟件;(3)與前面方式(2)相仿,有些處理器集成了A/D轉換器,通過(guò)IO口模擬觸摸屏的驅動(dòng)信號也可實(shí)現觸摸屏的控制。

隨著(zhù)芯片技術(shù)的發(fā)展,處理器內部集成的資源越來(lái)越豐富,有些芯片內部已經(jīng)集成了觸摸屏控制器。如韓國現代半導體公司的32位ARM處理器(HMS30C7202)芯片,其內部集成了電阻式觸摸屏控制器。集成了ARM7TDMI CPU核、存儲器管理單元(MMU)、8KB高速緩沖存儲器(Cache),主頻達70MHz。是一高性能處理器。除觸摸屏控制器外,其片內還包含了其他豐富的資源,如LCD控制器、SDRAM控制器、中斷控制器、DMA 控制器等。與觸摸屏的在軟/硬件設計上有些與前面三種不同的方面。

2 硬件設計

2.1 電阻觸摸屏原理

電阻觸摸屏是一多層的復合膜,由一層玻璃或有機玻璃作為基層,表面涂有一層透明的導電層,上面再蓋有一層塑料層,它的內表面也涂有一層透明的導電層,在兩層導電層之間有許多細小的透明隔離點(diǎn)把它們隔開(kāi)絕緣,如圖1。當手指觸摸屏幕時(shí),平常絕緣的兩層導電層在觸摸點(diǎn)位置就有了一個(gè)接觸,控制器檢測到這個(gè)接觸后,其中一面導電層接通Y軸方向的5V均勻電壓場(chǎng),另一導電層將接觸點(diǎn)的電壓引至控制器進(jìn)行A/D轉換,得到電壓值后與5V相比即可得觸摸點(diǎn)的Y軸坐標,如圖2。同理得出X軸的坐標。這是所有電阻觸摸屏共同的基本原理。


圖1 觸摸屏結構
圖2  Y方向坐標檢測等效電路
圖2 Y方向坐標檢測等效電路

2.2 ARM7202與觸摸屏的

ARM7202片上資源包含觸摸屏控制器,用于控制4線(xiàn)電阻式觸摸屏。在5路A/D轉換通道中A0和A1是用于觸摸屏坐標采集的,同時(shí)芯片提供ATSXP、ATSXN、ATSYP和ATSYN四根掃描線(xiàn)分別對X方向和Y方向進(jìn)行掃描。ATSXP和ATSXN在X方向施加正向電壓時(shí),在Y方向檢測到X坐標的對應值;同理ATSYP和ATSYN在Y方向施加正向電壓時(shí),在X方向檢測到Y坐標的對應值,分別由A0和A1采集。為了減少系統功耗和觸摸屏所占CPU資源,只在有落筆時(shí)觸摸屏控制器才啟動(dòng)掃描,通過(guò)A/D轉換得到坐標的對應值,因此需在外部設計落筆檢測電路,如圖3所示。圖中IRLML6302和IRLML2402分別為PMOSFET和NMOSFET,作為開(kāi)關(guān)管控制X方向和Y方向的掃描輸出。PB7接上拉電阻,檢測落筆中斷,當有落筆時(shí),PB7檢測到低電平,觸發(fā)中斷。PB6為中斷檢測電路的使能信號,當PB6為高電平時(shí),中斷有效,觸摸屏掃描無(wú)效;反之中斷無(wú)效,觸摸屏掃描有效。

圖3  觸摸屏外部電路

圖3 觸摸屏外部電路

3 觸摸屏控制程序機制

不同的操作系統下對觸摸屏的應用各有不同,但都包括了設備的初始化、設備讀寫(xiě)及中斷響應等基本模塊。觸摸屏的驅動(dòng)程序涉及到兩個(gè)中斷:落筆中斷和觸摸屏A/D轉換中斷。所包含的程序模塊有:觸摸屏初始化、落筆中斷服務(wù)程序、A/D中斷服務(wù)程序、濾波程序和坐標轉換程序。這里重點(diǎn)說(shuō)明觸摸屏的兩個(gè)中斷。

觸摸屏初始化程序完成外部電路的中斷設置和采樣率的設置,并將觸摸屏的A/D中斷和A/D轉換器電源關(guān)閉,使外部電路中斷有效。

有落筆時(shí),外部中斷被觸發(fā),進(jìn)入落筆中斷服務(wù)程序。在落筆中斷服務(wù)程序中清中斷源,關(guān)外部中斷,使外部中斷電路無(wú)效,打開(kāi)觸摸屏中斷和AD轉換器電源。此時(shí)觸摸屏電路開(kāi)始掃描觸摸屏。觸摸屏A/D轉換結束后,產(chǎn)生A/D中斷,進(jìn)入A/D中斷服務(wù)程序。在觸摸屏A/D中斷服務(wù)程序中,清A/D中斷,關(guān)觸摸屏A/D中斷,讀A/D轉換值。此時(shí)還要判斷落筆是否繼續,若無(wú)落筆,開(kāi)外部電路中斷,使外部中斷電路有效,關(guān)A/D中斷和A/D轉換器電源,進(jìn)入節能模式,如圖4(a);若還有落筆,要繼續開(kāi)觸摸屏A/D中斷,使外部中斷電路無(wú)效,觸摸屏的A/D轉換繼續進(jìn)行,如圖4(b)所示。

圖4 觸摸屏程序流圖

由A/D轉換得到的值是觸摸屏上觸摸點(diǎn)的X坐標和Y坐標的值,要通過(guò)一定的方法轉換為顯示屏上的坐標。在A(yíng)/D轉換時(shí),每次由A/D轉換寄存器得到4組轉換值,可以設計一個(gè)濾波程序以提高檢測精度。

4 程序設計

觸摸屏的應用程序模塊有:觸摸屏初始化、落筆中斷服務(wù)程序、A/D中斷服務(wù)程序、濾波程序和坐標轉換程序。初始化程序、濾波程序和坐標轉換程序是一般常規通用程序。觸摸屏驅動(dòng)程序其核心是落筆中斷和A/D轉換這兩個(gè)中斷服務(wù)程序,以下是在uc/OS操作系統下觸摸屏驅動(dòng)程序的兩個(gè)中斷服務(wù)程序,其詳細說(shuō)明見(jiàn)注釋。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>