2 4线电阻式触摸屏芯片ADS7843简介
ADS7843是一款具有同步串行接口的4线电阻式触摸屏控制芯片,具有12位模/数转换精度。ADS7843的4个模拟电压输入引脚X+、X-、Y+、Y-连接触摸屏的4个电极,触摸屏通过这4个引脚将触点电压送到ADS7843进行量化。具体来说,如果要获取触点Y坐标,ADS7843会在Y十和Y-之间施加一个电压,触点将X+与Y+和Y-间电阻网络的一点导通,与触点位置相关的分压值就会通过X+送入ADS7843,通过量化这个分压值就可以获取触点的Y坐标。X坐标的获取也是相同的道理。量化台阶由基准电压和每个样点量化后的位数n决定,为基准电压的1/2”。
2.1 ADS7843工作模式
ADS7843具有两种工作模式:单端模式和差分模式。两种模式的区别在于基准电压采用了不同的构成方式。基准电压是ADS7843内部模/数转换模块的正负参考电压+REF和-REF之差。当处于单端模式时,+REF来自外部参考电压输入,一般选取ADS7843的供电电压+ VCC,-REF接地,所以基准电压为+Vcc。假设在该模式下获取触点Y坐标,由于+Vcc是通过三极管施加在Y+和Y一之间,所以三极管的导通电阻始终会分去一部分电压。这样无论触点在哪里,都不可能获得满量程。这个问题可以通过工作在差分模式解决。在该模式下,当要获取触点Y坐标时,芯片内部自动将Y+与+REF相连,Y-与-REF相连,这样Y+与Y-之间的电压始终为基准电压,消除了三级管导通电阻的影响。
2.2 ADS7843的数字接口
ADS7843的数字接口包括片选CS、串行数据输入DIN、串行数据输出DOUT、时钟输入DCLK、中断信号PENIRQ五个引脚,能与具有串行接口的微控制器或数字信号处理器进行数据交换。处理器与ADS7843之间需要24个串行时钟周期才能完成一次完整的转换。前8个时钟周期用于向ADS7843提供一个控制字节,该控制字节组成如下:
S位为“1”时表明控制字节的开始;A[2:0]用于选择量化通道,“001”选择X通道,“101”选择Y通道;MODE位为“1”时选择8位量化精度,为“0”时选择12位量化精度;SER/DFR位为“1”时选择单端模式,为“0”时选择差分模式;PD[1:0]用于选择一种省电模式。控制字传输完后,接下来的16个时钟周期用于传输量化后的坐标数据。
ADS7843数字接口还有以下特点:片选低电平有效,时钟空闲时为低电平,时钟的上升沿采样串行数据。
3 基于ColdFire处理器QSPI接口的触摸屏驱动设计
3.1 硬件电路
触摸屏控制芯片ADS7843与ColdFire系列处理器的硬件连接图如图4所示。
ADS7843数字接口的4个引脚与COLDFire处理器QS-PI模块对应引脚相连,中断信号引脚PENIRQ与处理器外部中断引脚IRQ4相连。注意,需要10kΩ上拉电阻。
3.2 软件设计
从触摸发生到获取触摸点坐标的过程如下:触摸发生时,ADS7843会通过PENIRQ引脚触发一个中断,在中断子程序中首先应延迟10~20 ms以去除抖动带来的影响,然后向ADS7843发送控制字获取X、Y坐标。
获取一个坐标的值需要向ADS7843输入24个时钟周期。对QSPI模块来说,可以把这24个周期作为3次8位的传输队列,或1次8位、1次16位的传输队列。这里选择3次8位传输队列的方式。QSPI初始化代码如下: