7.9.1. 模块介绍
7.9.1.1. 术语定义
术语 |
定义 |
注释说明 |
---|---|---|
ADC |
Analog Digital Converter |
模拟数字转换器 |
ADCIM |
ADC Interface Management |
ADC接口管理模块 |
RTP |
Resistance Touch Panel |
电阻触摸屏 |
7.9.1.2. 模块简介
- RTP模块特性:
支持4线RTP,即X+、X-、Y+、Y-
支持压力感应
支持最多2点触摸
支持采样滤波,滤波参数可配置
支持触摸检测中断
FIFO深度16
RTP需要依赖ADCIM模块(统一管理硬件通路和处理信号校准),其关系如图:
对于一次RTP的点击动作,会有4个相关的采样点:X+、X-、Y+、Y-(详见下文), 这些采样点的选择和控制方式可以有不同的组合,分为两大类采样模式:
- 手动模式
手动去配置硬件4个采样点的电路信号,来组合得到XN、YN、ZA、ZB等采样数据。
- 自动模式
自动模式意味着硬件自动配置电路,直接输出XN、YN、ZA、ZB等采样结果。 在自动模式中,根据采样数据是否连续进行又分为:
Period sample:周期采样,硬件会按照配置的周期自动采集和上报数据
Single sample:为避免和“单个采样点”混淆,称作 非周期采样,由软件触发完成一次采样
7.9.1.3. 工作原理
7.9.1.3.1. 硬件结构原理
下图是RTP硬件结构的一个侧面剖视图:
表面硬图层:手指触摸的表面是一个硬涂层,用以保护下面的PET层。
PET层:很薄、有弹性,当表面被触摸时它会向下弯曲,并使得下面的两层ITO涂层能够相互接触并在该点连通电路。
ITO陶瓷层:两个ITO层之间是约千分之一英寸厚的一些隔离支点使两层分开。
玻璃底层:最下面是一个透明的硬底层用来支撑上面的结构,通常也可以用塑料。
RTP的多层结构会导致很大的光损失,对于手持设备通常需要加大背光源来弥补透光性不好的问题, 必然会增加电池的消耗。
RTP的优点是它的屏和控制系统都比较便宜。
7.9.1.3.2. 坐标计算
- ITO陶瓷层分为上下两层:
X层和Y层,中间用隔离支点分开,当有触摸按下,就触摸点的X层、Y层就会导通。
当没有触摸按下时,X层和Y层是分离的,此时就测不到电压。
X层上X-到X+和Y-到Y+的电阻是均匀分布的,其电路等效图如下:
计算X坐标:在X+电极施加驱动电压V, X-电极接地,Y+做为引出端测量得到接触点的电压。
由于ITO层均匀导电,触点电压与Vdrive电压之比等于触点X坐标与屏宽度之比。
x = (Vy/Vdrv) * width
计算Y坐标:在Y+电极施加驱动电压V,Y-接地,芯片通过X+测量接触点的电压。
由于ITO层均匀导电,触点电压与V电压之比等于触点Y坐标与屏高度之比。
y/height = Vx/Vdrv
y = (Vx/Vdrv) * height
7.9.1.3.3. 坐标采样
基于以上原理,对X+、X-、Y+、Y-加不同的电信号,拉低、还是拉高,会得到多种组合, 常用的组合命名为:XN、XP、YN、YP、ZA、ZB、ZC、ZD,具体电信号定义见spec。 可以简单理解为:X*、Y*都是和位置有关的数据,Z*是和压感有关的数据。
7.9.1.3.4. 坐标校准
触摸屏和LCD屏需要合在一起使用,LCD屏中运行的GUI需要知道的是一个转换后的坐标, 这个坐标值需要是在LCD屏分辨率的范围内。所以需要一个触摸屏坐标到LCD坐标之间的线性转换,通用公式如下:
其中s是RTP的ADC分辨率,12bit的话就是4096(即RTP采样得到的数据范围是0~4095)。
- 校准过程的操作方法
在屏幕4个角落分别点击,就可以测到4组LCD坐标值和触摸屏触摸屏坐标值,从而可以列出8个等式, 求解出a、b、c、d、e、f的值。
小技巧
开源tslib库附带的ts_calibrate工具,提供了5点校准的处理。
7.9.1.3.5. 压感计算
当打开压感数据后,便于根据压力数据来过滤掉一些抖动的点。 尤其在触摸时抬起的瞬间会大概率产生压力很小的采样数据,这样的数据会存在较大误差,可以根据压力将其过滤掉。
可以通过两个公式来计算压力数据:(Z1、Z2对应上述的ZA、ZB数据)
公式1:
公式2:
两个公式的计算结果有一点误差,10%以内。 其中两个参数x-plate和y-plate需要用户根据屏幕实测的电阻值来配置DTS, 可以看到两个公式使用上的差别在于公式1只需要一个x-plate,公式2需要x-plate和y-plate。