《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于嵌入式技術的智能儀器觸摸屏接口設計
基于嵌入式技術的智能儀器觸摸屏接口設計
摘要: 作者在開發面向機械故障診斷的智能儀表過程中,對觸摸屏輸入接口進行了研究。設計了四線電阻式觸摸屏與PXA255處理器的接口電路,分析了Linux框架下的字符設備驅動程序設計原理,完成了觸摸屏的接口驅動程序開發,并設計了用觸摸屏作為輸入設備的MiniGUI用戶程序。觸摸屏作為儀器的輸入設備,人機交互直截了當,大大方便了現場操作人員的使用
Abstract:
Key words :

0 引言

在現代化生產中,為了確保機械設備安全可靠地運行,通常要采用適宜的儀器儀表,利用故障診斷技術及時發現故障,并采取合理的維修或保護措施來排除故障,預防和避免事故的發生?;趯x器尺寸、便攜性和操作方便性的考慮,在工業領域如煤炭、鋼鐵、冶金、電力、化工等行業中大量的儀器儀表和設備,都逐漸選用觸摸屏作為系統的輸入設備。

針對這一情況,作者在開發面向機械故障診斷的智能儀表過程中,對觸摸屏輸入接口進行了研究。設計了四線電阻式觸摸屏與PXA255 處理器的接口電路,分析了Linux框架下的字符設備驅動程序設計原理,完成了觸摸屏的接口驅動程序開發,并設計了用觸摸屏作為輸入設備的MiniGUI用戶程序。觸摸屏作為儀器的輸入設備,人機交互直截了當,大大方便了現場操作人員的使用。

1 硬件結構和工作原理

依據工作原理和傳輸介質的不同,觸摸屏主要分電阻式、電容式、紅外線式以及表面聲波式等多種類型。電阻式觸摸屏是一塊4層透明的復合薄膜屏,如圖1所示。下面是玻璃或有機玻璃構成的基層;上面是一層外表面經過硬化處理從而光滑防刮的塑料層;中間是兩層金屬導電層,在導電層之間有許多細小的透明隔離點把兩層隔開。兩個金屬導電層是觸摸屏的工作面,其兩端各涂有一條銀膠,稱為觸摸屏工作面的一對電極。四線式觸摸屏的X工作面和Y工作面分別加在兩個導電層上,共有4根引出線,分別連到觸摸屏的X 電極對和Y 電極對上。在觸筆觸摸屏幕時,兩導電層在接觸點處接觸。電阻式觸摸屏作為輸入設備與顯示屏配合使用時,其工作的實質就是通過測量X、Y兩個方向電阻的分壓, 確定觸摸屏的觸點坐標, 并將該坐標映射到顯示屏坐標上,從而實現人機交互。由于電阻式觸摸屏工作面與外界完全隔離, 受環境影響小, 所以具有不怕灰塵和水汽、穩定性高、不漂移等優點, 特別適合工業現場使用。

圖1 電阻式觸摸屏結構

圖1 電阻式觸摸屏結構

在設計過程中, 選用ADS7843 作為觸摸屏接口的AD轉換芯片,它具有12 位的轉換精度, 最大支持4 096 ×4 096點陣的LCD, 滿足儀器設計要求。

儀器系統處理器選用Intel Xscale架構的PXA255處理器,用其GPIO口模擬SPI接口與ads7843進行通信。其接口原理如圖2所示。ADS7843完成采集通道的切換和接觸點處電壓的采集, 其操作時序主要由控制字輸入、電壓采集和模數轉換組成, 詳見參考文獻。只要在驅動程序中根據時序要求向D IN口發送控制字, 即可從DOUT處得到相應通道的采集結果。

圖2 ADS7843與PXA255的接口電路

圖2 ADS7843與PXA255的接口電路

2 觸摸屏接口驅動程序

Linux驅動程序是系統內核的一部分, 它把軟件和硬件分離開來, 并向上提供應用程序訪問硬件的通信接口, 向下管理保護系統硬件。觸摸屏在Linux下被定義為字符設備, 其驅動主要完成觸點電壓的采集, 并向用戶空間傳遞X 坐標、Y坐標和筆動作(按下、抬起或拖拽) 數據。當觸筆按下時, ADS7843的11腳輸出低電平, 觸發PXA255通用IO口的12腳產生外部中斷, 開啟定時器, 實現觸摸屏的動作。觸摸屏的驅動流程如圖3所示。

圖3 觸摸屏驅動程序結構流程

圖3 觸摸屏驅動程序結構流程

2.1 驅動的編寫

觸摸屏驅動在Linux框架下屬于字符設備驅動。

驅動的入口函數為ads7843 _ ts_ init ( ) , 在該函數中,初始化I/O口, 注冊筆中斷和設備節點, 完成設備文件系統創建標準字符設備的初始化工作[ 8 - 10 ]。觸摸屏設備操作的結構通過ads7843_ts_fop s定義。

STatic struct file_operatiONs ads7843_ts_fop s = {

read: ads7843_ts_read,

poll: ads7843_ts_poll,

ioctl: ads7843_ts_ioctl,

fasync: ads7843_ts_fasync,

open: ads7843_ts_open,

release: ads7843_ts_release,

};

這樣, 只需根據實際需要正確定義該結構中的幾個函數過程, 就可完成設備驅動的開發。

當觸摸屏設備被打開時, 首先執行到ads7843_ts_open ( )函數,并在該函數中, 初始化一個緩沖區, 用于存儲坐標數據。在觸摸屏被按下后, 系統首先觸發中斷, 在ads7843_ts_interrup t ( )中斷程序中, 判斷in_timehandle全局變量的狀態, in_ timehandle在定時器函數中被改變, 也就是說進入中斷后, 先經過定時器延時20ms, 完成觸摸屏的軟件去抖, 再判斷觸摸屏是否被按下。然后通過read_xy ()函數分別切換至X和Y 通道, 完成觸點電壓的AD轉換, 并讀取12 位坐標值。

static void ads7843_ ts_ interrup t ( int IRq, void 3 dev_ id,

struct p t_regs3 regs)

{

sp in_lock_irq (&tsdevlock) ;

if ( in_timehandle 》 0)

{

sp in_unlock_irq (&tsdevlock) ;

return;

}

disable_irq ( IRQ_GPIO_ADS7843) ;

ads7843_ts_starttimer ( ) ;

sp in_unlock_irq (&tsdevlock) ;

}

應用程序調用read ( ) 函數時, 進入驅動的ads7843_ts_read ( )接口函數。在該接口函數中獲取采樣結果, 判斷是否要對坐標進行校準, 將最終結果寫入到緩沖區中,并通過copy_to_user ( )函數將其從內核空間復制到用戶空間, 以使應用程序能夠使用。在ads7843_ts_read ( )函數中采用了非阻塞型操作, 使得在沒有數據到達的時候立即返回, 然后用異步觸發fasync ( )來通知數據的到來。ads7843 _ ts_poll ()函數用于驅動程序的非阻塞操作, ads7843_ts_fasync ( )函數用于驅動異步觸發。ads7843_ts_ioctl ( )函數中, 提供了可從用戶態控制的參數, 如觸摸屏是否在驅動中校準、屏幕的最大最小坐標值等。ads7843_ts_release( )函數用來關閉觸摸屏設備。

2.2 觸摸屏的校準

在儀器開發過程中,觸摸屏作為輸入設備與LCD配合使用。為了能使從觸摸屏采樣得到坐標與屏幕的顯示坐標對應,還需要做一個映射, 也就是要對觸摸屏進行校準。如圖4所示, 所用的觸摸屏和液晶屏都是標準的矩形, 只要安裝合理,可以認為觸摸屏的X 方向坐標只與顯示屏X 方向相關, Y方向坐標只與顯示屏的Y方向相關。假設顯示屏的分辨率是W ×H, 顯示區域的左上角對應的觸摸屏采樣坐標是( x1 , y1 ) ,右下角對應的坐標是( x2 , y2 ) , 那么觸摸屏上任意一點采樣坐標( x, y) 與顯示屏坐標( xd , yd )的對應關系可以按照如下公式計算:

這樣, 在測得( x1 , y1 )和( x2 , y2 ) 點觸摸屏的采樣值后, 利用上述公式編制校準函數,在觸摸屏工作的過程中, 計算出實際觸摸點對應的顯示坐標,完成觸摸屏的校準。

圖4

圖4 觸摸屏的校準

 3 觸摸屏用戶應用程序

創建的Linux設備文件系統觸摸屏節點為/dev/ts.在應用程序中,可以像打開文件一樣用open函數打開設備文件, 然后用read ()函數讀取由驅動傳遞到用戶空間的數據。儀器應用程序的開發采用MiniGU I進行, MiniGU I是由北京飛漫公司開發, 可應用于實時嵌入式系統中的輕量級圖形用戶界面支持系統。其函數接口與Windows SDK類似, 開發方便。

MiniGU I的輸入抽象層( IAL: Input Abstract Layer)提供了對觸摸屏、鼠標等輸入設備的豐富支持, 并支持PXA255處理器平臺。只要經過簡單的設置就可以在應用程序中使用觸摸屏。配置安裝MiniGU I時, 使用22enable2px255bial項, 由于在安裝MiniGU I時采用了內嵌資源的靜態編譯方式, 所以在編譯之前, 需在MiniGU I的src / sysres/目錄下建立mgetc2pxa1c 文件,并在其中用下面語句設置系統參數, 將觸摸屏設為輸入設備。

static char * SYSTEM_VALUES[ ] = { “ fbcon” ,“ PX255B” , “ /dev/ ts” , “ none” };

MiniGU I對觸摸屏輸入的處理方式如圖5 所示。

圖5 MiniGU I中的觸摸屏輸入

圖5 MiniGUI 中的觸摸屏輸入

MiniGUI 通過觸摸屏設備驅動程序接收原始的輸入數據, 把它轉換為MiniGUI 抽象的觸摸屏事件和數據。

相關的底層事件處理例程把這些觸摸事件轉換為上層的觸摸消息, 放到相應的消息隊列中。應用程序通過消息循環獲取這些消息, 交由窗口過程處理。編制針對觸摸屏的應用程序時,需要做的只是在窗口接收到諸如MSG _LBUTTONDOWN 等觸屏消息時, 調用相應的語句, 完成預期操作。

4 結論

嵌入式智能儀器觸摸屏接口增強了儀器系統的人機交互功能,方便了操作人員的使用; 接口電路和驅動程序的模塊化方便了儀器的后續改進和新產品的開發,并可根據需要移植應用到各種不同場合。設計的觸摸屏接口已經成功應用在故障診斷巡檢儀器中,其工作穩定,運行可靠,具有很好的實用價值。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美高清在线一区二区| 久久免费国产精品1| 国产精品扒开腿做爽爽爽软件| 欧美午夜a级限制福利片| 久久国产精品一区二区三区| 欧美日韩一区在线视频| 99在线精品观看| 黑人巨大精品欧美黑白配亚洲| 国产精品国产三级国产普通话蜜臀| 欧美另类videos死尸| 久久高清免费观看| 久久艳片www.17c.com| 国产精品亚洲不卡a| 欧美亚洲日本一区| 99精品国产在热久久| 亚洲影院色无极综合| 亚洲特黄一级片| 亚洲高清免费在线| 在线亚洲国产精品网站| 亚洲男女自偷自拍| 欧美激情精品久久久久久| 欧美日韩成人综合| 中文日韩欧美| 免费观看在线综合色| 欧美顶级少妇做爰| 在线亚洲精品福利网址导航| 国产精品视频免费观看www| 久久麻豆一区二区| 亚洲欧美区自拍先锋| 欧美成人激情视频| 欧美成人精品一区| 亚洲高清视频一区二区| 久久久www成人免费毛片麻豆| 亚洲国产成人久久综合| 欧美成人精品h版在线观看| 欧美日韩一区二区三区在线| 亚洲高清视频的网址| 欧美成人网在线| 欧美xx视频| 在线播放豆国产99亚洲| 欧美日韩国产不卡| 久久精品在线免费观看| 久久只精品国产| 亚洲一区二区三区精品动漫| 国产一区二区丝袜高跟鞋图片| 亚洲高清av| 久久国产精品一区二区三区四区| 国产一区二区三区高清在线观看| 亚洲精品美女免费| 国产欧亚日韩视频| 欧美私人啪啪vps| 国产视频在线观看一区二区三区| 海角社区69精品视频| 久久精品亚洲国产奇米99| 欧美一区日本一区韩国一区| 国产色婷婷国产综合在线理论片a| 亚洲精品亚洲人成人网| 欧美人牲a欧美精品| 国产一区二区三区久久悠悠色av| 久久久久一区二区三区| 久久精品免费电影| 欧美xxx在线观看| 国产精品乱码人人做人人爱| 一区二区三区高清视频在线观看| 国产精品地址| 激情av一区二区| 亚洲电影天堂av| 99视频国产精品免费观看| 国产精品免费一区二区三区在线观看| 国产精品国产a级| 噜噜噜躁狠狠躁狠狠精品视频| 久久福利电影| 欧美粗暴jizz性欧美20| 午夜伦理片一区| 亚洲久久成人| 亚洲视频在线一区| 在线欧美日韩精品| 亚洲激情欧美| 欧美日韩亚洲天堂| 国产亚洲欧美在线| 香蕉久久夜色精品国产使用方法| 欧美成人免费在线| 亚洲免费播放| 久久人人爽爽爽人久久久| 欧美11—12娇小xxxx| 国产精品视频精品| 在线观看视频一区二区| 久久综合亚州| 欧美激情bt| 中文久久乱码一区二区| 1000部精品久久久久久久久| 国产伦精品一区二区三区在线观看| 亚洲在线播放电影| 久久亚洲影音av资源网| 久久精品一区二区三区不卡牛牛| 久久九九99视频| 亚洲欧美中文在线视频| 在线亚洲自拍| 欧美日韩一区综合| 欧美激情视频给我| 亚洲一区在线观看视频| 亚洲精一区二区三区| 欧美一区二区三区四区夜夜大片| 国产精品夜夜夜一区二区三区尤| 91久久国产精品91久久性色| 夜夜狂射影院欧美极品| 亚洲国产高清一区二区三区| 午夜精品久久久久久久99热浪潮| 中文av一区特黄| 99re66热这里只有精品3直播| 午夜在线成人av| 国产精品av一区二区| 国产欧美一区二区精品忘忧草| 亚洲日本中文字幕| 999亚洲国产精| 欧美在线影院在线视频| 国产精品一二三四区| 欧美精品久久久久久久| 欧美激情在线播放| 免费在线视频一区| 欧美激情中文不卡| 99国产精品国产精品久久| 亚洲国产精品成人精品| 日韩视频亚洲视频| 国产一区二区三区成人欧美日韩在线观看| 亚洲一区二区三| 欧美a级一区二区| 免费欧美日韩国产三级电影| 久久亚洲私人国产精品va| 欧美一级淫片aaaaaaa视频| 欧美日韩精品免费观看视一区二区| 亚洲一二三区在线| 永久免费精品影视网站| 黄色精品网站| 欧美午夜精品理论片a级大开眼界| 免费日韩视频| 性欧美在线看片a免费观看| 久久免费视频在线观看| 欧美性色视频在线| 国产原创一区二区| 狠狠色狠狠色综合日日tαg| 久久久九九九九| 久久综合精品一区| 亚洲视频网站在线观看| 羞羞色国产精品| 久久久久久久久一区二区| 国产一区91精品张津瑜| 国产精品久久久久999| 一区二区三区免费看| 久久在线精品| 欧美综合77777色婷婷| 欧美激情一区二区久久久| 欧美一区二区三区另类| 亚洲自啪免费| 久久午夜精品一区二区| 国产一区二区精品在线观看| 国产亚洲精品bt天堂精选| 久久国产精品72免费观看| 国产一区二区欧美日韩| 久久福利精品| 亚洲国产福利在线| 欧美成人免费小视频| 麻豆视频一区二区| 国产婷婷色一区二区三区| 国产无遮挡一区二区三区毛片日本| 亚洲高清在线观看一区| 久久精品官网| 国产日韩欧美麻豆| 亚洲国内在线| 夜夜夜精品看看| 欧美三级在线播放| 国产一区二区三区在线免费观看| 欧美a级片一区| 欧美黄色小视频| 91久久国产综合久久蜜月精品| 欧美激情第五页| 欧美中文在线视频| 亚洲视频在线观看三级| 国产日韩欧美一区二区三区在线观看| 中文无字幕一区二区三区| 欧美精品亚洲| 亚洲自拍偷拍福利| 久久久久青草大香线综合精品| 国产精品高潮久久| 欧美国产一区二区在线观看| 欧美日韩一区二区三区四区五区| 欧美不卡高清| 激情懂色av一区av二区av| 欧美性猛交99久久久久99按摩| 欧美一级片久久久久久久| 欧美日韩国产综合新一区| 久久激情视频久久| 蜜乳av另类精品一区二区| 欧美片第一页| 午夜欧美电影在线观看| 玖玖玖国产精品| 一区二区三区中文在线观看| 久热精品视频在线| 国产精品久久久久久久久搜平片| 日韩一级免费观看| 亚洲午夜国产成人av电影男同| 一二三区精品| 久久精品视频在线免费观看| 最新日韩在线视频| 亚洲精品在线看| 篠田优中文在线播放第一区| 亚洲黄色尤物视频| 国产精品国产自产拍高清av王其| 亚洲在线观看视频网站| 亚洲一区在线免费| 国产精品不卡在线| 久久嫩草精品久久久精品一| 欧美日韩亚洲一区二区| 亚洲欧洲日本mm| 狠狠久久亚洲欧美| 国产亚洲精品aa午夜观看| 在线观看欧美日本| 老司机久久99久久精品播放免费| 久久久久久午夜| 亚洲一区黄色| 国产农村妇女精品一二区| 99re66热这里只有精品4| 在线国产欧美| 国产精品大片| 黄色日韩网站视频| 国产精品久久久久毛片大屁完整版| 久久女同互慰一区二区三区| 国产一区二区精品久久91| 激情久久五月天| 国内精品久久久久久影视8| 欧美区视频在线观看| 在线成人av.com| 亚洲一区二区三区成人在线视频精品| 国产精品久久久久aaaa| 免费人成网站在线观看欧美高清| 欧美日本精品一区二区三区| 在线观看亚洲专区| 国产精品一区二区久激情瑜伽| 国产亚洲欧美一区二区三区| 亚洲一区二区三区免费观看| 免费在线亚洲欧美| 欧美诱惑福利视频| 鲁大师成人一区二区三区| 欧美天天视频| 免费国产自线拍一欧美视频| 欧美精品v日韩精品v韩国精品v| 欧美插天视频在线播放| 亚洲午夜精品久久久久久浪潮| 精品动漫3d一区二区三区| 欧美激情国产高清| 欧美69wwwcom| 欧美久久电影| 亚洲天堂av图片| 国产视频一区二区在线观看| 午夜精品久久久久久久99樱桃| 欧美日在线观看| 欧美日韩影院| 一区二区三区四区五区精品| 在线综合欧美| 99精品久久久| 激情小说另类小说亚洲欧美| 亚洲一区中文字幕在线观看| 亚洲一卡久久| 国产精品自拍三区| 国产一区日韩欧美| 老司机亚洲精品| 亚洲一区二区三区精品在线| 亚洲女人小视频在线观看| 日韩视频免费在线观看| 亚洲国产精品久久久久婷婷884| 亚洲美女中文字幕| 国产一区二区三区的电影| 欧美一级专区免费大片| 亚洲人成毛片在线播放女女| 国产精品伦子伦免费视频| 亚洲午夜精品一区二区三区他趣| 日韩视频一区二区三区在线播放免费观看| 欧美一区二区在线免费观看| 亚洲激情小视频| 亚洲福利在线视频| 亚洲一区二区伦理| 欧美全黄视频| 国产精品久久久久久久久婷婷| 亚洲欧美综合精品久久成人| 欧美精品在线免费| 国产精品久久久久久五月尺| 欧美在线亚洲综合一区| 久久国内精品视频| 尤妮丝一区二区裸体视频| 国产一区二区三区高清播放| 久久频这里精品99香蕉| 国产精品久久久久久久app| 欧美天天综合网| 欧美理论视频| 久久久噜噜噜久噜久久| 亚洲在线一区二区三区| 国产精品久久久久久av下载红粉| 亚洲国产精品一区二区尤物区| 亚洲精品黄色| 国产亚洲欧美日韩一区二区| 亚洲片国产一区一级在线观看| 国外成人在线| 欧美揉bbbbb揉bbbbb| 国产精品一区二区三区四区| 亚洲一区二区成人在线观看| 久久精品女人| 亚洲人成网站精品片在线观看| 亚洲精品视频免费观看| 夜久久久久久| 欧美国产欧美亚州国产日韩mv天天看完整| 蜜臀av在线播放一区二区三区| 亚洲欧美另类中文字幕| 欧美色视频日本高清在线观看| 国产精品亚洲综合| 国产精品a级| 久久乐国产精品| 欧美va亚洲va国产综合| 亚洲一区三区在线观看| 欧美日韩hd| 亚洲裸体在线观看| 国产精品日韩在线播放| 亚洲天堂网站在线观看视频| 国产精品毛片高清在线完整版| 欧美二区在线看| 午夜久久黄色| 国产精品毛片va一区二区三区| 欧美日韩精品不卡| 久久综合五月|