RK3576-UGFCRK3562-UGFCRK3568-UGFC(Old)NXP-8MP-UGFC(Old)NXPT507-UGFC(Old)芯驰D9-UGFCUGFCT113瑞萨Cortex-A55  RZ/G2L核心板瑞萨Cortex-A55  RZ/G2UL核心板全志Cortex-A7  T3/A40i核心板全志双核Cortex-A7  T113核心板NXP 6ULL核心板NXP 6D/6Q核心板NXP i.MX8Mmini核心板NXP i.MX8MPlus核心板芯驰D9核心板TI  Cortex-A8  AM335x核心板芯驰X9核心板MP135MP157(旧)RK3506-EG100 主板(旧)RK3506-EG1200主板(旧)RK3506-EG1800主板横屏显示模板RK3506邮票孔RK3506模组RV1126-B2BRK3588-B2BRK3576-B2BRK3568-B2BEG100-主板EG100-网关EG1200-主板EG1200-网关EG1800-主板EG1800-网关热销平台核心板 开发板HD-RK3506G-MINI卡片电脑HD-RK3576-PI卡片电脑HD-RK3506G-EVM(新)RK3506G-MINI卡片电脑多功能4G工业网关高性能4G工业网关轻量级4G网关多功能HD6UL-4G-GW 工控板轻量级HD-202D-GW工控板高性价比HD-G2UL-GW工控板边缘智能工业网关RK3568 OPS储能EMS网关控制器工控板工业网关(改新)7寸HMI(新)10.1寸工业平板(新)15.6寸工业平板(新)18.5寸工业平板(新)21.5寸工业平板PD070B1M2PD101A46PD156A46PD185A46PD215A46工业平板7寸LCD 电阻触摸屏7寸RGB电容触摸屏3.1寸电容套件5寸MIPI电容套件-3576-PI7寸MIPI电容屏(新)5寸电容套件(新)7寸电容套件232/485/CAN扩展板显示屏 配件板HD-RK3506G-MINI卡片电脑(新)RK3506-EG100 网关(新)RK3506-EG1200网关(新)RK3506-EG1800网关工业网关IMX219摄像头模组GC2093摄像头模组摄像头模块

【技术干货】工业触摸屏之驱动开发及异常分析(连载)

15
发表时间:2022-06-10 11:17

触摸屏作为嵌入式产品中常用的交互设备,具有交互直观,编程简易等特点,本系列文章将以多种角度分析如何选择合适的触摸屏方案及常见的故障解决方法。本文主题为电阻屏的驱动组成以及多数触摸屏的异常分析。


1.1测试环境


处理器:AM335x

内核版本:Linux-3.2

硬件条件:四线电阻屏、五线电阻屏


1.2驱动组成部分


触摸屏的处理流程离不开,响应中断上报事件,对于电容屏同样有效的。所以对于触摸屏,只需仅仅把握中响应中断上报事件的流程,即可定位是软件还是硬件故障。

以AM335x的电阻屏为例,涉及的驱动子系统列表如表1.1所示。触摸子系统是对触摸屏的抽象层,输入子系统提供符合上层应用使用的接口,中断子系统负责接收外设的中断信号,ADC子系统负责提供电场信号以及采集电压值。

表1.1   电阻屏相关驱动

电阻屏相关驱动

   


1.3AM335x电阻屏驱动


相关代码位置如表1.2所示。

表1.2   电阻屏代码路径

电阻屏代码路径


板级文件记录下ADC模组中哪些通道用作触摸功能,哪些通道用作模数转换功能,如代码清单1.1所示。

代码清单1.1   板级描述文件

路径:arch/arm/mach-omap2/board-am335xevm.c

代码清单1.1  板级描述文件

ADC模块驱动是对ADC通道的抽象整理,会涉及部分触摸的寄存器。例如《【应用技术】触摸屏技术之二:原理分析》中提到CTRL Register的AFE_Pen_Ctrl Bits用于选择中断触发信号输入脚,如代码清单1.2所示。

代码清单1.2   ADC模块驱动

路径:drivers/mfd/ti_tscadc.c

代码清单1.2  ADC模块驱动

最后就来介绍负责抽象整个触摸设备的触摸屏驱动文件,触摸驱动内封装了中断、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

代码清单1.3  X轴ADC配置

设置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

代码清单1.4  Y轴ADC配置

处理器完成ADC采集后,需要触发一个中断,中断处理函数的注册代码如代码清单1.5所示。对于用户层来说,最直观的就是查看此中断在系统中触发几次,所以此时的中断名就是request_irq内传入的中断名参数。

代码清单1.5   中断函数设计

路径:drivers/input/touchscreen/ti_tsc.c

代码清单1.5  中断函数设计

最后一点就是对输入子系统的封装,在触摸屏代码内必不可少的就是input子系统的调用,代码如代码清单1.6所示,input_report即为输入子系统上报函数族,上报事件包括:按键按下、按键弹起、绝对坐标、相对坐标等。所以对于系统来说,最终只要input_report能顺利执行,那么触摸信号就能正常获取。

代码清单1.6   输入子系统设计

路径:drivers/input/touchscreen/ti_tsc.c

代码清单1.6  输入子系统设计


1.4用户空间的排查方法


此处整理了电阻屏的问题定位方法,如表1.3所示。

表1.3   用户空间排查方法

用户空间排查方法

接下来我们结合一些具体案例来具体看看如何排查触摸问题。


1.4.1触摸没反应


问题:接上触摸屏没反应。

分析步骤:

1.查看dmesg | grep touch,查看系统是否有加载触摸驱动;此部分有内核配置选择,没有信息则定位为驱动异常,查看内核配置或初始化函数。

2.查看/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)在同一个方向时,就无法形成相互垂直的电场,此时采集出来的感应点数据就是紊乱的。

10.jpg

图1.1   正常五线屏电极分布

11.jpg

图1.2   异常五线屏电极分布


分享到:
文章列表
RK3576RK3576作为介于RK3568与RK3588之间的工业AI控制SoC,其核心价值在于填补中高端工业控制与边缘AI融合场景之间的性能与成本空档。 在工业数字化与边缘智能加速融合的趋势下,RK3576以工业级实时控制能力与多协议通信支持为基础,同时兼顾AI推理与多媒体处理能力,实现控制可靠性与智能计算能力的协同统一,使其成为连接“确定性控制”与“边缘智能”的关键桥梁型芯片 。RK3...
工业网关开发平台如何选择?从选型标准到RK3506方案解析(下)前言:随着工业物联网(IIoT)的快速发展,工业网关已经成为连接现场设备与云平台的重要桥梁。无论是数据采集、协议转换、边缘计算,还是设备远程运维,工业网关都承担着关键角色。然而,对于设备厂商和方案开发商而言,如何选择一个合适的工业网关开发平台,却并非一件简单的事情。平台选型不仅影响产品开发周期和硬件成本,更关系到设备未来的稳定性...
工业网关开发平台如何选择?从选型标准到RK3506方案解析(上)前言:随着工业物联网(IIoT)的快速发展,工业网关已经成为连接现场设备与云平台的重要桥梁。无论是数据采集、协议转换、边缘计算,还是设备远程运维,工业网关都承担着关键角色。然而,对于设备厂商和方案开发商而言,如何选择一个合适的工业网关开发平台,却并非一件简单的事情。平台选型不仅影响产品开发周期和硬件成本,更关系到设备未来的稳定性...
RK3506工业模组有奖征名活动最终获奖名单来啦!历时多日创意征集,各位伙伴踊跃投稿,经过多轮综合评审,结合产品定位、工业适配度、寓意、传播性四大维度严格筛选。今天正式公布本次RK3506工业模组征名获奖名单!01活动奖品一览 最佳命名奖(1 名)999 足金金条 3枚(1g/枚)优秀创意奖(3 名)999 足金金条 1枚(1g/枚)人气创意奖(10 名)RK3506工业模组或其评估板(J/...
RK3506工业模组有奖征名活动阶段性公示来啦!自征名通道开启以来,我们收到了全国各地工程师、行业从业者的大量创意投稿,每一份名称与释义我们都逐条认真评选。结合产品定位、工业场名称创意、贴合产品属性、传播性综合打分,内部综合评审完成首轮筛选,从中精选出40个优质入围名称,今日统一公示。01本次活动奖品一览 最佳命名奖(1 名)999 足金金条 3g(最终录用名称)优秀创意奖(3 名)999 ...
随着工业设备联网需求不断增长,传统设备面临数据孤岛、远程维护困难以及通信协议不兼容等问题。工业边缘网关作为连接现场设备与云平台的重要节点,正在成为工业物联网系统中的关键基础设施。EG100/EG108工业边缘网关基于RK3506工业平台打造,集成RS232、RS485、双网口、DI/DO以及4G、Wi-Fi、蓝牙等通信能力,可实现工业设备数据采集、协议转换、边缘处理与远程通信。产品支持Lin...
RK3506工业模组:高集成设计如何提升工业物联网开发效率前言在工业物联网快速演进的当下,设备开发者面临着多重技术挑战:硬件设计复杂导致BOM成本居高不下,底层驱动调试耗费大量时间成本,长期运行中的死机与时间同步问题影响系统可靠性,而成本与性能之间的平衡始终难以把握。这些痛点不但延长了产品研发周期,更制约了工业互联方案的规模化落地。万象奥科针对这些行业难题,推出了RK3506系列工业模组,通...
模组案例分享|基于RK3506工业模组7天拿到网关样机导言:答应大家的模组应用案例分享来了!本次分享的是广州农业物联网客户的真实项目案例——基于RK3506工业模组的一款工业网关应用方案。该模组同样适用于数据采集终端等工业场景,能够帮助企业缩短研发周期、精简BOM清单。·案例分享先来看硬件实拍:整板搭载2路以太网、3 路RS485接口,同时预留音频、TF 卡、SIM 卡接口,板载 WiFi、...
前言做产品成本控制,很多人的第一反应是:选一颗更便宜的主控芯片。但算细账的时候发现:主控省了20块钱,外挂的PHY、USB HUB、加密芯片、看门狗、RTC、4G模组、WiFi模组……加起来却多了上百块。而且物料种类多了,采购、库存、生产、测试的成本,以及品控与售后的成本都跟着涨。真正的“省”,不是单颗芯片的便宜,而是系统总成本的降低。以RK3506工业模组为例我们算一笔账01第一笔账:省物...
武汉万象奥科电子有限公司
服务热线:027-59218026
销售邮箱:sales@vanxoak.com
主营产品:ARM核心板、ARM工控板
工业网关、软硬件定制设计
地址:武汉东湖新技术开发区大学园路长城园路8号海容基孵化园B5

扫描二维码
关注公众号
产品及方案咨询
专业专注   合作共赢
移动电话:181 2058 0511 (湖北)
移动电话:175 7010 9551 (华南、华中)
移动电话:133 0386 9667 (华东、华北)