tag 标签: 触摸屏

相关帖子
相关博文
  • 2024-11-4 18:07
    181 次阅读|
    0 个评论
    时隔九年!树莓派新品:树莓派 Touch Display 2 正式开售!
    早在 2015 年,树莓派就推出了支持多点电容式触摸的 7 英寸 800×480 像素 LCD 面板 Raspberry Pi Touch Display。它仍然是树莓派最受欢迎的配件之一,在无数的创客项目和嵌入式产品中找到了用武之地。今天,树莓派宣布 Raspberry Pi Touch Display 2 将以同样低廉的价格面世,它具有更高的 720×1280 像素分辨率和更轻薄的外形。 Raspberry Pi Touch Display 2 的主要功能包括: 7 英寸对角线显示屏 88 毫米 × 155 毫米活动区域 720 (RGB) × 1280 像素 真正的多点触控电容面板,支持五指触控 完全由 Raspberry Pi OS 支持 由主机 Raspberry Pi 供电 设置简单 Touch Display 2 由 Raspberry Pi 供电,兼容 Raspberry Pi 1B+ 以上的所有 Raspberry Pi 电脑,但 Raspberry Pi Zero 系列除外,因为它们缺少必要的 DSI 端口。它用四颗螺钉牢固地固定在 Raspberry Pi 上,随附的电源线和数据线兼容标准和迷你 FPC 连接器格式。与上一代产品不同的是,Touch Display 2 将显示驱动器 PCB 集成到显示屏外壳中,外形更加纤薄。 ​ 与前代产品一样,Touch Display 2 由 Raspberry Pi OS 完全支持,它提供了支持五指触控和屏幕键盘的驱动程序。这样,无需键盘或鼠标就能实现全部功能。虽然它是一个原生纵向格式的 720×1280 像素面板,但 Raspberry Pi OS 支持屏幕旋转,以便用户横向使用。 根据树莓派对延长产品可用寿命的承诺,原始 Touch Display 将在可预见的未来继续生产,但不再推荐用于新设计。Touch Display 2 的生产最早将持续到 2030 年,嵌入式和工业客户就可以放心地将其应用到自己的产品和装置中。 在此之前,树莓派从未有过九年不更新重要配件的情况。但是,树莓派花了很多时间来完成这次更新,并期待着看到未来九年甚至更长的时间里如何在项目和产品中使用Touch Display 2。 树莓派Touch Display 2可以直接在树莓派的经销商上海晶珩进行获取 。
  • 热度 4
    2024-8-10 11:22
    409 次阅读|
    1 个评论
    ​ 目录: 一、概述 1、触摸屏简介 2、安装软件 1)设置VSPD软件 2)设置VisualTFT软件 3)设置串口软件 二、单片机发送指令给触摸屏 1、按钮控件 2、文本控件 3、图标控件 1)图标控件的使用 2)图标的生成 4、显示与隐藏控件 三、触摸屏发送指令给单片机 四、下载固件到触摸屏 ------------------------------------------------------------------------------------------------- 一、概述 1、触摸屏简介 本处以DC80480KF070_1111_4C为例说明,如下图。 具体参数如下: 2、安装软件 分别为:虚拟串口软件VSPD、VisualTFT_3.0.0.1097与串口软件SSCOM,如下图。 ​ 1)设置VSPD软件 串口1与串口2为一对连接的串口,若二者均打开,如下图所示。 2)设置VisualTFT软件 第1步运行虚拟串口屏,第2步打开串口COM1。 3)设置串口软件 串口软件SSCOM设置如下图。 使用串口COM2并打开串口,这样虚拟屏的串口COM1就于其外部的串口COM2进行通讯。 二、单片机发送指令给触摸屏 选定控件并右键,即可显示出其使用说明。 ​ 1、按钮控件 通过“指令助手”获取指令。 单片机发送指令,按钮按下的效果。 2、文本控件 单片机向画面2中的文本框控件3发送“Short Test”,由文本框显示出来。具体过程:通过2处设置画面ID与控件ID,向3处添加需发送的内容,生成如4处的指令。 将4处生成的指令形成如下图的数组,由单片机的串口发送出去。 通过单片机发送的指令清除文本框内容: 本处为了方便,我们采用虚拟串口COM2模拟单片机发送指令。1处已经生成的指令复制到2处,务必打开3与4处的串口,5处就会显示“Short Test”。 3、图标控件 1)图标控件的使用 通过“指令助手”获取指令。 单片机发送指令,图标显示的效果。 2)图标的生成 (1)点击工具,选择“图标生成”。 ​ (2)点击增加帧 (3)点击打开可以依次添加预先准备好的 ICON 图标素材 (4)帧添加完成之后,我们通过拖动可以调整帧与帧之间的排列,帧的排列决定了最后 生成图标的帧数。帧数添加排列完毕后点击生成图标。 4、显示与隐藏控件 通过指令助手生成指令。 单片机发送指令,隐藏控件的效果。 三、触摸屏发送指令给单片机 按下按钮后,通过串口COM1向单片机发送的数据如上图所示。 虚拟串口COM2显示如下图。 四、下载固件到触摸屏 ​ ​ 在C盘中生成一个SD_PACKET,将其复制到SD卡中。 ​ 触摸屏第一次上电,检测是否有SD卡,用于升级固件。 更多精彩内容也可移步至 公众号 ,全网同号。
  • 热度 5
    2022-7-20 10:33
    1053 次阅读|
    0 个评论
    触摸屏作为嵌入式产品中常用的交互设备,具有交互直观,编程简易等特点,本系列文章将以多种角度分析如何选择合适的触摸屏方案及常见的故障解决方法。本文主题为电阻屏的驱动组成以及多数触摸屏的异常分析。 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 触摸没反应 问题:接上触摸屏没反应。 分析步骤: 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)在同一个方向时,就无法形成相互垂直的电场,此时采集出来的感应点数据就是紊乱的。 图1.1 正常五线屏电极分布 图1.2 异常五线屏电极分布
  • 热度 10
    2022-7-5 09:20
    1392 次阅读|
    0 个评论
    触摸屏作为嵌入式产品中常用的交互设备,具有交互直观,编程简易等特点,本系列文章将以多种角度分析如何选择合适的触摸屏方案及常见的故障解决方法。本文主题为电阻屏的驱动组成以及多数触摸屏的异常分析。 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 触摸没反应 问题:接上触摸屏没反应。 分析步骤: 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)在同一个方向时,就无法形成相互垂直的电场,此时采集出来的感应点数据就是紊乱的。 图1.1 正常五线屏电极分布 图1.2 异常五线屏电极分布
  • 热度 5
    2022-4-26 11:04
    9643 次阅读|
    2 个评论
    电容式触摸屏(CTP)模组工厂中的静电损坏实例启示
    1. 专业术语名词: TP:Touch Panel,触控屏或触摸屏。 CTP:Capacitive Touch Panel,电容式触控面板(俗称“电容式触摸屏”),当前触摸屏触控识别技术最常用的一种。 FA:Failure Analysis,失效分析,电子制造工厂的一个必备职能部门,跟进解决工厂生产中产品的各种不良品的分析解决。 “防静电”:国内电子行业内最具代表性的一个静电防护的传统认知概念,即“防静电”物料通过其表面呈现导电型或静电耗散性(表面电阻<1E11 ohm),在其表面接地时,实现其表面的低静电带电(静电压足够低,如小于100V)。 2. 触摸屏模组工厂中的静电损坏案例 2018年,一触摸屏生产工厂TP模组段的生产线上检出异常多的不良品,经工程FA分析确认为静电导致的ITO sensor击穿炸伤,并将风险工序锁定于TP的撕膜工序。 图1,CTP ITO sensor搭接处的静电损坏症状 该TP撕膜工序以手动的方式在一个真空吸附的机台上完成。该撕膜工序基于过往的静电防护的一些认知,当时已经采取的主要技术措施包括: 1.TP撕膜平台TP方式的区域贴附“防静电胶带”(表面电阻:1E8-2E9 ohm); 2.TP撕膜平台上方安装离子棒(Keyence),用于消除TP撕膜过程中产生的大量静电; 3.使用常规的Electrostatic Field Meter(静电场测试仪),在TP撕膜后检测TP的静电带电,确认离子化的静电消除是否有效(当时的检测数据|U|<200V/inch); 4.手动撕膜操作员佩戴静电手腕带接地,并佩戴“防静电手套”。 图2,CTP撕膜机台上实测TP撕膜过程中的静电带电风险 然而,尽管该撕膜工序采取了以上的“防静电”措施,该工序导致的静电损坏不良率仍然很高( 1%左右 )。 此后,经过专业机构的技术分析后提供了区别于业内以往所有的静电防护技术性方案( 基于静电场敏感型微电子的静电防护技术原则 ),将其撕膜平台进行改造,在此后的小批量生产验证已经长时间的正常量产,该工序导致的静电损坏不良率始终 低于0.01% 。 3. 电子工厂静电防护实践启示 该触摸屏工厂撕膜工序的静电导致的TP产品损坏案例,揭示了当前业内一类非常普遍极具代表性的静电防护技术性认知: 操作人员只要可靠接地(佩戴静电手腕带),操作电子产品边不会发生静电导致的产品损坏( 事实上本案例的主要静电风险来自于产品的撕膜过程,而非人体 ); 接触电子产品的机台表面,必须满足表面导电性或静电耗散性,并接地(机台表面对地电阻<1E11 ohms)(事实上本案例的最终解决技术方案恰恰相反) 撕膜过程产生的大量静电,只要安装高效的离子化静电中和措施(Keyence的离子棒静电消除性能业内几乎属于第一梯队),便可以避免产生静电不良(而事实上,最终的技术性分析结论表明该撕膜工序 原有的机台设计,安装离子化并没有达到有效消除撕膜过程累积大量静电的目标 )。 微电子器件、产品在生产制造阶段的静电防护,要根据微电子器件不同的静电敏感特性及其静电失效机理,相适应制订(差异化)的静电防护技术方案,同时在工厂生产线中评价现场静电防护措施有效性的检测方法,也要依据不同生产工序的静电条件通过做进一步的纠错、容错分析后,最终得到可以正确指导工厂静电防护措施不断改进的目标。 换句话说,如果对微电子器件、产品的生产工厂不加任何甄别地制定“一刀切式”的通用型静电防护方案,那么一定有些微电子器件的工厂生产中的静电导致的不良损失不能得到有效解决。
相关资源