四线电阻式触摸屏驱动的优化

简介: 触摸屏在电子产品中用得越来越多,其技术也在不断发展。目前常见的有电阻式、电容式、红外式和表面声波式等几大类,其中电阻式最为普遍。最近在WinCE下调试了一款四线电阻式的触摸屏驱动,利用检测触摸压力的方法实现了动态调整触摸屏的灵敏度。

      触摸屏在电子产品中用得越来越多,其技术也在不断发展。目前常见的有电阻式、电容式、红外式和表面声波式等几大类,其中电阻式最为普遍。最近在WinCE下调试了一款四线电阻式的触摸屏驱动,利用检测触摸压力的方法实现了动态调整触摸屏的灵敏度。

      一般的嵌入式处理器中会有几个通道的AD,通常有四个通道用于连接触摸屏的XP、XM、YP和YM。如果MCU 没有Touch Screen Interface,可以选择如TSC2003一类的触摸屏控制器芯片。MCU可通过IIC总线与其通讯,以得到相应的触摸屏AD采样值。目前正在调试的TCC8900芯片内部集成了触摸屏控制器,原厂的BSP中也提供了相应的驱动,实际测试时发现,该驱动在4.3寸屏上工作得挺好,但在某些7寸屏上经常会出现跳笔,尤其是在开始按下和最后抬起时,跳笔非常严重。在快速手写时也有跳笔的情况,并且导致笔迹非常不圆滑。在触摸驱动中使用多次采样、去头掐尾求平均等简单滤波算法,问题仍然存在。经分析,问题的根源在于轻点触摸屏时采样值严重不准,所以即使采用滤波算法也无济于事了。解决问题要从根本出发,在上报数据时须严进宽出,压力较小的采样直接PASS,这样可以很好的去除一些抖动和跳笔。

      参考TSC2003获取触摸压力的方法修改触摸驱动,单独获取XP、YP等值,通过计算得到按下触摸屏时的电阻值。该值与点击触摸屏的位置无关,只与点击触摸屏压力大小有关,压力越大,该值越小。在实际使用时规定一个参考值,当该值小于该参考值时才认为是可靠按下,将采样得到的坐标值上报,否则直接扔掉。由于触摸屏硬件的差别,不同触摸屏的灵敏度可能不一样,可以通过应用程序修改驱动中的参考值,从而实现动态调整触摸屏灵敏度。修改后实际测试发现,效果比原来要好一点。

      按下四线电阻式触摸屏,采样时的等效电路图如下所示。

clip_image002

XPOS=V*R2/(R1+R2) (式1)

Z1POS=V*R2/(R3+Rt+R2) (式2)

Z2POS=V*(Rt+R2)/(R3+Rt+R2) (式3)

由式2和3可得,Rt=(Z2/Z1-1)*R2 (式4)

由式1可得R2=XPOS*(R1+R2)/V,即R2=XPOS*(RXplate)/V (式5)

将式5和式4可得,

clip_image004

      对于同一触摸屏来说,Rx-plate是固定的,因为使用的是12bit的AD,故除以4096。对于触摸屏压力检测来说,式6即能说明当前压力大小关系。

Ft=XPOS*Z2POS/Z1POS-XPOS (式6)

      Ft的绝对值越小,说明按下越可靠,采样值有效。反之,可以认为是轻按,采样值无效。

目录
相关文章
|
Kubernetes 安全 调度
k8s 集群Node节点扩缩容
k8s 集群Node节点扩缩容
1734 1
k8s 集群Node节点扩缩容
|
开发框架 前端开发 开发工具
一个小案例带你快速了解鸿蒙ArkUI的基本使用
一个小案例带你快速了解鸿蒙ArkUI的基本使用
896 124
|
数据采集
以“雪球网行情中心板块数据抓取”的爬虫案例
爬虫案例—雪球网行情中心板块数据抓取
845 1
|
消息中间件 API 调度
TAG:BladeLLM 的纯异步推理架构
近期,大模型推理社区(vLLM,SGLang 等)普遍开始关注框架运行时开销,提出了多步调度、异步输出处理、独立 API Server 进程等工作,来分摊或掩盖部分开销。 在我们的实际业务场景中,也观察到高额的框架开销严重限制了系统吞吐,特别是在高并发(>1k)场景下,运行时开销已经接近或高于 GPU 运行时间,导致资源严重浪费和性能下降。为此,BladeLLM 设计并实现了基于 Python 的纯异步 LLM 推理架构 -- TAG (Totally Asynchronous Generator) ,以最大程度提高 GPU 利用率,提升引擎性能。
|
机器学习/深度学习 数据采集 算法
Python使用随机森林模型进行电影评分预测
Python使用随机森林模型进行电影评分预测
1967 1
Python使用随机森林模型进行电影评分预测
|
算法
PID算法原理分析及优化
今天为大家介绍一下经典控制算法之一的PID控制方法。PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。 在大学期间,参加的智能汽车竞赛中就使用到了PID经典控制算法,对于智能小车的调试更加的方便。 一、PID原理 PID控制方法将偏差的比例(proportional)、积分(integral)、微分(derivative)通过线性组合构成控制量,对被控对象进行控制。 常规的PID控制系统如图所示: 系统的输入r(t)为控制量的目标输出值,输出y(t)为控制量的实际输出值,e(t)为输出量目标值与实际值
659 1
|
C# 开发者 Windows
4款.NET开源、功能强大的Windows桌面工具箱
4款.NET开源、功能强大的Windows桌面工具箱
364 0
|
机器学习/深度学习 自然语言处理 算法
文本挖掘分析多元应用:新能源汽车股市、英国封锁、疫情旅游与舆情分析
文本挖掘分析多元应用:新能源汽车股市、英国封锁、疫情旅游与舆情分析
|
Oracle 关系型数据库 数据库
ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist的原因分析
        今天突然接到同事电话,说oracle数据库连接不上了,我远程过去用pl/sql developer登录,提示ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist.意思是oracle无法使用,共享内存领域不存在。
3018 0

热门文章

最新文章