《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > ARM7202觸摸屏接口設(shè)計方案
ARM7202觸摸屏接口設(shè)計方案
摘要: ARM7202集成了ARM7TDMI CPU核、存儲器管理單元(MMU)、8KB高速緩沖存儲器(Cache),主頻達70MHz。是一高性能嵌入式處理器。除觸摸屏控制器外,其片內(nèi)還包含了其他豐富的資源,如LCD控制器、SDRAM控制器、中斷控制器、DMA 控制器等[1]。ARM7202與觸摸屏的接口在軟/硬件設(shè)計上有些與前面三種不同的方面。
Abstract:
Key words :
 

  1 引言

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

  ARM7202集成了ARM7TDMI CPU核、存儲器管理單元(MMU)、8KB高速緩沖存儲器(Cache),主頻達70MHz。是一高性能嵌入式處理器。除觸摸屏控制器外,其片內(nèi)還包含了其他豐富的資源,如LCD控制器、SDRAM控制器、中斷控制器、DMA 控制器等[1]。ARM7202與觸摸屏的接口在軟/硬件設(shè)計上有些與前面三種不同的方面。

  2 硬件設(shè)計

  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坐標的對應(yīng)值;同理ATSYP和ATSYN在Y方向施加正向電壓時,在X方向檢測到Y(jié)坐標的對應(yīng)值,分別由A0和A1采集。為了減少系統(tǒng)功耗和觸摸屏所占CPU資源,只在有落筆時觸摸屏控制器才啟動掃描,通過A/D轉(zhuǎn)換得到坐標的對應(yīng)值,因此需在外部設(shè)計落筆檢測電路,如圖3所示。圖中IRLML6302和IRLML2402分別為PMOSFET和NMOSFET,作為開關(guān)管控制X方向和Y方向的掃描輸出。PB7接上拉電阻,檢測落筆中斷,當有落筆時,PB7檢測到低電平,觸發(fā)中斷。PB6為中斷檢測電路的使能信號,當PB6為高電平時,中斷有效,觸摸屏掃描無效;反之中斷無效,觸摸屏掃描有效。

ARM7202與觸摸屏的接口電路

 

 

  3 觸摸屏控制程序機制

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

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

  有落筆時,外部中斷被觸發(fā),進入落筆中斷服務(wù)程序。在落筆中斷服務(wù)程序中清中斷源,關(guān)外部中斷,使外部中斷電路無效,打開觸摸屏中斷和AD轉(zhuǎn)換器電源。此時觸摸屏電路開始掃描觸摸屏。觸摸屏A/D轉(zhuǎn)換結(jié)束后,產(chǎn)生A/D中斷,進入A/D中斷服務(wù)程序。在觸摸屏A/D中斷服務(wù)程序中,清A/D中斷,關(guān)觸摸屏A/D中斷,讀A/D轉(zhuǎn)換值。此時還要判斷落筆是否繼續(xù),若無落筆,開外部電路中斷,使外部中斷電路有效,關(guān)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)換值,可以設(shè)計一個濾波程序以提高檢測精度。

  4 程序設(shè)計

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

  static void TouchPenDownISR(int level) //落筆中斷服務(wù)程序

  {

  unsigned int status;

  status=*(volatile int *)PioCIS&0xfff;

  if (status & 0x80 )

  {

  *(volatile int *)PioCIC|=0x80; //清落筆中斷

  *(volatile int *)PioCIM&=~0x80; //關(guān)落筆中斷

  *(volatile int *)PioCDR&=~0x100; //使落筆中斷檢測無效,觸摸屏掃描電路有效

  *(volatile int*)ADCCR&=~0x80; //開A/D電源

  *(volatile int*)ADCTPCR|=0x80|0x40; //觸摸屏讀有效,A/D中斷有效

  }

  }

  static void TouchINIISR(int level) //觸摸屏A/D轉(zhuǎn)換中斷服務(wù)程序

  {

  int x[4];

  int y[4];

  *adcisr |= 0x80; //清觸摸屏A/D中斷

  TouchSample(x,y); //得到X/Y方向數(shù)值

  *(volatile int*)ADCTPCR&=~(0x80|0x40); //觸摸屏讀無效,觸摸屏A/D中斷無效

  *(volatile int *)PioCDR|=0x100; //使落筆中斷檢測有效,觸摸屏掃描電路無效

  if(*(volatile int *)PioCDR&0x80) //檢測到起筆

  {

  *(volatile int *)PioCIC|=0x80; //清落筆中斷

  *(volatile int *)PioCIM|=0x80; //開落筆中斷

  *(volatile int *)ADCCR|=0x80; //關(guān)A/D電源

  *(volatile int*)ADCTPCR&=~(0x80|0x40); //觸摸屏讀無效,觸摸屏A/D中斷無效

  }

  else //如仍有落筆

  {

  *(volatile int *)PioCDR&=~0x100; //使落筆中斷檢測無效,觸摸屏掃描電路有效

  *(volatile int *)ADCTPCR|=0x80|0x40; //觸摸屏讀有效,觸摸屏A/D中斷有效

  }

  }

  5 結(jié)束語

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



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久久久久青草大香综合精品| 免费看小12萝裸体视频国产| 91人成网站色www免费下载| 放荡的闷骚娇妻h交换3p| 亚洲人成电影网站| 男女性潮高清免费网站| 国产午夜福利在线播放| 3d成人免费动漫在线观看| 岳打开双腿让我进挺完整篇| 久久精品国产亚洲| 欧美日韩精品一区二区三区高清视频 | 免费鲁丝片一级观看| 麻豆国产精品va在线观看不卡| 国产黄在线观看免费观看不卡 | 国产成人精品亚洲一区| 99久久人妻无码精品系列蜜桃| 成年人性生活视频| 国产亚洲一区二区在线观看| 一级毛片免费一级直接观看| 日韩视频在线观看| 亚洲欧洲综合网| 窝窝影院午夜看片| 国产乱妇乱子在线播视频播放网站| 看全色黄大色黄女视频| 够够了太深了h1v3| 中文字幕专区高清在线观看| 最好看的中文字幕视频2018| 亚洲欧美另类久久久精品能播放的| 精品久久久久中文字幕一区 | 欧美成人看片一区二区三区| 免费不卡在线观看av| 翁与小莹浴室欢爱51章| 国产小视频在线观看网站| 色www永久免费网站| 国模沟沟冒白浆视频福利| а√在线地址最新版| 成年免费视频黄网站在线观看| 久久国产精品久久久久久| 最近中字视频在线观看| 亚洲免费色视频| 欧美日韩精品一区二区在线观看|