FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏(二)

FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏

ILI9488 RGB接口显示红色、绿色、蓝色三基色图片

ILI9488 RGB接口时序

目录

前言

一、RGB接口相关配置命令

1、2A和2B

2、B5

二、RGB接口时序

三、上板测试

总结


前言

ILI9488是一款广泛应用于嵌入式系统和电子设备的彩色TFT LCD显示控制器芯片。本文将介绍ILI9488关于RGB接口的时序,笔者多次阅读芯片手册多次调试之后最终成功用FPGA点亮了一块分辨率为320*320的ILI9488驱动的TFT LCD显示屏,实现了稳定的RGB三基色显示功能,分别显示了RGB三基色图片。SPI初始化后,即可用RGB接口来传输像素值。


++提示:以下是本篇文章正文内容,引用请附上链接!++

一、RGB接口相关配置命令

1、2A和2B

2A用来配置显示区域的起始列位置和终止列位置,有SC起始列和EC结束列两个参数需要设置,注意参数是16进制格式。

2B用来配置显示区域的起始行位置和终止行位置。,有SP起始行和EP结束行两个参数需要设置,注意参数是16进制格式。

比如笔者LCD屏幕的分辨率是320*320,那么初始化命令配置如下,16进制下,行和列的设置都是从0000h-013Fh,转换成十进制即从0-319。

DELAY_CLK+'d1:

data<=9'h02A;

DELAY_CLK+'d2:

data<=9'h100; //SC 15:8

DELAY_CLK+'d3:

data<=9'h100; //SC 7:0

DELAY_CLK+'d4:

data<=9'h101; //EC 15:8

DELAY_CLK+'d5:

data<=9'h13F; //EC 7:0

DELAY_CLK+'d6:

data<=9'h02B;

DELAY_CLK+'d7:

data<=9'h100; //SP 15:8

DELAY_CLK+'d8:

data<=9'h100; //SP 7:0

DELAY_CLK+'d9:

data<=9'h101; //EP 15:8

DELAY_CLK+'d10:

data<=9'h13F; //EP 7:0

2、B5

B5用来设置RGB接口时序相关的一些参数,包含四个关键时序参数设置,分别是VFP,VBP,HFP,HBP。

如下图所示,命令里面的VBP包含了VLW,HBP包含了HLW。

显示区域可划分为多个部分,其中间部分为实际像素显示区域。

其中各个参数的范围如下图所示,其中RGB接口的最大时钟频率为20MHz。

各个参数的含义如下表所示:

笔者B5命令的配置如下,配置了时序相关的参数。

复制代码
                'd64:
                    data<=9'h0B5;
                'd65:
                    data<=9'h102; //VFP=2
                'd66:
                    data<=9'h104; //VBP=4
                'd67:
                    data<=9'h103; //HFP=3,改这里还要改display
                'd68:
                    data<=9'h106; //HBP=6,(HLW+HBP)

二、RGB接口时序

RGB接口时序如下所示:

  • 场同步信号(VSYNC):表示一帧数据开始传输
  • 行同步信号(HSYNC):表示一行数据开始传输
  • 时钟周期(Clock Cycle):每个像素数据传输的时间周期
  • 数据使能(ENABLE):指示像素数据何时有效
  • 像素数据(DB):二进制的像素数据

具体到每个信号的时序参数的要求如下图和下表所示:

ILI9488支持16/18/24bit,笔者用的16bit,即RGB5-6-5格式的像素表示。这里,需要注意的是所有信号什么时候有效是可以由B0命令控制的,enable笔者控制的高有效,和上面的时序图是反着的。

为了兼容,笔者在编写RGB接口时序时,支持下列参数随意修改。

复制代码
localparam HLW = 3;      //改这里还要改lcd_init
localparam HBP = 3;
localparam HFP = 3;

localparam VLW = 2;
localparam VBP = 2;
localparam VFP = 2;

localparam VACT=320; //行数
localparam HACT=320; //列数

仿真结果如下:

挑选部分仿真结果放大如下:

三、上板测试

显示红色纯图:

显示绿色纯图:

显示蓝色纯图:

以上测试的显示RGB三种颜色的纯色图片,可见完全是正确的。


总结

以上就是本文的全部内容,详细介绍了ILI9488 RGB接口的时序,实现了稳定的RGB三基色显示功能,分别显示了RGB三基色图片,并提供了测试图片。

相关推荐
FPGA小迷弟20 小时前
FPGA状态机设计详解:从Moore到Mealy的完整指南
fpga开发·fpga
我爱C编程4 天前
基于FPGA的DSB调制解调系统verilog开发
fpga开发·verilog·fpga·dsb
学习FPGA的电气小兴兴5 天前
基于FPGA的DDS信号发生器设计,生成频率可调的正弦波、三角波、锯齿波和方波
fpga开发·数字信号处理·fpga·vivado·dsp·dds·diy
Hi2024021710 天前
Vortex 3.0 + xcvu19p CMD_MEM_WRITE 调试
fpga·rtl·vortex
Hi2024021717 天前
Cortex-A53 + GIC700 + Boot BRAM Vivado 全流程复现
arm·fpga·vivado
Eloudy17 天前
Holoscan Sensor Bridge 入门指南(Getting Started)
gpu·fpga·rdma
Eloudy19 天前
RFSoC-PYNQ → RK-XCKU5P-F 移植记录
fpga
ARM+FPGA+AI工业主板定制专家19 天前
国产化RK3576+FPGA架构|晶圆传输机器人高速定位+AI瑕疵检测一体化方案
fpga开发·架构·机器人·嵌入式·fpga·工控·机器人运控
Eloudy21 天前
申请 Xilinx 免费 IP 许可的步骤笔记
fpga
零涂毕业设计21 天前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled