找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10289|回复: 2
打印 上一主题 下一主题
收起左侧

XPT2046中文资料详解

[复制链接]
跳转到指定楼层
楼主
ID:331263 发表于 2019-1-31 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、XPT2046简介
四线电阻式触摸屏,主要由两层镀有ITO镀层的薄膜组成。其中一层在屏幕的左右边缘各有一条垂直总线,另一层在屏幕的底部和顶部各有一条水平总线,如果在一层薄膜的两条总线上施加电压,在ITO镀层上就会形成均匀电场。当使用者触击触摸屏时,触击点处两层薄膜就会接触,在另一层薄膜上就可以测量到接触点的电压值。
为了在X轴方向进行测量,将左侧总线偏置为0V,右侧总线偏置为VCC。将顶部或底部总线连接到ADC,当顶层和底层相接触时即可作一次测量。
为了在Y轴方向进行测量,将顶部总线偏置为VCC,底部总线偏置为0V。将ADC输入端接左侧总线或右侧总线,当顶层与底层相接触时即可对电压进行测量。
如下图,测量出来的电压值与接触点的位置线性相关,即可以由VPX和VPY分别计算出接触点P的X和Y坐标。
在实际测量中,控制电路会交替在X和Y电极组上施加VCC电压,进行电压测量和计算接触点的坐标。举例说明测量流程:
第一步,在X+上施加VCC,X-上施加0V电压,测量Y+(或Y-)电极上的电压值VPX,计算出接触点P的X坐标;
第二步,在Y+上施加VCC,Y-上施加0V电压,测量X+(或X-)电极上的电压值VPY,计算出接触点P的Y坐标;
以上两步组成一个测量周期,可以得到一组(X,Y)坐标。
图2.1:触摸屏工作原理示意图
1、电阻触摸屏控制器XPT2046
通过以上介绍,可知要实现对某个触摸点的坐标测量,需要对电阻触摸屏模组的两层导电薄膜分时施加电压,在对其中一个导电薄膜的电极施加电压时,使用ADC去测量另一层导电薄膜的电极上的电压。由此可知,触摸控制器必须能够支持两个功能:
1)触摸控制器能够对连接的电极施加电压
2)触摸控制器能够测量电极上的电压(ADC)
即触摸控制器不仅仅是简单的ADC,因为其还要能够给电极提供电压,所以我们无法使用通用的ADC来完成4线电阻触摸屏的控制。为了实现对电阻触摸屏的控制,以TI为代表的众多厂商推出了专用的触摸控制器,如TI的TSC2046、ADS7843,两者功能相同,封装兼容,可以直接替换。同时,国内也有厂商推出了能够完全兼容的器件,最典型的如深圳矽普特公司推出的XPT2046,该芯片可完全兼容TI的TSC2046器件。本教程主要以该芯片为依据进行讲解。
2、XPT2046特性:
工作电压范围为2.2V~5.25V
支持1.5V~5.25V的数字I/O口
内建2.5V参考电压源
电源电压测量(0V~6)
内建结温测量功能
触摸压力测量
采用SPI3线控制通信接口
具有自动power-down功能
封装:QFN-16、TSSOP-16和VFBGA-48
与TSC2046、AK4182A完全兼容
XPT2046在125KHz转换速率和2.7V电压下的功耗仅为750μW。XPT2046以其低功耗和高速率等特性,被广泛应用在采用电池供电的小型手持设备上,比如PDA、手机等。
二、XPT2046中文资料详解_XPT2046内部框图
下图为XPT2046的功能框图,可见XPT2046内部包含了一个多路选择器,能够测量电池电压、AUX电压、芯片温度。一个12位的ADC用于对选择的模拟输入通道进行模数转换,得到数字量,然后送入控制逻辑电路,供主控CPU进行读取,同时,具体选择哪个通道进行转换,也是由主控CPU发送命令给控制逻辑来设置的。
XPT支持笔触中断,即当触摸屏检测到触摸被按下时,可以立即产生笔触中断,通知主控制器可以控制开始转换并读取数据。在转换过程中,通过busy信号指示当前忙状态,以避免主控发出新的命令中断之前的命令。
三、XPT2046中文资料详解_XPT2046引脚图及功能
1、XPT2046引脚图
图  XPT2046引脚图
2、XPT2046引脚功能
XPT2046通过SPI接口与主控制器进行通信,其与主控制器的接口包括以下信号:
PENIRQ_N:笔触中断信号,当设置了笔触中断信号有效时,每当触摸屏被按下,该引脚被拉为低电平。当主控检测到该信号后,可以通过发控制信号来禁止笔触中断,从而避免在转换过程中误触发控制器中断。该引脚内部连接了一个50K的上拉电阻。
CS_N:芯片选中信号,当CS_N被拉低时,用来控制转换时序并使能串行输入/输出寄存器以移出或移入数据。当该引脚为高电平时,芯片(ADC)进入掉电模式。
DCLK:外部时钟输入,该时钟用来驱动SARADC的转换进程并驱动数字IO上的串行数据传输。
DIN:芯片的数据串行输入脚,当CS为低电平时,数据在串行时钟DCLK的上升沿被锁存到片上的寄存器。
DOUT:串行数据输出,在串行时钟DCLK的下降沿数据从此引脚上移出,当CS_N引脚为高电平时,该引脚为高阻态。
BUSY:忙输出信号,当芯片接收完命令并开始转换时,该引脚产生一个DCLK周期的高电平。当该引脚由高点平变为低电平的时刻,转换结果的最高位数据呈现在DOUT引脚上,主控可以读取DOUT的值。当CS_N引脚为高电平时,BUSY引脚为高阻态。
四、XPT2046中文资料详解_XPT2046工作原理
XPT2046是一种典型的逐次逼近型模数转换器(SARADC),包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有一个2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。XPT2046可以单电源供电,电源电压范围为2.7V~5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V~VCC范围内的参考电压(要求外部参考电压源输出阻抗低)。X、Y、Z、VBAT、Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC,ADC可以配置为单端或差分模式。选择VBAT、Temp和AUX时可以配置为单端模式;作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。
下图为XPT2046的典型工作电路:
XPT2046有四个引脚,用于连接到四线制电阻屏的FPC上,分别为XP、XN、YP、YN,连接到对应的四线制电阻屏的X电极的正端、负端和Y电极的正端、负端。此四个引脚每个都能工作于两种状态,分别为电源/GND输出、ADC输入。例如设置ADC工作在差分模式,当测量X方向的坐标时,XP输出VCC、XN连接到GND,此时,YP和YN作为ADC的差分输入脚连接到ADC上,通过测量YP和YN之间的电压差来得到当前触摸点的X位置。同理,当测量Y方向的坐标时,YP输出VCC、YN连接到GND、此时,XN和XP作为ADC的差分输入脚连接到ADC上,通过测量YP和YN之间的电压差来得到当前触摸点的Y位置。
五、XPT2046中文资料详解_XPT2046典型应用
一)24时钟周期转换
1、读写时序
了解了XPT2046的接口电路,接下来我们就可以通过主控MCU或FPGA来控制该芯片实现坐标的读取了。要想正确的读到X、Y坐标,需要按照芯片规定的控制协议进行数据的读写。XPT2046实现一次X、Y坐标的读取需要完成两次转换,单一一次转换只能得到单一X或Y的坐标,因此,我们必须通过两次控制才能到到结果。至于每一次转换的对象为X或Y坐标,由控制器发出的控制字决定。ADC在转换时能够被配置为单端或差分模式,具体的控制字在每次传输开始的时候,由主控MCU驱动DIN信号传输。下图为XPT2046典型的24时钟周期转换控制时序:
XPT2046数据接口是串行接口,其典型工作时序如上图所示,图中展示的信号来自带有基本串行接口的单片机或数据信号处理器。处理器和转换器之间的的通信需要8个时钟周期,可采用SPI、SSI和Microwire等同步串行接口。一次完整的转换需要24个串行同步时钟(DCLK)来完成。
前8个时钟用来通过DIN引脚输入控制字节。当转换器获取有关下一次转换的足够信息后,接着根据获得的信息设置输入多路选择器和参考源输入,并进入采样模式,如果需要,将启动触摸面板驱动器。3个多时钟周期后,控制字节设置完成,转换器进入转换状态。这时,输入采样-保持器进入保持状态,触摸面板驱动器停止工作(单端工作模式)。接着的12个时钟周期将完成真正的模数转换。如果是度量比率转换方式(SER/DFR——=0),驱动器在转换过程中将一直工作,第13个时钟将输出转换结果的最后一位。剩下的3个多时钟周期将用来完成被转换器忽略的最后字节(DOUT置低)
2、控制字的设置
表3控制字段的每一位功能
控制字节由DIN输入的控制字如下表所示,它用来启动转换,寻址,设置ADC分辨率,配置和对XPT2046进行掉电控制。
起始位:第一位,即S位。控制字的首位必须是1,即S=1。在XPT2046的DIN引脚检测到起始位前,所有的输入将被忽略。
地址:接下来的3位(A2、A1和A0)选择多路选择器的现行通道(见表1、表2),触摸屏驱动和参考源输入。
MODE:模式选择位,用于设置ADC的分辨率。MODE=0,下一次的转换将是12位模式;MODE=1,下一次的转换将是8位模式。
SER/DFR:SER/DFR位控制参考源模式,选择单端模式(SER/DFR=1),或者差分模式(SER/DFR=0)。在X坐标、Y坐标和触摸压力测量中,为达到最佳性能,首选差分工作模式。参考电压来自开关驱动器的电压。在单端模式下,转换器的参考电压固定为VREF相对于GND引脚的电压(更详细的说明,见表1和表2)。
表1单端模式下的地址与通道对应关系
表2差分模式下的地址与通道对应关系
PD0和PD1:表5展示了掉电和内部参考电压配置的关系。ADC的内部参考电压可以单独关闭或者打开,但是,在转换前,需要额外的时间让内部参考电压稳定到最终稳定值;如果内部参考源处于掉电状态,还要确保有足够的唤醒时间。ADC要求是即时使用,无唤醒时间的。另外还得注意,当BUSY是高电平的时候,内部参考源禁止进入掉电模式。XPT2046的通道改变后,如果要关闭参考源,则要重新对XPT2046写入命令。
表4  控制字段每一位功能的具体说明
表5 PD位功能说明
上述通过24时钟周期的转换时序讲解了单次转换的时序,在实际应用中,为了提高转换效率,XTP2046提供了16时钟转换模式和15时钟转换模式。
二)16时钟周期转换
第n+1次转换的控制位可以与第n次转换部分重叠,所以可以用16个时钟周期完成一次转换,如图16所示。图16也说明了处理器和转换器之间的串行通信是可以双向独立进行的。此时,每次转换必须在开始后(接收到start)的1.6mS内完成,否则输入采样保持电路取样的信号会逐渐被放电衰减,影响转换结果。另外,在转换过程中另一串行通信的存在会使XPT2046工作于全功耗状态下。
8位总线接口,无DCLK时钟延迟16时钟周期转换时序
该模式下,DCLK的时钟高电平和低电平均要求最小值为200ns,即DCLK的时钟周期为2.5MHz。
三)15时钟周期转换
下图给出了XPT2046的最快时序。这种方法不支持大部分的微控制器和数字信号处理器的串行接口,因为它们一般都不提供15周期的串行传输方式。但是,这种方法适用于FPGA和ASIC。需要注意的是,这样有效地提高了转换器的最大转换速率。
最快转换速率,15时钟周期转换
在不影响输出精度的前提下提高数据吞吐量,XPT2046可以采用8位的转换模式。切换到8位转换模式,完成提前4个时钟完成一次转换。不仅每次转换缩短了都4位(数据吞吐量提高了25%),而且由于精度的降低,可以工作在更快的转换速率下,时钟速度可以提高50%,时钟速度的提高和转换周期的减少,共同可以使转换速率提高2倍。

完整的Word格式文档51黑下载地址:
XPT2046中文资料详解.docx (1.32 MB, 下载次数: 60)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:714544 发表于 2020-3-24 11:11 | 只看该作者
非常有用,好好学习,谢谢楼主
回复

使用道具 举报

板凳
ID:736296 发表于 2020-5-27 21:34 | 只看该作者
刚好在学习ADC,非常详细,感谢楼主的分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表