• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

    作者: 時間:2012-03-26 來源:網絡 收藏

    1 引言

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

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

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

    2 硬件設計

    2.1 電阻觸摸屏原理

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


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

    2.2 ARM7202與觸摸屏的

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

    圖3  觸摸屏外部電路

    圖3 觸摸屏外部電路

    3 觸摸屏控制程序機制

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

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

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

    圖4 觸摸屏程序流圖

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

    4 程序設計

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

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

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 锦州市| 犍为县| 镇雄县| 会泽县| 梅州市| 寿宁县| 昌乐县| 兰考县| 那坡县| 阳春市| 乐平市| 吴忠市| 禹城市| 工布江达县| 太和县| 通江县| 清河县| 鱼台县| 乡城县| 盐城市| 东莞市| 廉江市| 庆城县| 元阳县| 仁怀市| 竹溪县| 瑞安市| 通许县| 思南县| 万源市| 青阳县| 剑河县| 清流县| 南平市| 平果县| 滨州市| 东安县| 横峰县| 长汀县| 黑河市| 唐山市|