《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 嵌入式微處理器ARM7202觸摸屏接口設計
嵌入式微處理器ARM7202觸摸屏接口設計
摘要: 論文介紹了基于ARM7202(HMS30C7202)嵌入式系統(tǒng)觸摸屏工作的基本原理及其硬件接口電路,,研究了觸摸屏驅(qū)動程序的工作機制,,給出了其工作流程及其在實時操作系統(tǒng)uc/OS下的中斷服務程序。滿足了復雜的實時多任務環(huán)境中觸摸屏快速響應的要求,。
Abstract:
Key words :

 1 引言

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

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

2 硬件設計

2.1 電阻觸摸屏原理

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


2.2 ARM7202與觸摸屏的接口

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


3 觸摸屏控制程序機制

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

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

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

圖4 觸摸屏程序流圖

由A/D轉(zhuǎn)換得到的值是觸摸屏上觸摸點的X坐標和Y坐標的值,,要通過一定的方法轉(zhuǎn)換為顯示屏上的坐標。限于篇幅這里省略,,其原理和實現(xiàn)方法見參考文獻[2],。在A/D轉(zhuǎn)換時,每次由A/D轉(zhuǎn)換寄存器得到4組轉(zhuǎn)換值,,可以設計一個濾波程序以提高檢測精度,。

4 程序設計

觸摸屏的應用程序模塊有:觸摸屏初始化、落筆中斷服務程序,、A/D中斷服務程序,、濾波程序和坐標轉(zhuǎn)換程序,。初始化程序、濾波程序和坐標轉(zhuǎn)換程序是一般常規(guī)通用程序,。觸摸屏驅(qū)動程序其核心是落筆中斷和A/D轉(zhuǎn)換這兩個中斷服務程序,,以下是在uc/OS操作系統(tǒng)下觸摸屏驅(qū)動程序的兩個中斷服務程序,其詳細說明見注釋,。


5 結(jié)束語

根據(jù)上述對觸摸屏工作機制的分析,,筆者在實時嵌入式操作系統(tǒng)uc/OS下編寫的觸摸屏驅(qū)動程序應用于基于ARM7202的智能控制器,實踐證明系統(tǒng)穩(wěn)定可靠,,滿足了在復雜的實時多任務環(huán)境中觸摸屏快速響應的要求,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載,。