国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

「技術干貨」工業觸摸屏之驅動開發及異常分析(連載)

發布時間:2022-6-10 11:00    發布者:武漢萬象奧科
觸摸屏作為嵌入式產品中常用的交互設備,具有交互直觀,編程簡易等特點,本系列文章將以多種角度分析如何選擇合適的觸摸屏方案及常見的故障解決方法。本文主題為電阻屏的驅動組成以及多數觸摸屏的異常分析。
1.1 測試環境
處理器:AM335x
內核版本:Linux-3.2
硬件條件:四線電阻屏、五線電阻屏
1.2 驅動組成部分
觸摸屏的處理流程離不開,響應中斷上報事件,對于電容屏同樣有效的。所以對于觸摸屏,只需僅僅把握中響應中斷上報事件的流程,即可定位是軟件還是硬件故障。
以AM335x的電阻屏為例,涉及的驅動子系統列表如表1.1所示。觸摸子系統是對觸摸屏的抽象層,輸入子系統提供符合上層應用使用的接口,中斷子系統負責接收外設的中斷信號,ADC子系統負責提供電場信號以及采集電壓值。
表1.1 電阻屏相關驅動

1.3 AM335x電阻屏驅動
相關代碼位置如表1.2所示。
表1.2 電阻屏代碼路徑

板級文件記錄下ADC模組中哪些通道用作觸摸功能,哪些通道用作模數轉換功能,如代碼清單1.1所示。
代碼清單1.1 板級描述文件
路徑:arch/arm/mach-omap2/board-am335xevm.c

ADC模塊驅動是對ADC通道的抽象整理,會涉及部分觸摸的寄存器。例如《【應用技術】觸摸屏技術之二:原理分析》中提到CTRL Register的AFE_Pen_Ctrl Bits用于選擇中斷觸發信號輸入腳,如代碼清單1.2所示。
代碼清單1.2 ADC模塊驅動
路徑:drivers/mfd/ti_tscadc.c

最后就來介紹負責抽象整個觸摸設備的觸摸屏驅動文件,觸摸驅動內封裝了中斷、ADC模組的寄存器操作、輸入事件的上報工作。
設置X軸采集時的配置如代碼清單1.3所示。結合《【應用技術】觸摸屏技術之二:原理分析》的《四線屏寄存器配置》和《五線屏寄存器配置》內容可知,stepconfigx為X軸采集時的通用配置,當系統設備為四線模式時,開啟XPP、XNN形成電場,INP值代表采集引腳為AN2。當系統設備為五線模式時,開啟XPP、YNN、XNN、YPP形成電場,INP_5代表采集引腳為AN4。
代碼清單1.3 X軸ADC配置
路徑:drivers/input/touchscreen/ti_tsc.c

設置Y軸采集時的配置如代碼清單1.4所示,stepconfigy為Y軸采集時的通用配置,當系統設備為四線模式時,開啟YPP、YNN形成電場,INP值沒有設置,默認使用AN0。當系統設備為五線模式時,開啟XPP、YNN、XNP、YPN形成電場,INP_5代表采集引腳為AN4。
代碼清單1.4 Y軸ADC配置
路徑:drivers/input/touchscreen/ti_tsc.c

處理器完成ADC采集后,需要觸發一個中斷,中斷處理函數的注冊代碼如代碼清單1.5所示。對于用戶層來說,最直觀的就是查看此中斷在系統中觸發幾次,所以此時的中斷名就是request_irq內傳入的中斷名參數。
代碼清單1.5 中斷函數設計
路徑:drivers/input/touchscreen/ti_tsc.c

最后一點就是對輸入子系統的封裝,在觸摸屏代碼內必不可少的就是input子系統的調用,代碼如代碼清單1.6所示,input_report即為輸入子系統上報函數族,上報事件包括:按鍵按下、按鍵彈起、絕對坐標、相對坐標等。所以對于系統來說,最終只要input_report能順利執行,那么觸摸信號就能正常獲取。
代碼清單1.6 輸入子系統設計
路徑:drivers/input/touchscreen/ti_tsc.c

1.4 用戶空間的排查方法
此處整理了電阻屏的問題定位方法,如表1.3所示。
表1.3 用戶空間排查方法

接下來我們結合一些具體案例來具體看看如何排查觸摸問題。
1.4.1 觸摸沒反應
問題:接上觸摸屏沒反應。
分析步驟:
  • 查看dmesg | grep touch,查看系統是否有加載觸摸驅動;此部分有內核配置選擇,沒有信息則定位為驅動異常,查看內核配置或初始化函數。
  • 查看/proc/interrupts文件,看中斷計數是否有變化。若點擊屏幕,中斷計數沒變化,根據之前所說的中斷輸入引腳,說明此情況下中斷引腳沒有接到對應引腳上。
1.4.2 觸摸抖動
問題:使用ts_test查看,發現光標在不停閃爍。
分析思路:通過cat /proc/interrupts,查看中斷計數,若一直有增加,再用hexdump命令查看輸出信息,一般這種不規則情況,是由于中斷信號輸入引腳接到錯誤位置,例如五線屏的感應引腳,接到地之后,相當于屏幕一直被按下,所以會不斷上報錯誤事件。也有可能是感應引腳接到不穩定的電平,一直產生高低變化的擾動,系統把這種高低變化的擾動當作觸摸屏被按下的信號。
1.4.3 觸摸不準
問題:使用五線屏時,四個邊角總有一個無法觸摸得到。
分析思路:ADC模組有一個輸入的參考電壓,一般接1.8V,但有些意外情況,將其接到GND,相當于采集點一直無法采集到正常數據。
1.4.4 觸摸異常
問題:使用五線屏時,數據亂跳。
分析思路:由上篇文章“【應用技術】觸摸屏技術之原理分析”分析可知,五線屏的正常四個角如圖1.1所示,(H,H)與(L,L)形成對角分布,在這樣X、Y軸的電場才能形成相互垂直的分布,但如果出現圖1.2中(H,H)與(L,L)在同一個方向時,就無法形成相互垂直的電場,此時采集出來的感應點數據就是紊亂的。

圖1.1 正常五線屏電極分布

圖1.2 異常五線屏電極分布



本文地址:http://m.qingdxww.cn/thread-792559-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC32CM LS00 Curiosity Pro評估工具包
  • PIC32CM LS60 Curiosity Pro評估工具包
  • PIC32CK SG單片機——輕松滿足新型網絡安全要求
  • dsPIC® DSC:攻克各種觸摸傳感挑戰的電容式觸摸解決方案
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片影院| 三级黄色网络| 网络色综合久久| 日本在线成人| 青青久久99久久99久久999| 一级啪啪| 亚洲国产剧情| 日本免费色网站| 色综合天天综合中文网| 亚洲精品在线视频观看| 亚欧成人一区二区| 欧美日韩中文字幕在线| 一级毛片一| 亚洲精品亚洲人成在线观看麻豆| 欧美久久精品一级c片片| 欧美日韩国产另类一区二区三区| 欧洲三级视频| 日韩专区视频| 日本在线观看中文字幕| 欧美综合图片一区二区三区| 日本福利片国产午夜久久| 亚洲美女高清一区二区三区| 三级黄色毛片| 香蕉久草| 日韩a一级欧美一级在线播放| 亚洲综合激情网| 日日综合网| 午夜性a一级毛片| 四虎影院免费观看| 亚洲精品98久久久久久中文字幕| 视频在线h| 午夜欧美在线| 日日夜人人澡人人澡人人看免| 一级毛片儿| 天天综合视频| 日韩欧美国产成人| 午夜性色福利视频| 午夜不卡在线| 四虎影永久在线观看精品| 思思久久好好热精品国产| 亚洲区视频|