基于MinuGUI的嵌入式智能儀器觸摸屏設(shè)計(jì)
0 引言
本文引用地址:http://butianyuan.cn/article/170515.htm在現(xiàn)代化生產(chǎn)中,為了確保機(jī)械設(shè)備安全可靠地運(yùn)行,通常要采用適宜的儀器儀表,利用故障診斷技術(shù)及時(shí)發(fā)現(xiàn)故障,并采取合理的維修或保護(hù)措施來(lái)排除故障,預(yù)防和避免事故的發(fā)生。基于對(duì)儀器尺寸、便攜性和操作方便性的考慮,在工業(yè)領(lǐng)域如煤炭、鋼鐵、冶金、電力、化工等行業(yè)中大量的儀器儀表和設(shè)備,都逐漸選用觸摸屏作為系統(tǒng)的輸入設(shè)備。
針對(duì)這一情況,作者在開(kāi)發(fā)面向機(jī)械故障診斷的智能儀表過(guò)程中,對(duì)觸摸屏輸入接口進(jìn)行了研究。設(shè)計(jì)了四線電阻式觸摸屏與PXA255 處理器的接口電路,分析了Linux框架下的字符設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)原理,完成了觸摸屏的接口驅(qū)動(dòng)程序開(kāi)發(fā),并設(shè)計(jì)了用觸摸屏作為輸入設(shè)備的MiniGUI用戶程序。觸摸屏作為儀器的輸入設(shè)備,人機(jī)交互直截了當(dāng),大大方便了現(xiàn)場(chǎng)操作人員的使用。
1 硬件結(jié)構(gòu)和工作原理
依據(jù)工作原理和傳輸介質(zhì)的不同,觸摸屏主要分電阻式、電容式、紅外線式以及表面聲波式等多種類(lèi)型。電阻式觸摸屏是一塊4層透明的復(fù)合薄膜屏,如圖1所示。下面是玻璃或有機(jī)玻璃構(gòu)成的基層;上面是一層外表面經(jīng)過(guò)硬化處理從而光滑防刮的塑料層;中間是兩層金屬導(dǎo)電層,在導(dǎo)電層之間有許多細(xì)小的透明隔離點(diǎn)把兩層隔開(kāi)。兩個(gè)金屬導(dǎo)電層是觸摸屏的工作面,其兩端各涂有一條銀膠,稱(chēng)為觸摸屏工作面的一對(duì)電極。四線式觸摸屏的X工作面和Y工作面分別加在兩個(gè)導(dǎo)電層上,共有4根引出線,分別連到觸摸屏的X 電極對(duì)和Y 電極對(duì)上。在觸筆觸摸屏幕時(shí),兩導(dǎo)電層在接觸點(diǎn)處接觸。電阻式觸摸屏作為輸入設(shè)備與顯示屏配合使用時(shí),其工作的實(shí)質(zhì)就是通過(guò)測(cè)量X、Y兩個(gè)方向電阻的分壓, 確定觸摸屏的觸點(diǎn)坐標(biāo), 并將該坐標(biāo)映射到顯示屏坐標(biāo)上,從而實(shí)現(xiàn)人機(jī)交互。由于電阻式觸摸屏工作面與外界完全隔離, 受環(huán)境影響小, 所以具有不怕灰塵和水汽、穩(wěn)定性高、不漂移等優(yōu)點(diǎn), 特別適合工業(yè)現(xiàn)場(chǎng)使用。
圖1 電阻式觸摸屏結(jié)構(gòu)
在設(shè)計(jì)過(guò)程中, 選用ADS7843 作為觸摸屏接口的AD轉(zhuǎn)換芯片,它具有12 位的轉(zhuǎn)換精度, 最大支持4 096 ×4 096點(diǎn)陣的LCD, 滿足儀器設(shè)計(jì)要求。
儀器系統(tǒng)處理器選用Intel Xscale架構(gòu)的PXA255處理器,用其GPIO口模擬SPI接口與ads7843進(jìn)行通信。其接口原理如圖2所示。ADS7843完成采集通道的切換和接觸點(diǎn)處電壓的采集, 其操作時(shí)序主要由控制字輸入、電壓采集和模數(shù)轉(zhuǎn)換組成, 詳見(jiàn)參考文獻(xiàn)。只要在驅(qū)動(dòng)程序中根據(jù)時(shí)序要求向D IN口發(fā)送控制字, 即可從DOUT處得到相應(yīng)通道的采集結(jié)果。
圖2 ADS7843與PXA255的接口電路
2 觸摸屏接口驅(qū)動(dòng)程序
Linux驅(qū)動(dòng)程序是系統(tǒng)內(nèi)核的一部分, 它把軟件和硬件分離開(kāi)來(lái), 并向上提供應(yīng)用程序訪問(wèn)硬件的通信接口, 向下管理保護(hù)系統(tǒng)硬件。觸摸屏在Linux下被定義為字符設(shè)備, 其驅(qū)動(dòng)主要完成觸點(diǎn)電壓的采集, 并向用戶空間傳遞X 坐標(biāo)、Y坐標(biāo)和筆動(dòng)作(按下、抬起或拖拽) 數(shù)據(jù)。當(dāng)觸筆按下時(shí), ADS7843的11腳輸出低電平, 觸發(fā)PXA255通用IO口的12腳產(chǎn)生外部中斷, 開(kāi)啟定時(shí)器, 實(shí)現(xiàn)觸摸屏的動(dòng)作。觸摸屏的驅(qū)動(dòng)流程如圖3所示。
圖3 觸摸屏驅(qū)動(dòng)程序結(jié)構(gòu)流程
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論