7寸TFTLCD 电容触摸屏模块
ATK-7’TFTLCD 用户手册
修订历史
版本 日期 原因
V1.00 2013/3/22
第一次发布
User Manual
目录
1.特性参数 (1)
2.使用说明 (2)
2.1 模块引脚说明 (2)
2.2 LCD控制器接口时序 (3)
2.3 LCD控制器寄存器说明 (4)
2.3.1 CUR_X寄存器(0x01)和CUR_Y寄存器(0x00) (4)
2.3.2 PIXELS寄存器(0x02) (5)
2.3.3 END_X寄存器(0x03) (5)
2.3.4 PREF寄存器(0x05) (6)
2.3.5 MIRROR寄存器(0X07) (6)
2.3.6 STATE/ DATA寄存器 (7)
2.4 电容触摸屏接口说明 (7)
2.4.1 GT811初始化流程 (8)
2.4.2 GT811坐标数据读取 (8)
2.4.3 GT811自动校准 (9)
3.结构尺寸 (10)
4.其他 (11)
1.特性参数
ATK-7’TFTLCD-V14(V14是版本号,下面均以A TK-7’TFTLCD表示该产品)是ALIENTEK推出的一款高性能7寸电容触摸屏模块。该模块屏幕分辨率为800*480,16位真彩显示,模块自带LCD控制器,拥有多达8MB的显存,能提供8页的显存,并支持任意点颜色读取。模块采用电容触摸屏,支持5点同时触摸,具有非常好的操控效果。
ATK-7’TFTLCD模块还提供了镜像翻转、背光控制等功能,方便用户使用。ATK-7’
表1.1 ATK-7’ TFTLCD 基本特性
注1:8M字节
表1.3 ATK-7’ TFTLCD 电气特性
注1:3.3V系统,可以直接接本模块(供电必须5V),如果是5V系统,建议串接1K左右电阻,做限流处理。
注2:130mA对应背光关闭时的功耗,350mA对应背光最亮时的功耗,此数据是在电源电压为5V时测出的,实际应用中功耗会由于电源电压的波动而略微变化。
2.使用说明
2.1 模块引脚说明
ATK-7’TFTLCD电容触摸屏模块通过2*17的排针(2.54mm间距)同外部连接,模块可以与ALIENTEK的STM32开发板直接对接,我们提供相应的例程,用户可以在ALIENTEK STM32开发板上直接测试。A TK-7’ TFTLCD电容触摸屏模块外观如图2.1.1所示:
图2.1.1-1 ATK-7’ TFTLCD电容触摸屏模块正面图
图2.1.1-2 ATK-7’ TFTLCD电容触摸屏模块背面图
模块通过34(2*17)个引脚同外部连接,各引脚的详细描述如表2.1.1所示:
表2.1.1 A TK-7’ TFTLCD 模块引脚说明
从上表可以看出,LCD控制器总共需要21个IO口驱动,电容触摸屏需要4个IO口驱动,这样整个模块需要25个IO口驱动。
2.2 LCD控制器接口时序
ATK-7’ TFTLCD模块自带的LCD控制器采用16位8080总线接口,总线写时序如图2.2.1所示:
图2.2.1 总线写时序
图中,当RS为0的时候,表示写入的是寄存器地址(0~7),RS为1的时候,表示写入的是数据(寄存器值/GRAM数据)。
总线读时序如图2.2.2所示:
图2.2.2 总线读时序
ATK-7’ TFTLCD模块自带的LCD控制器可读的寄存器只有2个,当RS为0的时候,表示读取的是状态寄存器(STA TE),当RS为1的时候,表示读取的是像素数据(DATA),读期间的地址寄存器(ADDR)将被忽略。
2.3 LCD控制器寄存器说明
表2.3.1 A TK-7’ TFTLCD 模块自带LCD驱动器寄存器地址和功能简介
2.3.1 CUR_X寄存器(0x01)和CUR_Y寄存器(0x00)
寄存器CUR_X和CUR_Y用于设置待操作像素点的坐标,TFTLCD屏幕上坐标的排列如图2.3.1.1所示:
图2.3.1.1 坐标排列
当CUR_Y和CUR_X的值确定后,像素点A的位置便被唯一的确定了,随后的写入的像素数据会被准确的放置在A点。
2.3.2 PIXELS寄存器(0x02)
寄存器PIXELS对应着16位的颜色数据,如果当前显示页与当前操作页相同,那么写入PIXELS的数据会被立即呈现在由CUR_X和CUR_Y选中的当前激活点上,如果当前显示页与当前操作页不相同,那么写入PIXELS的数据不会被立即呈现出来。
ATK-7’ TFTLCD模块的颜色格式为RGB565,具体的颜色与每个位对应关系如表2.3.2.1
2.3.3 END_X寄存器(0x03)
为了提高像素数据连续读写的效率,当设置好CUR_X和CUR_Y后,每读取/写入一个像素,当前激活点的X坐标就会自动加一,当激活点的X坐标等于END_X后,便会自动返回CUR_X同时Y坐标自动加一。如图2.3.3.1所示:
图2.3.3.1 X坐标自动返回示意图
以写数据为例,假设CUR_X、CUR_Y、END_X分别为400、200、500,A点、B点、C点、D点的坐标分别为(400,200)、(500,200)、(400,201)、(500,201)。设置好CUR_X、CUR_Y后,第一个像素写到了A点,第100个像素写到B点,第101个像素写到C点,
第200个像素写到D点,依此类推。
借助END_X寄存器,可以简化MCU批量数据读写的流程,假设MCU需要以(100,200)为起始坐标写入一个10×20的矩形,那么只需要将CUR_X设为100,CUR_Y设为200,END_X设为210,然后进行200次的像素点读/写操作即可,期间不需要再进行坐标设置操作,所有的坐标都会被自动推算。
2.3.4 PREF寄存器(0x05)
PREF寄存器用于设置当前显示页、当前操作页和TFT背光,各个位的具体含义如表
表2.3.4.1 HREF寄存器各位定义
2.3.4.1 背光控制
BK_PWM用于设置背光信号的占空比,从而调节TFT背光的亮度,取值范围为0~63,0代表背光关闭,63代表背光最亮。上电复位后BK_PWM的值默认为0,也就是背光关闭,在MCU对BK_PWM赋以非零值后,背光才能点亮。
2.3.4.2 当前显示/操作页
当前显示页由CUR_PAGE指定,表示屏幕上实际显示的显存分页,当前操作页由OPT_PAGE指定,表示当前读写操作的显存分页。如果CUR_PAGE与OPT_PAGE指向同一显存分页,那么写显存操作的结果会被立即呈现在屏幕上,如果CUR_PAGE与OPT_PAGE 指向不同的显存分页,那么对OPT_PAGE的任何操作都不会影响屏幕上的显示内容,只有在CUR_PAGE切换到OPT_PAGE后,OPT_PAGE中数据才会被显示出来。
2.3.5 MIRROR寄存器(0X07)
MIRROR寄存器用于实现图像的水平和垂直镜像翻转,该寄存器各位的具体含义如表2.3.5.1所示。
表2.3.5.1 MIRROR寄存器各位定义
UD位用于控制显示画面的垂直翻转,LR位用于控制显示画面的水平翻转,操作UD 位和LR位会影响TFT上的像素点位置与显存中数据地址的映射关系,但不会改变显存中的数据,不同的UD和LR值所对应的显示效果如图2.3.5.1所示。
图2.3.5.1 显示效果示意图
2.3.6 STATE/ DATA寄存器
这两个寄存器相互配合,用于完成像素数据的读操作。STATE寄存器的位定义如表2.3.6.1所示,读取该寄存器会自动启动像素点的读操作,当MCU查询到STATE的DATA_OK 位(b0位)为1后,表示像素数据有效,然后MCU读DA TA寄存器即可获得对应点的像素数据,与写像素数据的操作相同,读像素数据的像素点位置也是由当前的CUR_X和CUR_Y定义的。当MCU读取DA TA寄存器后,DATA_OK位会被自动清零。需要注意的是,读STATE寄器时,b15~b1位是随机值,因此在判断DATA_OK时,需要屏蔽掉这些位。
表2.3.6.1 STA TE寄存器各位定义
2.4 电容触摸屏接口说明
ATK-7’ TFTLCD模块采用汇顶科技(GOODIX)公司的GT811作为电容触摸屏的驱动IC,该驱动芯片通过4根线与外部连接:CT_RST、CT_INT、CT_SDA、CT_SCL。
CT_RST为GT811的复位信号,低电平有效,可以用来复位GT811,并可以让GT811进入正常工作模式。
CT_INT为GT811的中断输出引脚,当GT811有数据可以输出的时候,该引脚会输出脉冲信号,提醒CPU可以读取数据了。
CT_SDA和CT_SCL则是GT811和CPU进行IIC通信的接口,通过IIC总线进行数据交换。
GT811采用标准的IIC通信,最大通信速率为600Khz,模块设置的GT811器件地址为0XBA(写)和0XBB(读)。
GT811的写操作流程如图2.4.1所示:
图2.4.1 GT811写操作流程图
图2.4.1为CPU写GT811的操作流程图,首先CPU产生一个起始信号(S),然后发送地址信息及读写位信息“0”表示写操作:0XBA(Address_W)。
GT811接收到正确的地址后,发送ACK给CPU,CPU随后分2次发送16位首寄存器地址,先发送高8位,再发送低8位,随后发送8为要写入到寄存器的数据内容。
GT811寄存器的地址指针,会在写入一个数据后,自动加1,所以当CPU需要对连续地址的寄存器进行写操作的时候,只需要写入第一个寄存器的地址,然后开始连续写入数据即可。最后,当写操作完成时,CPU发送停止信号(E),结束当前的写操作。
GT811的读操作流程如图2.4.2所示:
图2.4.2 GT811读操作流程图
图2.4.2为CPU读GT811的操作流程图,首先CPU产生一个起始信号(S),然后发送地址信息及读写位信息“0”表示写操作:0XBA(Address_W)。
GT811接收到正确的地址后,发送ACK给CPU,CPU随后分2次发送16位首寄存器地址,设置要读取的寄存器地址。在收到应答后,CPU重新发送一次起始信号(S),发送地址信息及读写位信息“1”表示读操作:0XBB(Address_R)。在收到应答(ACK)后,CPU就可以开始读取数据了。
同样,GT811支持连续的读操作,CPU只需要在每收到一个数据后,发送一个ACK给GT811,就可以读取下一个寄存器的数据,寄存器地址也是自动增加的。当CPU想停止继续读数据的时候,发送NACK,然后在发送停止信号(E),即可结束当前的读操作。
2.4.1 GT811初始化流程
GT811的初始化流程非常简单,首先通过CT_RST引脚对GT811进行一次复位,让GT811进入正常工作模式。然后读取GT811的软件版本信息(通过寄存器0X717和0X718实现)。最后,在读到正确的版本后(0X2010),发送触摸屏厂家提供的配置信息到GT811,等到配置信息发送成功后,就完成了对GT811的初始化。
2.4.2 GT811坐标数据读取
完成初始化之后,就可以从G8T11读取当前触摸屏的坐标数据了。每当GT811有数据可供读取的时候,CPU就可以在CT_INT信号上接收到一个脉冲信号(100us左右的低电平脉冲),CPU在检测到脉冲信号后,就可以从GT811读取当前触摸屏的坐标信息了。
GT811的输出信息寄存器如图2.4.2.1所示:
图2.4.2.1 GT811输出信息寄存器
从图2.4.2.1可以看出,CPU只需要在接收到CT_INT中断后,从0X721处开始,连续读取34个字节,即可以把所有的触摸屏数据读出来,然后按照图中所示格式,将数据组织起来,就可以获得最多5个点的触摸数据。
其中TouchpointFlag寄存器(0X721)的tp0~tp4是触摸点0~4的数据是否有效的标志,如果为1,则说明对应点的数据有效,如果为0,则表示触摸点该数据无效。
另外PointxPressure(x=0~4)寄存器表示对应触摸点的力道大小,其实就是通过你按下的面积来判断力道,按下面积越大,该值越大。
2.4.3 GT811自动校准
GT811带有自动初始化校准即自动温度补偿功能,所以,ATK-7’TFTLCD电容触摸屏模块是不需要人工手动校准的。
a) 初始化校准
不同的温度、湿度及物理空间结构均会影响到电容传感器在闲置状态的基准值。GT811会在初始化的200ms内根据环境情况自动获得新的检测基准。完成触摸屏检测的初始化。
b) 自动温漂补偿
温度、湿度或灰尘等环境因素的缓慢变化,也会影响到电容传感器在闲置状态的基准值。GT811实时检测各点数据的变化,对历史数据进行统计分析,由此来修正检测基准。从而降低环境变化对触摸屏检测的影响。
3.结构尺寸
ATK-7’ TFTLCD电容触摸屏模块的尺寸结构如图3.1所示:
图3.1 ATK-7’ TFTLCD模块尺寸图
4.其他
1、购买地址:
官方店铺1:https://www.wendangku.net/doc/be17800615.html,
官方店铺2:https://www.wendangku.net/doc/be17800615.html,
2、资料下载
ATK-7’ TFTLCD模块资料下载地址:https://www.wendangku.net/doc/be17800615.html,/posts/list/0/13558.htm 3、技术支持
公司网址:https://www.wendangku.net/doc/be17800615.html,
技术论坛:https://www.wendangku.net/doc/be17800615.html,
联系电话:020-********