其他分享
首页 > 其他分享> > 【TFT-LCD学习记录1】 R61509V3 彩屏显示原理

【TFT-LCD学习记录1】 R61509V3 彩屏显示原理

作者:互联网

目录

1 学习背景

以前学习 STM32 时普中科技的开发板有一块遗留的 LCD 屏幕:R61509V3。现在想用 FPGA 实现屏幕的驱动,需要系统的学习屏幕控制的原理。

2 模块介绍

2.1 外观

模块图

2.2 原理图

原理图
驱动IC:R61509V
电阻触摸屏控制器:XPT2046
液晶面板:TFT1P5361或IPS1P7167(不确定)
R61509采用80系统16位总线接口(80-System 16-bit Bus Interface)

3 模块控制

根据R61509的芯片数据手册《R61509V 260k-color, 240RGB x 432-dot graphics liquid crystal controller driver for Amorphous-Silicon TFT Panel》介绍,控制这块驱动需要注意以下几个方面。

3.1 80并口时序

结合“Electrical Characteristics”章-“AC Characteristics”节-“80-system 18-/16-/9-/8-bit Bus interface Timing Characteristics”条 与 “Timing Characteristics”章-“80-system Bus Interface”节可得时序与要求如下:
在这里插入图片描述
在这里插入图片描述
根据“Pin Function”章可知,对于16位80并口,主要的控制信号如下:

信号含义
RS选择寄存器,0:Index register 1:Control register
CSX片选信号
WRX/RDX写使能或者读使能,0有效
DB[15:0]数据总线

简单说明,片选信号没有时序要求,使用器件的时候拉低就行。RS、DB[15:0] 可以理解为在WRX/RDX上升沿采样,根据指标要求,数据读写的速率主要取决于WRX/RDX的周期,WRX/RDX满足时序要求时,其他的基本上也满足,注意到t_CYCW最小值对应的频率约为13.33MHz。

3.2 指令/数据 读写方式

R61509V采用18位总线结构,以实现与高性能微机的高速接口。在本实例中,FPGA发送16位控制信息存储到指令寄存器(IR)和数据寄存器(DR),R61509V根据寄存器的值进行相关处理。R61509V的内部操作是由FPGA发送的信号控制的,控制器通过控制 寄存器选择信号(RS)、读写信号(R/W)和内部16位数据总线信号(IB15 ~ IB0) 以 80总线协议 更新指令寄存器(IR)和数据寄存器(DR) 来实现相关的指令。

寄存器选择信号(RS)为低电平:选择指令寄存器(IR)
寄存器选择信号(RS)为高电平:选择数据寄存器(DR)

在这里插入图片描述

以指令Display Control 1 (R007h)为例:
在这里插入图片描述
为了将控制字BASEE置为1,首先需要将 16‘h0007 写入指令寄存器(IR)
然后将数据 16’h0100 写入数据寄存器(DR),完成指令Display Control 1 的设置。

3.2 上电/控制顺序

在数据手册“Power Supply Setting Sequence”章中,有上电顺序图如下:
在这里插入图片描述
在“Instruction Setting Sequence and Refresh Sequence”章“Display ON/OFF Sequences and Refresh Sequence”节中有开启显示的顺序图如下:
在这里插入图片描述
根据上电/控制顺序图,就可以控制这块屏幕。

3.3 主要指令

如果要用户去调教好彩屏并设置相关指令是比较繁琐的,所以初始化控制的参数指令一般是厂家提供的,根据普中科技开发板给出的 R61509V3 控制例程,初始化相关的指令为:

序号指令寄存器(IR)数据寄存器(DR)备注
1LCD_WriteCmd(0x0000);Device code read
2LCD_WriteCmd(0x0000);Device code read
3LCD_WriteCmd(0x0000);Device code read
4LCD_WriteCmd(0x0000);Device code read
5LCD_WriteCmd(0x0000);Device code read
6LCD_WriteCmd(0x0000);Device code read
7LCD_WriteCmd(0x0000);Device code read
8LCD_WriteCmd(0x0000);Device code read
9LCD_WriteCmd(0x0000);Device code read
10LCD_WriteCmd(0x0000);Device code read
11LCD_WriteCmd(0x0400);LCD_WriteData(0x6200);Base Image Number of Line
12LCD_WriteCmd(0x0008);LCD_WriteData(0x0808);Display Control 2
13LCD_WriteCmd(0x0300);LCD_WriteData(0x0005);gamma Control
14LCD_WriteCmd(0x0301);LCD_WriteData(0x4C06);gamma Control
15LCD_WriteCmd(0x0302);LCD_WriteData(0x0602);gamma Control
16LCD_WriteCmd(0x0303);LCD_WriteData(0x050C);gamma Control
17LCD_WriteCmd(0x0304);LCD_WriteData(0x3300);gamma Control
18LCD_WriteCmd(0x0305);LCD_WriteData(0x0C05);gamma Control
19LCD_WriteCmd(0x0306);LCD_WriteData(0x4206);gamma Control
20LCD_WriteCmd(0x0307);LCD_WriteData(0x060C);gamma Control
21LCD_WriteCmd(0x0308);LCD_WriteData(0x0500);gamma Control
22LCD_WriteCmd(0x0309);LCD_WriteData(0x0033);gamma Control
23LCD_WriteCmd(0x0010);LCD_WriteData(0x0014);Panel Interface Control 1
24LCD_WriteCmd(0x0011);LCD_WriteData(0x0101);Panel Interface Control 2
25LCD_WriteCmd(0x0012);LCD_WriteData(0x0000);Panel Interface Control 3
26LCD_WriteCmd(0x0013);LCD_WriteData(0x0001);Panel Interface Control 4
27LCD_WriteCmd(0x0100);LCD_WriteData(0x0330);Power Control 1
28LCD_WriteCmd(0x0101);LCD_WriteData(0x0247);Power Control 2
29LCD_WriteCmd(0x0103);LCD_WriteData(0x1000);Power Control 4
30LCD_WriteCmd(0x0280);LCD_WriteData(0xDE00);NVM Data Read / NVM Data Write
31LCD_WriteCmd(0x0102);LCD_WriteData(0xD1B0);Power Control 3
32LCD_WriteCmd(0x0001);LCD_WriteData(0x0100);Driver Output Control
33LCD_WriteCmd(0x0002);LCD_WriteData(0x0100);LCD Drive Wave Control
34LCD_WriteCmd(0x0003);LCD_WriteData(0x1030);Entry Mode
35LCD_WriteCmd(0x0009);LCD_WriteData(0x0001);Display Control 3
36LCD_WriteCmd(0x000C);LCD_WriteData(0x0000);External Display Interface Control 1
37LCD_WriteCmd(0x0090);LCD_WriteData(0x8000);Frame Marker Control
38LCD_WriteCmd(0x000F);LCD_WriteData(0x0000);External Display Interface Control 2
39LCD_WriteCmd(0x0210);LCD_WriteData(0x0000);Window Horizontal RAM Address Start
40LCD_WriteCmd(0x0211);LCD_WriteData(0x00EF);Window Horizontal RAM Address End
41LCD_WriteCmd(0x0212);LCD_WriteData(0x0000);Window Vertical RAM Address Start
42LCD_WriteCmd(0x0213);LCD_WriteData(0x018F);Window Vertical RAM Address End
43LCD_WriteCmd(0x0500);LCD_WriteData(0x0000);Partial Image 1: Display Position
44LCD_WriteCmd(0x0501);LCD_WriteData(0x0000);RAM Address 1 (Start Line Address)
45LCD_WriteCmd(0x0502);LCD_WriteData(0x005F);RAM Address 2 (End Line Address)
46LCD_WriteCmd(0x0401);LCD_WriteData(0x0001);Base Image Display Control
47LCD_WriteCmd(0x0404);LCD_WriteData(0x0000);Base Image Vertical Scroll Control
48LCD_WriteCmd(0x0007);LCD_WriteData(0x0100);Display Control 1
49LCD_WriteCmd(0x0200);LCD_WriteData(0x0000);RAM Address Set(Horizontal Address)
50LCD_WriteCmd(0x0201);LCD_WriteData(0x0000);RAM Address Set(Vertical Address)
51LCD_WriteCmd(0x0202);GRAM Data Write/GRAM Data Read

具体含义可以参考数据手册

4 相关资料

在这里插入图片描述
链接:https://pan.baidu.com/s/1Zbdfrg1iYNJjqs24b2hwwA
提取码:1234

标签:Control,WriteData,WriteCmd,0x0000,LCD,Address,TFT,R61509V3
来源: https://blog.csdn.net/lum250/article/details/113777230