当前位置: 首页 > news >正文

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

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

ILI9488 RGB接口初始化

目录

前言

一、ILI9488简介

二、3线SPI接口简介

三、配置寄存器介绍

四、手册和初始化verilog FPGA代码

总结


前言

        ILI9488是一款广泛应用于嵌入式系统和电子设备的彩色TFT LCD显示控制器芯片。本文将介绍ILI9488先关的基础知识和ILI9488的寄存器配置,笔者多次阅读芯片手册多次调试之后最终成功点亮了一块分辨率为320*320的ILI9488驱动的TFT LCD显示屏,见文末提供的点亮视频。使用的SPI+RGB接口,SPI用来初始化,RGB接口用来传输像素值。


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

一、ILI9488简介

        ILI9488支持很多接口类型,SPI串行接口,MCU并行接口,RGB接口都支持。像素格式也支持很多种,比如SPI串行接口支持3bit(8k)/18bit像素262k)SPI又分为3线和4线两种;MCU并行接口与RGB接口均支持16bit(65k)/18bit/24bit像素。

        下图是其支持的接口类型与像素格式。

        下图是其框图。 

        笔者使用的3线SPI+RGB接口,SPI用来完成初始化,RGB用来显示图片。

二、3线SPI接口简介

        3线SPI接口的数据格式如下图所示。

        在接口的写入模式下,主机将命令和数据写入ILI 9488。3线串行数据包包含一个D/CX(数据/命令)选择位和一个传输字节。如果D/CX位为“”,则传输字节被解释为命令字节。如果D/CX位为“”,则传输字节作为显示数据存储在EEPROM中,或作为参数数据存储在命令寄存器中。

        下图是传输的一个示例:

        显示时需要先进行初始化,配置一堆的寄存器,配置时需要发命令和参数,如下图举例所示,命令2Ah后面跟了SC、EC四个字节的参数。

        下图是三线SPI时序介绍。可见写的周期最小为66ns,即SPI速率最大不超过15MHz。保守起见建议5MHz以内。

        其上电首先需要进行复位。

三、配置寄存器介绍

        需要配置的寄存器很多,这里列举几个为例说明一下。

退出睡眠命令,该命令没有参数。

打开显示命令,打开显示后才能正常显示图像。

RGB格式设置,注意参数的D3位设置为0,像素数据是RGB排列,设置为1,时BGR排列,正常设置为0即可,里面的其他参数数据手册也有介绍。

        需要配置的寄存器很多,可以阅读手册学习。下图是笔者配置的截图,画蓝色框的地方均是在配置寄存器以完成初始化,需要初始化代码的自行文末下载,利用手册参考代码能快速学会初始化显示屏。

        为了验证初始化是否正确,最后发送了一个23h的命令,显示白色即成功了。

下图是初始化完成显示白屏的画面。

        

四、手册和初始化verilog FPGA代码

        https://download.csdn.net/download/m0_66360845/90958830https://download.csdn.net/download/m0_66360845/90958830


总结

        以上就是本文的全部内容,简单介绍了ILI9488的使用。

http://www.lqws.cn/news/164755.html

相关文章:

  • VBA信息获取与处理专题五第一节:利用CDO发送简单邮件
  • RK3588 RTL8211F PHY的LED灯调试
  • STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
  • Python数据类型与运算符全解析-Python数据挖掘可视化分析
  • 上传、下载功能 巧实现
  • 逻辑填空(题量最多)
  • 【AAOS】【源码分析】用户管理(三)-- 用户启动
  • 用ApiFox MCP一键生成接口文档,做接口测试
  • 监测预警系统重塑隧道安全新范式
  • 筑牢企业网管域安全防线,守护数字核心——联软网管域安全建设解决方案
  • html文字红色粗体,闪烁渐变动画效果,中英文切换版本
  • C++11 中 final 和 override 从入门到精通
  • Day45 Python打卡训练营
  • spring的webclient与vertx的webclient的比较
  • 使用高斯朴素贝叶斯算法对鸢尾花数据集进行分类
  • 打造高效多模态RAG系统:原理与评测方法详解
  • Spring 框架之IOC容器加载重要组件
  • Vue3实现拖拽改变元素大小
  • 1.2 fetch详解
  • React Hooks 指南:何时使用 useEffect ?
  • Grafana-ECharts应用讲解(玫瑰图示例)
  • Vue2数组数字字段求和技巧 数字求和方法
  • Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
  • Postman接口测试之postman设置接口关联,实现参数化
  • MATLAB仿真:偏振光在光纤通信中的应用研究_可复现,有问题请联系博主
  • 从内核到应用层:Linux缓冲机制与语言缓冲区的协同解析
  • Spring AI学习一
  • StoreView SQL,让数据分析不受地域限制
  • mysql复合查询mysql子查询
  • 如何通过外网访问内网?哪个方案比较好用?跨网远程连接网络知识早知道