logo资料库

ATK-7' TFTLCD 模块使用说明(探索者开发板)_AN1510B.pdf

第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
资料共44页,剩余部分请下载后查看
AN1510B ATK-7’ TFTLCD电容触摸屏模块使用说明
1、ATK-7’ TFTLCD电容触摸屏模块简介
1.1 模块引脚说明
1.2 LCD控制器接口时序
1.3 LCD控制器寄存器说明
1.3.1 CUR_X寄存器(0x01)和CUR_Y寄存器(0x00)
1.3.2 PIXELS寄存器(0x02)
1.3.3 END_X寄存器(0x03)
1.3.4 PREF寄存器(0x05)
1.3.5 MIRROR寄存器(0X07)
1.3.6 STATE/ DATA寄存器
1.4 LCD控制器使用说明
1.4.1 初始化
1.4.2 画点
1.4.3 读点
1.5 电容触摸屏接口说明
1.5.1 电容式触摸屏简介
1.5.2 FT5206简介
2、硬件连接
3、软件实现
4、验证
AN1510B ATK-7’ TFTLCD 电容触摸屏模块使用说明 本应用文档(AN1510B)将教大家如何在 ALIENTEK 探索者 STM32F407 开发板上使用 ATK-7’ TFTLCD 电容触摸屏模块。(本文档仅针对 V1 版本的 7 寸屏模块,即:CPLD+FT5206 方 案;非 V2 版本的 7 寸屏模块,V2 版本采用的是:SSD1963+FT5206 方案)。 本文档分为如下几部分: 1, ATK-7’ TFTLCD 电容触摸屏模块简介 2, 硬件连接 3, 软件实现 4, 验证 1、ATK-7’ TFTLCD 电容触摸屏模块简介 ATK-7’ TFTLCD 电容触摸屏模块,是 ALIENTEK 生产的一款高性能 7 寸电容触摸屏模块, 该模块屏幕分辨率为 800*480,16 位真彩显示,模块自带 LCD 控制器,拥有多达 8MB 的显 存,能提供 8 页的显存,并支持任意点颜色读取。模块采用电容触摸屏,支持 5 点同时触摸, 具有非常好的操控效果。同时,模块还提供了镜像翻转、背光控制等功能,方便用户使用。 ATK-7’ TFTLCD 模块采用单 5V 供电,工作电流为 130mA~350mA,功耗很低,非常适合 各类型产品使用。 1.1 模块引脚说明 ATK-7’ TFTLCD 电容触摸屏模块通过 2*17 的排针(2.54mm 间距)同外部连接,模块可 以与 ALIENTEK 的 STM32 开发板直接对接,我们提供相应的例程,用户可以在 ALIENTEK STM32 开发板上直接测试。ATK-7’ TFTLCD 电容触摸屏模块外观如图 1.1.1 所示: 图 1.1.1-1 ATK-7’ TFTLCD 电容触摸屏模块正面图
图 1.1.1-2 ATK-7’ TFTLCD 电容触摸屏模块背面图 模块通过 34(2*17)个引脚同外部连接,各引脚的详细描述如表 1.1.1 所示: 序号 说明 名称 NCE RS WR RD RST LCD 控制器片选信号(低电平有效) 命令/数据控制信号(0,命令;1,数据;) 写使能信号(低电平有效) 读使能信号(低电平有效) 复位信号(低电平有效) 1 2 3 4 5 6~21 22,26,27 23~25 28 29 30 31 32 33 34 D0~D15 双向数据总线 GND NC VCC MISO MOSI PEN BUSY CS CLK 地线 未用到 5V 电源输入引脚 NC,电容触摸屏未用到 电容触摸屏 IIC_SDA 信号(CT_SDA) 电容触摸屏中断信号(CT_INT) NC,电容触摸屏未用到 电容触摸屏复位信号(CT_RST) 电容触摸屏 IIC_SCL 信号(CT_SCL) 表 1.1.1 ATK-7’ TFTLCD 模块引脚说明 从上表可以看出,LCD 控制器总共需要 21 个 IO 口驱动,电容触摸屏需要 4 个 IO 口驱 动,这样整个模块需要 25 个 IO 口驱动。 1.2 LCD 控制器接口时序 ATK-7’ TFTLCD 模块自带的 LCD 控制器采用 16 位 8080 总线接口,总线写时序如图 1.2.1 所示:
图 1.2.1 总线写时序 图中,当 RS 为 0 的时候,表示写入的是寄存器地址(0~7),RS 为 1 的时候,表示写入 的是数据(寄存器值/GRAM 数据)。 总线读时序如图 1.2.2 所示: 图 1.2.2 总线读时序 ATK-7’ TFTLCD 模块自带的 LCD 控制器可读的寄存器只有 2 个,当 RS 为 0 的时候,表示 读取的是状态寄存器(STATE),当 RS 为 1 的时候,表示读取的是像素数据(DATA),读期间的 地址寄存器(ADDR)将被忽略。 1.3 LCD 控制器寄存器说明 ATK-7’ TFTLCD 模块自带的 LCD 控制器各个寄存器的地址和功能简介如表 1.3.1 所示: 复位值 0x0000 功能简介 16 — — 16 RS 操作 位宽 地址 名称 0 写 0 读 1 读 1 写 1 写 1 写 1 写 0x00 0x01 0x02 16 16 16 16 16 — 0x03 END_X ADDR 设置地址寄存器的值 STATE 读状态寄存器 DATA 读像素数据 CUR_Y 设置屏幕的 Y 坐标 CUR_X 设置屏幕的 X 坐标 PIXELS 写入像素数据 1 写 1 写 16 16 0x04 保留 0x05 PREF 设置当前显示页、当前操作页, 设置 X 方向自动返回的坐标,以及页 拷贝时 X 方向的结束坐标 背光等 0x0000 0x0000 0x0000 0x0000 0x0000 0x031f 0x0000
1 写 1 写 8 8 0x06 保留 0x07 MIRROR 控制镜像翻转 0x0001 表 1.3.1 ATK-7’ TFTLCD 模块自带 LCD 驱动器寄存器地址和功能简介 1.3.1 CUR_X 寄存器(0x01)和 CUR_Y 寄存器(0x00) 寄存器 CUR_X 和 CUR_Y 用于设置待操作像素点的坐标,TFTLCD 屏幕上坐标的排列如图 1.3.1.1 所示: 图 1.3.1.1 坐标排列 当 CUR_Y 和 CUR_X 的值确定后,像素点 A 的位置便被唯一的确定了,随后的写入的像 素数据会被准确的放置在 A 点。 1.3.2 PIXELS 寄存器(0x02) 寄存器 PIXELS 对应着 16 位的颜色数据,如果当前显示页与当前操作页相同,那么写入 PIXELS 的数据会被立即呈现在由 CUR_X 和 CUR_Y 选中的当前激活点上,如果当前显示页与 当前操作页不相同,那么写入 PIXELS 的数据不会被立即呈现出来。 ATK-7’ TFTLCD 模块的颜色格式为 RGB565,具体的颜色与每个位对应关系如表 1.3.2.1 所 示: b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 图 1.3.2.1 颜色与位对应关系 B3 B2 B1 B0 1.3.3 END_X 寄存器(0x03) 为了提高像素数据连续读写的效率,当设置好 CUR_X 和 CUR_Y 后,每读取/写入一个像 素,当前激活点的 X 坐标就会自动加一,当激活点的 X 坐标等于 END_X 后,便会自动返回 CUR_X 同时 Y 坐标自动加一。如图 1.3.3.1 所示:
图 1.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 次的像素点读/写操作即可,期间不需要再进行坐标设置操作,所 有的坐标都会被自动推算。 1.3.4 PREF 寄存器(0x05) PREF 寄存器用于设置当前显示页、当前操作页和 TFT 背光,各个位的具体含义如表 1.3.4.1 所示: 位 b5~b0 b8~b6 b11~b9 b14~b12 b15 名称 功能简介 复位值 BK_PWM 背光控制 保留 —— CUR_PAGE 当前显示的页 OPT_PAGE 当前操作的页 保留 —— 0 0 0 0 0 表 1.3.4.1 HREF 寄存器各位定义 其中,BK_PWM 用于设置背光信号的占空比,从而调节 TFT 背光的亮度,取值范围为 0~63,0 代表背光关闭,63 代表背光最亮。上电复位后 BK_PWM 的值默认为 0,也就是背 光关闭,在 MCU 对 BK_PWM 赋以非零值后,背光才能点亮。 当前显示页由 CUR_PAGE 指定,表示屏幕上实际显示的显存分页,当前操作页由 OPT_PAGE 指定,表示当前读写操作的显存分页。如果 CUR_PAGE 与 OPT_PAGE 指向同 一显存分页,那么写显存操作的结果会被立即呈现在屏幕上,如果 CUR_PAGE 与 OPT_PAGE 指向不同的显存分页,那么对 OPT_PAGE 的任何操作都不会影响屏幕上的显示内容,只有 在 CUR_PAGE 切换到 OPT_PAGE 后,OPT_PAGE 中数据才会被显示出来。 1.3.5 MIRROR 寄存器(0X07) MIRROR 寄存器用于实现图像的水平和垂直镜像翻转,该寄存器各位的具体含义如表 1.3.5.1 所示。
位 b15~b2 b1 b0 名称 保留 UD LR 功能简介 复位值 —— 控制垂直镜像翻转 控制水平镜像翻转 表 1.3.5.1 MIRROR 寄存器各位定义 0 0 1 UD 位用于控制显示画面的垂直翻转,LR 位用于控制显示画面的水平翻转,操作 UD 位和 LR 位会影响 TFT 上的像素点位置与显存中数据地址的映射关系,但不会改变显存中 的数据,不同的 UD 和 LR 值所对应的显示效果如图 1.3.5.1 所示。 图 1.3.5.1 显示效果示意图 1.3.6 STATE/ DATA 寄存器 这两个寄存器相互配合,用于完成像素数据的读操作。STATE 寄存器的位定义如表 1.3.6.1 所示,读取该寄存器会自动启动像素点的读操作,当 MCU 查询到 STATE 的 DATA_OK 位(b0 位)为 1 后,表示像素数据有效,然后 MCU 读 DATA 寄存器即可获得对应点的像 素数据,与写像素数据的操作相同,读像素数据的像素点位置也是由当前的 CUR_X 和 CUR_Y 定义的。当 MCU 读取 DATA 寄存器后,DATA_OK 位会被自动清零。需要注意的 是,读 STATE 寄器时,b15~b1 位是随机值,因此在判断 DATA_OK 时,需要屏蔽掉这些位。 位 b15~b1 b0 名称 保留 功能简介 DATA_OK 数据有标志 表 1.3.6.1 STATE 寄存器各位定义 复位值 0 0 1.4 LCD 控制器使用说明 经过前面的介绍,我们对 ATK-7’ TFTLCD 模块自带的 LCD 控制器有了个大概的了解,接 下来,我们介绍一下该驱动器的具体使用方法。
1.4.1 初始化 ATK-7’ TFTLCD 模块自带的 LCD 控制器初始化非常简单,分为如下 3 个步骤: 1, 复位。 通过拉低模块 RST 脚,实现对 LCD 控制器的复位,延时 100ms 左右,再拉高 RST 脚,完成对 LCD 的复位。 2, 等待控制器准备好。 在复位后,我们通过直接读 LCD 控制的数据,直到读到的数据最低位变为 1,说明 LCD 驱动器准备好了,可以开始后续的的操作。 3, 设置显示相关寄存器。 这里,我们要设置的包括:MIRROR 寄存器、PREF 寄存器、ENDX 寄存器等三个寄 存器。通过 MIRROR 寄存器设置屏幕的显示方向,这里我们默认设置为 0X01。然后, 通过 PREF 寄存器设置当前操作页、当前显示页以及背光控制等参数,这里我们默认设 置操作页和显示页均为第 0 页。然后设置背光为 63,设置背光到最亮。最后,通过 ENDX 寄存器设置 X 坐标的结束位置,由于 ATK-7’ TFTLCD 模块使用的 LCD 分辨率为 800*480, 所以默认设置 ENDX 的值为 799,满足全屏显示的需要。 经过以上三步设置,LCD 驱动器的初始化就完成了。 1.4.2 画点 LCD 驱动最重要的就是画点了,这里我们简单介绍一下 ATK-7’ TFTLCD 模块的画点实现。 用模块自带的 LCD 驱动器实现画点也是非常简单,我们只需通过操作三个寄存器,即可实 现任意点的画点。 首先,将我们要画的点的坐标写入 CUR_X 和 CUR_Y 这两个寄存器。然后,我们在 PIXELS 寄存器里面写入该点的颜色值,即完成画点操作了。如果设置操作页和显示页相同的话,我 们就可以立马在 LCD 上看到这个画出来的点。 1.4.3 读点 LCD 驱动另一个重要的功能就是读取点的颜色,方便做其他处理。ATK-7’ TFTLCD 模块自 带的 LCD 驱动器可以实现任意点的读取,方法类似画点操作,不过稍有区别。 首先,我们同样是通过 CUR_X 和 CUR_Y 两个寄存器,设置要读取点的坐标。然后,我 们读 STATE 寄存器(RS=0),等待 STATE 寄存器的最低位变为 1,之后,我们读取 DATA 寄存 器(RS=1),就可以读到指定点的颜色。 这样我们就实现一个点颜色的读取。 1.5 电容触摸屏接口说明 1.5.1 电容式触摸屏简介 现在几乎所有智能手机,包括平板电脑都是采用电容屏作为触摸屏,电容屏是利用人体 感应进行触点检测控制,不需要直接接触或只需要轻微接触,通过检测感应电流来定位触摸 坐标。 ATK-7’ TFTLCD V1 模块自带的触摸屏采用的是电容式触摸屏,下面简单介绍下电容式触 摸屏的原理。 电容式触摸屏主要分为两种: 1、 表面电容式电容触摸屏。 表面电容式触摸屏技术是利用 ITO(铟锡氧化物,是一种透明的导电材料)导电膜,通过 电场感应方式感测屏幕表面的触摸行为进行。但是表面电容式触摸屏有一些局限性,它只能
识别一个手指或者一次触摸。 2、 投射式电容触摸屏。 投射电容式触摸屏是传感器利用触摸屏电极发射出静电场线。一般用于投射电容传感技 术的电容类型有两种:自我电容和交互电容。 自我电容又称绝对电容,是最广为采用的一种方法,自我电容通常是指扫描电极与地构 成的电容。在玻璃表面有用 ITO 制成的横向与纵向的扫描电极,这些电极和地之间就构成 一个电容的两极。当用手或触摸笔触摸的时候就会并联一个电容到电路中去,从而使在该条 扫描线上的总体的电容量有所改变。在扫描的时候,控制 IC 依次扫描纵向和横向电极,并 根据扫描前后的电容变化来确定触摸点坐标位置。笔记本电脑触摸输入板就是采用的这种方 式,笔记本电脑的输入板采用 X*Y 的传感电极阵列形成一个传感格子,当手指靠近触摸输 入板时,在手指和传感电极之间产生一个小量电荷。采用特定的运算法则处理来自行、列传 感器的信号来确定手指的位置。 交互电容又叫做跨越电容,它是在玻璃表面的横向和纵向的 ITO 电极的交叉处形成电 容。交互电容的扫描方式就是扫描每个交叉处的电容变化,来判定触摸点的位置。当触摸的 时候就会影响到相邻电极的耦合,从而改变交叉处的电容量,交互电容的扫面方法可以侦测 到每个交叉点的电容值和触摸后电容变化,因而它需要的扫描时间与自我电容的扫描方式相 比要长一些,需要扫描检测 X*Y 根电极。目前智能手机/平板电脑等的触摸屏,都是采用交 互电容技术。 ALIENTEK 所选择的电容触摸屏,也是采用的是投射式电容屏(交互电容类型),所以 后面仅以投射式电容屏作为介绍。 透射式电容触摸屏采用纵横两列电极组成感应矩阵,来感应触摸。以两个交叉的电极矩 阵,即: X 轴电极和 Y 轴电极,来检测每一格感应单元的电容变化,如图 1.4.1.1 所示: 图 1.5.1.1 投射式电容屏电极矩阵示意图 示意图中的电极,实际是透明的,这里是为了方便大家理解。图中,X、Y 轴的透明电 极电容屏的精度、分辨率与 X、Y 轴的通道数有关,通道数越多,精度越高。以上就是电容 触摸屏的基本原理,接下来看看电容触摸屏的优缺点: 电容触摸屏的优点:手感好、无需校准、支持多点触摸、透光性好。 电容触摸屏的缺点:成本高、精度不高、抗干扰能力较差。 这里特别提醒大家电容触摸屏对工作环境的要求是比较高的,在潮湿、多尘、高低温环 境下面,都是不适合使用电容屏的。 电容触摸屏一般都需要一个驱动 IC 来检测电容触摸,且一般是通过 IIC 接口输出触摸
分享到:
收藏