转自:http://www.cntronics.com/sensor-art/80015498?page=2

中心议题:

  • 电容式触摸屏设计到产品的各种挑战

解决方案:

  • 用Gen4消除电容触摸屏设计屏障

将电容式触摸屏设计到产品并不是一项简单的任务。这个复杂的机电系统面临着许多集成方面的严峻挑战。终端用户希望他们的产品轻薄,市场需要长电池寿命。对触摸性能的预期相当惊人:4mm手指,防手掌误触,1毫米触控笔以及悬停。系统需要与低成本的通用USB电池充电器配合工作,抑制来自不断增长的大量无线噪声源的噪声,以及忽视水的影响。还需注意,其价格必须便宜。解决这些问题并不容易。幸运的是,赛普拉斯(Cypress)公司推出了Gen4。

速度
从设计之初,Gen4旨在逐一解决这些设计问题。第一个挑战是性能。虽然市场上一些触摸屏声称高达250Hz,但在存在噪声的现实应用中却不可能达到。这是由于这些器件中的8位MCU核能力不足,不具备实现满足现今环境要求的先进滤波算法所需的数学计算能力。一旦滤波完成,就需要像DSP一样执行8位数学计算,实现精确的位置测量,而又不降低系统性能。实测结果表明,在真实世界环境下,触摸屏控制器的速度将减少到60Hz。这将导致在快速轻击,尤其是触笔跟踪时,性能表现不佳。Gen4旨在解决这些问题。

一些振荡线圈变换器充电器可以被认为是宽带噪声发生器,因为它们产生了范围从1kHz到近100kHz的多达40Vpp的噪声。大多数最终还具有伴随许多谐波的更多周期噪声的倾向。

设计用于配合特定电话工作的OEM厂商的充电器具有较严格的噪声规格,同时,在充电电路中广泛采用USB连接器为配件市场创造了巨大的机会。为了在其中进行竞争,配件厂商充分地降低充电器成本。采用低成本电子器件的充电器给手机充电将注入很多噪声到触摸屏,而导致其很可能无法使用。

因此,OEM厂商要求触摸屏IC具有更高水平的噪声处理能力。许多规范要求从1kHz到400kHz要有40Vpp,并在50~60Hz范围要有95Vpp的抑制能力。幸运的是,市场上已有专门的算法和方法(例如:Cypress的Charger

Armor)可以满足严格的要求,并具备400Vpp以上的电池充电器抗噪声能力。这种水平是通过各种手段来实现的,无论是经过非线性滤波,跳频,还是其它的硬件方法。Gen4可以实现这一切。

实现满足当今移动行业要求规格的抗噪声能力并非琐事。触摸屏通常采用处理器滤波解决这个问题。俗话说的“根不正,苗必歪,染坊拿不出白布来”也并不是百分百准确,但一开始就采用干净的信号却仍很关键。克服充电器噪声的一个最好方法,特别是那些输出宽带噪声,是使用纯净的信号来予以克服。因为从触摸控制器模拟端产生的未经处理的信噪比和设备驱动面板的电压成正比(SNR∝VTx),所以期望采用高电压的Tx。

典型的触摸屏控制器一般以连接到面板的2.7V电压轨来驱动它,而Gen4系列则有一些区别。它同样采用2.7V的模拟电源,但实际上却以10V驱动面板。电荷泵和10V晶体管集成到Gen4器件系列,这使得它们能够实现较其他任何芯片近4倍的未经处理的信噪比。

一旦信号获取后,就可以采用中值滤波或是其他更先进的非线性滤波等典型技术来进一步提高信噪比,但这将以牺牲刷新率为代价。10V Tx已显示出能够处理充电器输出高达31Vpp的带内噪声,而并不需要采用这种先进的滤波类型。

但是当带内噪声太高时又将怎样?这就是其他先进技术的重要性所在。如果设备需处理的带内噪声变得很大,则Gen4具有的独特处理能力便可派上用场:通过动态调整其发射频率并转换信道来避免噪声。自适应跳频技术是触摸屏中解决充电器噪声问题的另一个关键技术。

解决显示器噪声问题
显示器给投射式电容触摸屏系统带来了许多挑战。这是因为它们产生了相当大的噪声,这些噪声可以直接传导到电容触摸屏传感器。还有一件更难的事情是,OEM厂商要求手机模型更薄,这意味着要使实际的触摸屏传感器更加接近显示器,甚至就在里面。

多年来,业内已使用屏蔽层来保护传感器免受显示器噪声的影响。这会增加任何手机的成本与厚度,但却十分有效。业内还在显示屏和传感器之间使用了一个通常约为0.3毫米厚度的小气隙,利用自然空气消除来自显示器的传导噪声。然而,随着手机变得越来越薄,对于当今的设计来说,这两种选择都不是很理想。

在传统的TFT液晶显示器中,公共电极(VCOM)由直流或交流电压驱动。ACVCOM层通常用来降低显示器驱动的工作电压,同时保持液晶电压恒定。这是一个相对低成本的显示器,相对与DCVCOM来说,这种类型的显示器功耗更高,噪声也更大。我们简单看看ACVCOM显示器的典型波形(图3)。


图3:ACVCOM显示器典型噪声波形

典型ACVCOM类型的显示器会有集中在10~30kHz的500mVpp~3mVpp任何幅度的噪声(如图3所示),而DCVCOM噪声则会较小。要测量显示器的噪声非常简单,可以在显示器的顶部加一个小铜带,将示波器连接到该小铜带,并将示波器的地连接到显示器的电路地,然后运行显示器捕获波形。这种程度的噪声对于电容触摸屏控制器来说是灾难性的,但是可以通过气隙或者屏蔽来改进。气隙会使手机变厚,且会带来机械设计问题。屏蔽层也会增加厚度,并带来成本问题。

幸运的是,显示器噪声可以采用Gen4轻松减弱。Cypress的Display
Armor技术是业内采用的最先进的对抗显示器噪声的方法。通过在触摸屏设备中集成内置的监听通道,Gen4可以用两种不同的方式来消除显示器噪声。一种方法是使用先进的算法来区分噪声和数据;另一种是检测噪声源并获取波形,以致在没有噪声时进行电容测量。这两种方法都由硬件完成,不会影响到CPU或触摸屏子系统通常的执行。其结果是可以实现低成本的轻薄、先进的电容触摸屏层叠结构(stackup)。

精度
触摸屏控制器必须提供精确的用户体验,精度和线性度都是关键。精度定义为触摸屏控制器报告的位置与实际目标中心有多接近;线性度则度量的是报告位置与目标经过屏幕运动线路的接近程度。两者都是关键参数,且在边缘周围非常重要。Gen4可以帮助设计人员把精度和线性度提高到0.2mm以下。它还能支持较大范围的手指尺寸:从小到4mm的较小手指到大到30mm的较大手指,都可以精确识别。

节约成本
Gen4系列产品的抗噪声能力使设计人员不仅能够抵御苛刻的环境要求,而且还能节约成本。如何实现呢?使用Gen4时,厂商可以使用低成本的电池充电器和低成本的显示器。在传感器设计时可以不必使用屏蔽层,也无需采用保护触摸屏IC不受噪声源影响的其他的昂贵元器件。Gen4甚至可以在FPC上节省成本,因为它可以使用单层布线。这要感谢其灵活的IO设计以及无需外部元器件。典型的设计可以设置Tx引脚在器件的任何一侧,而所有的Rx引脚则均位于顶部。

易于使用
设计师面临的另一个挑战就是要不断的学习新的工具和芯片。这是因为对于不同的项目有不同的控制器。无论是针对功能手机的这一项目,针对智能手机的另一项目,还是针对它们的手写板设计的下一项目,试图在一个时间表内完成所有这些项目并学习很多的新知识,将带来极大的挑战性。Gen4可以解决这个问题,因为它是一个单芯片解决方案的平台,可以支持所有这些市场的需求。具有31、35、36、40、56、60个传感器IO可选(屏幕尺寸从1.5”至12”),设计人员不再需要担心针对新产品提出的新结构。此外,设计人员还可以在所有的项目中使用相同的开发环境:TrueTouch
Host Emulator(TTHE)。它无需任何编码,只需简单点击就能完全配置和调整触摸设计,从而可以使设计人员节省设计时间。

本文小结
投射式电容触摸屏控制器仍将继续发展。性能将会增加,并且市场还将继续对系统价格施压。幸运的是,我们已经找到解决途径。Gen4为市场带来了无与伦比的抗噪声能力,并结合了革命性的刷新率以及功耗。由于它的集成水平,设计人员可以实现先进的性能,并在同时降低系统设计的成本。采用Gen4平台方法可以使设计人员节省设计的时间和成本,并为终端客户带来极好的用户体验。

用Gen4消除电容触摸屏设计屏障【转】的更多相关文章

  1. 第29章 电容触摸屏—触摸画板—零死角玩转STM32-F429系列

    第29章     电容触摸屏—触摸画板 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  2. 基于FT5x06嵌入式Linux电容触摸屏驱动

    **************************************************************************************************** ...

  3. FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析&移植10寸电容屏驱动到Android4.2) (by liukun321咕唧咕唧)

    这是几个月以前的东西了,在彻底遗忘之前拿出来好好写写.做个笔记,也算是造福后来人了.在做这个项目之前,没有做过电容屏的驱动,印象中的电容触摸屏是不需要校正的.IC支持多大的屏就要配多大的屏.但是拿到需 ...

  4. 【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸和电容触摸

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第54章       STM32H7的LTDC应用之LCD电阻 ...

  5. android 电容屏(一):电容屏基本原理篇

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

  6. 【转】android 电容屏(一):电容屏基本原理篇

    关键词:android  电容屏 tp  ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 42 ...

  7. JZ2440 裸机驱动 第14章 ADC和触摸屏接口

    本章目标:     了解S3C2410/S3C2440和触摸屏的结构:     了解电阻触摸屏的工作原理和等效电路图:     了解S3C2410/S3C2440触摸屏控制器的多种工作模式:     ...

  8. Android电容屏(一)【转】

    本文转载自:http://blog.csdn.net/xubin341719/article/details/7820492 关键词:Android  电容屏 tp  ITO 平台信息:内核:linu ...

  9. android 电容屏(三):驱动调试之驱动程序分析篇

    平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...

随机推荐

  1. (转)规划从 OpenGL ES 2.0 到 Direct3D 的移植

    如果你移植 iOS 或 Android 平台中的游戏,那么你可能需要在 OpenGL ES 2.0 方面进行大量投资.如果你准备将你的图形管道代码库移动到 Direct3D 11 和 Windows ...

  2. Visual Studio的下载安装

    下载地址: 下载Visual Studio Code https://code.visualstudio.com/ 安装扩展包 安装图标 View->Extensions 搜索Icon 安装Ma ...

  3. Python知识点进阶——生成器

    生成器 为什么要将列表转化为迭代器? 因为列表太大的话用内存太大,做成迭代器可以节省空间,用的时候再拿出部分. 生成器是不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,知 ...

  4. WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决

    原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...

  5. Not a git repository (or any of the parent directories): .git解决

    首先git init .然后在执行就行了.意思应该是当前目录不是git.

  6. laravel5.2总结--关联关系

     参考文章 http://laravelacademy.org/post/1095.html http://laravelacademy.org/post/1174.html http://d.lar ...

  7. 56、使用android studio(v1.3.*)修改包名 (rename package name)

    一.修改包名 ①选中目录,开始构造 在弹窗中选中Rename directory 在弹窗中选中Rename package 填写新的包名,点击Refactor 如果有警告,不用管它,直接点击Do Re ...

  8. Wordpress 数据库查询错误 Call to a member function get_results() on null

    在插件中的一个文件使用如下代码,无法查询 <body> <?php global $wpdb; $sql = ""; $sql = "SELECT * ...

  9. Docker Hadoop LAMP安装配置教程

    以下教程来自九章算法. 1.How to install Dockerhttps://bupt.quip.com/YehSAR4qnGqB 2.How to set up hadoop environ ...

  10. c# 钩子程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...