探索AR1000系列电阻式触摸屏控制器:特性、应用与设计要点
在当今数字化时代,触摸屏技术已经成为各类电子设备不可或缺的一部分。Microchip的AR1000系列电阻式触摸屏控制器,以其卓越的性能和丰富的功能,为开发者提供了一个可靠且高效的解决方案。今天,我们就来深入了解一下这款控制器的特性、应用场景以及设计过程中的关键要点。
文件下载:AR1020T-I ML.pdf
一、AR1000系列概述
AR1000系列是一款易于集成、成本效益高且通用的触摸屏控制器芯片。它专为高产量、小尺寸的触摸解决方案而设计,能够满足快速上市的需求。该系列适用于多种应用场景,包括移动通信设备、个人数字助理(PDA)、全球定位系统(GPS)、触摸屏显示器、自助服务终端(KIOSK)、媒体播放器和便携式仪器等。
其独特的优势在于拥有复杂的专有触摸屏解码算法,能够处理所有触摸数据,从而减轻主机的处理负担。同时,它还具备过滤功能,能够提供可靠、经过验证和校准的触摸坐标。此外,通过板载EEPROM,AR1000可以存储并独立应用校准数据,为系统设计提供了更高的资源效率。
二、电阻式传感器基础
2.1 术语解释
在深入了解AR1000系列之前,我们先来熟悉一些电阻式传感器的基本术语。ITO(氧化铟锡)是构成触摸传感器有源区域的电阻涂层,它是一种透明半导体,通过溅射工艺涂覆在触摸传感器层上。Flex或Film或Topsheet是用户触摸的顶层传感器,因其在触摸压力下会发生物理弯曲而得名。Stable或Glass是与显示屏接触的底层传感器。Spacer Adhesive是一种围绕传感器周边连接Flex和Stable层的粘合剂框架,而Spacer Dots则用于保持两层之间的物理和电气分离,通常印刷在Stable层上。Bus Bars或Silver Frit用于将Flex和Stable层上的ITO与传感器的接口尾部进行电气连接,通常采用丝网印刷的银墨,其电阻率比ITO低得多。X轴和Y轴分别代表触摸传感器的左右和上下方向,Drive Lines则用于在传感器上提供电压梯度。
2.2 传感器类型比较
AR1000系列支持4线、5线和8线模拟电阻式触摸屏。这三种传感器各有特点:
- 4线传感器:成本较低,功耗低于5线传感器,在未校正的情况下线性度更好。但如果Flex层损坏或电阻发生变化,可能会导致触摸不准确。
- 5线传感器:即使Flex层损坏,也能保持触摸精度。然而,它存在固有的非线性,通常需要对触摸数据进行校正,并且电阻变化也可能导致触摸不准确。
- 8线传感器:成本高于4线传感器,功耗低于5线传感器,在未校正的情况下线性度也比5线传感器好。它能够在Flex层损坏时保持触摸精度,并且在电阻变化时也能维持准确的触摸位置。
2.3 不同类型传感器的工作原理
- 4线传感器:由Stable和Flex层组成,通过Spacer Dots实现电气分离,两层相互垂直组装。触摸位置的确定是通过先在Flex层上施加电压梯度,然后使用Stable层测量Flex层的触摸位置电压;接着在Stable层上施加电压梯度,使用Flex层测量Stable层的触摸位置电压。在驱动轴上的任何位置测量到的电压都是可预测的,触摸在驱动轴方向上移动会产生线性变化的电压,而垂直于驱动轴移动则会产生相对不变的电压。
- 8线传感器:基本工作原理与4线传感器相似,但它有四个额外的互连用于将传感器电压参考回控制器。由于触摸系统可能会因母线电阻变化以及控制器与传感器之间的连接问题而出现电压损失,这些损失会随产品使用、温度和湿度的变化而变化。在4线传感器中,这些损失会表现为报告触摸位置的误差或漂移,而8线传感器的四个额外感测线可以动态参考电压,以校正使用过程中的这种波动。
- 5线传感器:由Flex和Stable层组成,通过Spacer Dots实现电气分离。触摸位置的确定是先在Stable层的X轴方向上施加电压梯度,使用Flex层测量该轴的触摸位置电压;然后在Stable层的Y轴方向上施加电压梯度,使用Flex层测量该轴的触摸位置电压。与4线和8线传感器不同的是,5线传感器的电压是施加在角落而不是有源层的边缘。
三、硬件设计
3.1 主原理图
对于SOIC/SSOP封装引脚布局,有相应的主应用原理图。而QFN封装引脚布局可参考图1 - 2。在设计过程中,需要根据具体的封装类型选择合适的原理图,以确保硬件连接的正确性。
3.2 传感器类型选择
可以通过硬件引脚M2选择所需的4/8线或5线传感器类型。当选择4/8线时,通过TouchOptions配置寄存器可以进行软件选择4线或8线操作。默认情况下,硬件选择4/8线时,控制器以4线模式运行,如果需要8线操作,则需要更改TouchOptions配置寄存器。
3.3 不同类型传感器的接口连接
- 4线触摸传感器接口:传感器尾部引脚布局可能因制造商和产品编号而异。需要确保一个传感器轴(层)的两个传感器尾部引脚连接到控制器的X - /X +引脚,另一个传感器轴(层)的尾部引脚连接到控制器的Y - /Y +引脚。控制器的X - /X +和Y - /Y +引脚对不需要连接到特定的传感器轴,引脚的方向也不重要。同时,需要将未使用的控制器引脚5WSX - 、SX + 、SY - 和SY +连接到VSS。
- 5线触摸传感器接口:同样,传感器尾部引脚布局可能不同。要确保一对对角相关的传感器角落的尾部引脚连接到控制器的X - /X +引脚,另一对对角相关的角落的尾部引脚连接到控制器的Y - /Y +引脚。控制器引脚的方向也不重要,但传感器顶部层连接的尾部引脚必须连接到控制器的5WSX - 引脚。未使用的控制器引脚SX + 、SY - 和SY +需要连接到VSS。
- 8线触摸传感器接口:与4线传感器类似,一个传感器轴(层)的两个传感器尾部引脚连接到控制器的X - /X +引脚,另一个传感器轴(层)的尾部引脚连接到控制器的Y - /Y +引脚。8线传感器的每个边缘都有一个二次连接到传感器尾部,这些二次连接称为“感测”线。控制器上与8线传感器感测线相关的引脚名称中包含“S”前缀。在连接时,需要参考传感器制造商的规格,确保正确连接感测线和激励线,否则会影响性能。
3.4 其他硬件要点
- 状态LED:LED及其相关电阻是可选的。LED可以作为控制器功能的状态指示器,当控制器运行且无触摸时,它会缓慢闪烁;当有触摸时,它会快速闪烁(中等亮度)。如果在SPI通信中使用LED,无触摸时LED熄灭,有触摸时快速闪烁。需要注意的是,如果SIQ引脚未使用,必须保持不连接,不能连接到电路的VDD或VSS。
- WAKE引脚:AR1000的WAKE引脚具有“触摸唤醒/触摸检测”功能,它在控制器的功能中扮演三个角色:唤醒触摸、触摸检测和测量传感器电容。应用电路中需要在WAKE引脚和控制器芯片的X - 引脚之间连接一个20KΩ的电阻,以确保产品正常运行。
- ESD考虑:在4线、5线和8线接口应用原理图中都显示了ESD保护。不同的ESD二极管电容可能会对触摸性能产生不利影响,电容越低越好。参考设计中使用的PESD5V0S1BA部件典型电容为35pF,在选择ESD保护时,需要进行测试,确保不会降低触摸性能。
- 噪声考虑:参考设计中包含了触摸传感器滤波电容。需要注意的是,更改电容值可能会对触摸系统的性能产生不利影响。
四、通信接口
4.1 I2C通信
AR1021是一个7位地址为0x4D的I2C从设备,支持高达400kHz的比特率。主(主机)设备与AR1021进行接口。在硬件接口方面,M1引脚必须连接到VSS以选择I2C通信;SCL(串行时钟)引脚是电气开漏的,需要一个2.2KΩ至10KΩ的上拉电阻连接到VDD,其空闲状态为高;SDA(串行数据)引脚也是电气开漏的,同样需要一个2.2KΩ至10KΩ的上拉电阻连接到VDD,空闲状态为高,主设备写入数据在SCL上升沿锁存,读取数据在SCL下降沿锁存;SDO引脚是一个驱动输出中断,空闲状态为低,当AR1021有数据准备好(触摸报告或命令响应)供主设备读取时,会被置为高。
在通信过程中,需要注意地址的使用、主设备读写的位时序以及时钟拉伸等问题。例如,主设备读取时,地址位在SCL上升沿锁存到AR1021,数据位在SCL上升沿从AR1021锁存出来,ACK在第九个时钟呈现。主设备在发送另一个时钟脉冲之前,必须监控SCL引脚,因为AR1021可能会通过拉伸时钟来阻止主设备。而AR1020在写条件下不实现时钟拉伸,在向其发送命令时,停止位之前需要50us的延迟。
4.2 SPI通信
SPI工作在从模式,SCK空闲状态为低,数据在SCK下降沿传输。硬件接口方面,M1引脚连接到VDD以选择SPI通信;SDI引脚用于接收主设备发送的串行数据;SCK引脚接收主设备的串行时钟;SDO引脚向主设备提供串行数据输出;SIQ引脚是一个可选的中断输出,当控制器有数据可用(触摸报告或命令响应)时,会被置为高,在主设备时钟输出数据包的第一个字节后被清除;SS引脚提供可选的“从选择”功能,当引脚电平为VSS时,控制器被激活,为VDD时处于非激活状态,非激活状态下控制器的SDO引脚呈现高阻抗,以防止SPI总线上与其他设备发生总线争用。
SPI数据通过主设备对AR1021控制器的SCK引脚进行时钟操作来传输,每个时钟周期同时将一位数据移入和移出AR1021控制器。触摸报告和命令响应都是中断驱动的,当有触摸报告或命令响应准备好时,SIQ引脚会被置为高,主设备通过时钟操作读取数据,读取第一个字节后SIQ引脚被清除。SPI的最大比特率约为900kHz,在不同比特率下进行了特性表征,同时AR1021控制器需要约50us的字节间延迟。
4.3 UART通信
UART通信固定为9600波特率,8N1格式。M1引脚连接到VDD以选择UART通信,TX引脚用于向主机发送数据,RX引脚用于接收主机的数据,SDO引脚需要连接到VSS。需要注意的是,睡眠模式会导致TX线变低,可能会被视为控制器发送的0x00字节。
五、触摸报告协议
触摸坐标以5字节数据包的形式从控制器发送到主机系统,包含X轴坐标、Y轴坐标和“笔抬起/按下”触摸状态。X轴和Y轴坐标的范围是0 - 4095(12位),实际分辨率为1024,X1:X0和Y1:Y0位为零。建议应用程序以12位格式读取数据包中的坐标,以增强应用程序的健壮性。
六、配置寄存器
配置寄存器允许对控制器进行特定应用的定制。默认值已经针对大多数应用进行了优化,除非用户选择更改,否则会自动使用。不同的寄存器具有不同的功能,例如:
- TouchThreshold寄存器:设置触摸检测的阈值,值太小可能会导致控制器无法接受真实触摸,值太大可能会接受非常轻或虚假的触摸条件。
- SensitivityFilter寄存器:设置触摸灵敏度级别,值越高对触摸越敏感,但触摸位置可能不稳定;值越低对触摸不敏感,但触摸位置更稳定。
- SamplingFast和SamplingSlow寄存器:分别设置触摸移动快和慢时的触摸测量样本平均级别,较低的值会提高触摸坐标报告率,但可能会出现更多高频随机噪声误差;较高的值会降低报告率,但会减少噪声误差。
- AccuracyFilterFast和AccuracyFilterSlow寄存器:分别设置触摸移动快和慢时的精度增强滤波器级别,较低的值会提供更好的触摸坐标分辨率,但可能会出现更多低频噪声误差;较高的值会降低分辨率,但会减少噪声误差。
- SpeedThreshold寄存器:设置触摸移动被视为快或慢的阈值。
- SleepDelay寄存器:设置无触摸或命令活动导致控制器进入低功耗睡眠模式的时间。
- PenUpDelay寄存器:设置控制器允许的笔抬起事件的延迟时间,以减少触摸丢失。
- TouchMode寄存器:配置不同触摸状态下的操作,包括笔按下、笔移动和笔抬起。
- TouchOptions寄存器:包含各种与“触摸”相关的选项位,如4线或8线传感器选择和校准坐标启用。
- CalibrationInset寄存器:定义校准点相对于触摸传感器有源区域周边的预期位置,以百分比表示。
- PenStateReportDelay寄存器:设置“笔按下”和“笔抬起”触摸模式状态下连续触摸报告之间的延迟时间。
- TouchReportDelay寄存器:设置连续触摸报告数据包之间的强制延迟时间,以降低触摸报告率。
七、命令操作
7.1 命令发送和响应
控制器支持特定应用的配置命令,命令发送格式包括头字节(0x55)、大小字节、命令ID和数据(如果适用)。为了确保命令通信不被触摸活动中断,建议在发送其他命令之前禁用控制器的触摸功能,然后在完成后重新启用。
接收到的命令会有相应的响应,响应格式包括头字节(0x55)、大小字节、状态字节、命令ID和数据(如果适用)。状态值可以表示命令执行的结果,如成功、命令未识别、头未识别、命令超时或取消校准模式等。
7.2 具体命令说明
- GET_VERSION:控制器返回版本号和类型。
- ENABLE_TOUCH:控制器在有效触摸条件下发送触摸坐标报告。
- DISABLE_TOUCH:控制器不发送任何触摸坐标报告,但触摸仍能唤醒处于睡眠状态的控制器。
- CALIBRATE_MODE:进入校准模式,接受接下来的四次触摸作为校准点坐标。完成校准后,校准点坐标会自动存储在控制器的板载内存中,并设置TouchOptions寄存器的CCE位,以启用校准坐标报告。校准过程中,四次触摸必须按照物理顺序输入。不同型号的控制器在校准响应上可能会有所不同,完成校准后需要等待一段时间,以确保数据完全写入EEPROM。
- REGISTER_READ和REGISTER_WRITE:分别用于读取和写入控制器寄存器的值。在操作之前,需要先通过REGISTER_START_ADDRESS_REQUEST命令获取寄存器组的起始地址,然后计算所需寄存器的绝对地址。
- REGISTERS_WRITE_TO_EEPROM:将配置寄存器的值保存到EEPROM,以便控制器在电源循环后记住配置设置。
- EEPROM_READ和EEPROM_WRITE:用于读取和写入EEPROM中的值。需要注意的是,EEPROM的前128字节(地址范围0x00 - 0x7F)由控制器保留用于配置寄存器设置和校准数据,只有REGISTER_WRITE_TO_EEPROM命令应该用于将配置寄存器写入EEPROM;后128字节(地址范围0x80 - 0xFF)可供用户应用使用。
- EEPROM_WRITE_TO_REGISTERS:将EEPROM中的适用数据写入配置寄存器,使控制器立即使用对EEPROM中存储的配置寄存器值所做的更改。
八、应用注意事项
8.1 触摸传感器校准
AR1000系列控制器提供了校准功能,可将报告的坐标校准到应用的视频显示。校准过程包括禁用触摸报告、获取寄存器组起始地址、设置CalibrationInset寄存器的值、发出CALIBRATE_MODE命令、提示用户依次触摸四个校准点、等待校准数据写入EEPROM以及重新启用触摸报告等步骤。校准过程可以随时通过向控制器发送命令来取消,完成校准后,校准数据会自动存储到EEPROM并启用“校准坐标”功能。
8.2 AR1011/AR1021存储默认校准值
如果需要在AR1000 EEPROM中预加载固定的校准值,需要按照特定的步骤进行操作。首先要确定固定校准值是否适合应用并计算自定义数据集的校验和。然后,通过发送DISABLE_TOUCH命令禁用触摸,使用EEPROM_WRITE命令多次将数据写入EEPROM,包括块密钥、数据集、校验和以及镜像数据。接着,设置TouchOptions寄存器的CCE位以启用控制器使用校准数据,最后发送ENABLE_TOUCH命令重新启用触摸。在整个过程中,需要遵循错误检查实践,检查AR1000对发出命令的响应。为了增加质量保证,可以通过应用程序向AR1000发出多个EEPROM_READ命令,并将响应数据与应用程序的期望数据进行比较。
九、电气规格和封装信息
9.1 电气规格
AR1000系列控制器的绝对最大额定值包括环境温度、存储温度、电压、总功耗、最大电流等参数。在实际应用中,需要确保不超过这些额定值,以