JDI LCD 驱动时序介绍

news2024/11/20 23:38:12

1. 引言

绝大多数 STM32 MCU 都可应用于图形界面,而且很多系列还内置图形硬件 LTDC,支持驱动 RGB 接口的 LCD。但是存在少数类型的 LCD,如 JDI 屏,除了 STM32L4P5 支持外,其它 MCU 只能根据屏的接口时序要求,用 GPIO 来驱动。本文会介绍 JDI 屏的接口时序与驱动过程。

2. LCD 介绍

LCD 显示屏由一系列像素组成,通常以“行像素值 x 列像素值”表示屏幕分辨率。比如320x240 表示此显示屏每行有 320 个像素点,每列有 240 个像素点。

色深是指显示屏每个像素能表示多少种颜色,通常用位来表示。比如 16 位色深对应RGB565,每个像素颜色用 2 个字节来表示,其中 RGB565 称作色彩格式。

RGB 接口屏通常支持 RGB565,RGB666,RGB888 等色彩格式,这些格式能显示的颜色种数较多,色彩丰富;而 JDI 接口支持的格式为 RGB222,总共支持 64 种颜色。

2.1. 接口时序

2.1.1. RGB 接口时序

RGB 显示屏包含以下信号:
图1.RGB 接口信号
在这里插入图片描述
在使用 RGB 接口时,RGB565 或 RGB888 格式,接口时序如下:
图2.RGB 接口时序图
在这里插入图片描述
像素数据在像素时钟 CLK 同步下顺序发送,其中 VSYNC 信号用于同步一整帧像素数据,HSYNC 信号用于同步一整行的像素数据,DE 信号表示像素数据有效。在 DE 有效时,每个 CLK 时钟周期会在 R[7 :0], G[7 :0], B[7 :0]信号上传输一个像素的颜色数据,用于指定此像素颜色。这样逐行扫描完所有像素后,就完成了一帧像素数据的传输,LCD 面板就会有对应的图像显示。

2.1.2. JDI 屏接口时序

JDI 屏的只包含 R[2 :1], G[2 :1], B[2 :1]信号,每个颜色 2Bit 数据,其它信号与前面 RGB接口类似,以下是 JDI 屏的信号列表:
图3.JDI 接口信号
在这里插入图片描述
以 240x240 分辨率的 JDI 圆形屏为例,驱动时序如下,其中 LPB 为颜色分量高 bit 位,SPB 为颜色分量低 bit 位:
图4.列信号时序
在这里插入图片描述
图5.行信号时序
在这里插入图片描述
JDI 屏的时序看起来与前面介绍的 RGB 时序非常相似,但是在传输像素数据上有很大差别,比如 RGB565 或 RGB888 在传输像素数据时,每个 CLK 传输一个像素数据,代表同一个像素的颜色值;而 JDI 屏则不同,主要有下面几点差异:

  1. VCK 的高低电平期间都要传输数据
  2. HCK 上升沿和下降沿都传输一次数据
  3. R1,R2…分别代表奇、偶像素点的一 bit 数据,即同一次 HCK 边沿传输的是两个像素点的一 bit 数据
  4. LPB, SPB 区分,在一个 VCK 周期,低电平传输 LPB,高电平传输 SPB,也就是传输每一行时,先传输此行所有像素的高 bit 数据,再传输此行所有像素的低 bit 数据,这样就刷新了一行像素数据

图6.240x240 屏驱扫描过程
在这里插入图片描述
从上图可以看出,在刷新 240x240 分辨率的 JDI 屏时,驱动扫描方式为从上到下,从左到右:

  1. 总共 240 行像素,但分别包含 240 行 LPB、SPB,总共 480 行刷新,对应列信号时序中 VCK 的 480 个高低电平
  2. R1,R2,G1,G2,B1,B2 为一组,分别对应奇偶两个像素 RGB 分量的各一 bit 数据
  3. 每行 240 个像素,在 HCK 双边沿传输,每边沿传输 2 个像素,因此总共 120 个边沿,60 个 HCK 周期即可传输完成一个 LPB 行或 SPB 行

另外,JDI 屏还包括 VCOM, FRP, XFRP 信号如下图,用 PWM 来输出 60Hz,50%占空比波形来驱动即可:
图7.VCOM/FRP/XFRP 信号时序
在这里插入图片描述

3. 测试与小结

结合以上时序,在 STM32U575 Nucleo 板上,使用 GPIO 驱动 JDI 屏能正常显示。在实际使用 JDI 屏时需要仔细查看时序,并结合时序参数来优化显示驱动。

文档中所用到的工具及版本
IAR 9.30.1
LAT 中的附件
test_U575_Nucleo_JDI.7z


本文档参考ST官方的《【应用笔记】LAT1313+JDI+LCD+驱动时序介绍》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89083017

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1570137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DNS和HTTP

DNS应用层协议 域名解析系统 使用IP地址,来描述设备在网络上的位置 IP地址并不适合来进行传播网站,就采用了域名的方式来解决网站传播的问题。如www.baidu.com这样类似的就很容易让人记住。其域名就直接代表了这个网站。而且有一套自动的系统会将域名解…

LeetCode 2192.有向无环图中一个节点的所有祖先:拓扑排序

【LetMeFly】2192.有向无环图中一个节点的所有祖先:拓扑排序 力扣题目链接:https://leetcode.cn/problems/all-ancestors-of-a-node-in-a-directed-acyclic-graph/ 给你一个正整数 n ,它表示一个 有向无环图 中节点的数目,节点编…

AFCI 应用笔记二之数据采集

1. 简介 基于监督学习的神经网络算法需要大量数据作为输入,模型完全由数据驱动,其数据质量是算法有效的必要条件,所以如何高效的采集到数据,以及正确的标注或分析是极其重要的,如果第一步有问题,后续的所有…

如何删除 iPhone 上的 iCloud 激活锁

Apple 在 iPhone 上通过不同的安全屏障来保护您的数据。 iCloud 激活锁可阻止外部人员访问您的手机。您可以通过打开“查找我的 iPhone”功能来激活此锁。 使用安全协议似乎是无害的,直到你到达门的另一边。如果您购买了带有激活锁的二手 iPhone 或忘记了 iCloud 凭…

eBay买家号注册下单容易死号?是什么原因导致?

随着电子商务的迅猛发展,跨境电商平台eBay日益成为众多消费者和商家的首选。然而,自去年下半年以来,eBay推出的新规则给买家号的注册带来了前所未有的挑战。许多新用户反映,在注册eBay买家号后,往往遭遇刚注册就被冻结…

哈希表2s总结

3.哈希表 哈希表非常常用,字典一般会用来保存处理过后的输入输出信息,集合也可以用来去重,这部分是重点,但是还是那句话,这种题目是不会或者说很少考原题的,主要还是学习知识,所以题目看一下答…

JS详解-手写Promise!!!

前言: 针对js的深入理解,作者学习并撰写以下文章,由于理解认知有限难免存在偏差,请大家指正!所有定义来自mdn。 Promise介绍: 对象表示异步操作最终的完成(或失败)以及其结果值. 描…

基于SpringBoot+Vue光影视频平台(源码+部署说明+演示视频+源码介绍)

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通…

ChernoCPP 2

视频链接&#xff1a;【62】【Cherno C】【中字】C的线程_哔哩哔哩_bilibili 参考文章&#xff1a;TheChernoCppTutorial_the cherno-CSDN博客 Cherno的C教学视频笔记&#xff08;已完结&#xff09; - 知乎 (zhihu.com) C 的线程 #include<iostream> #include<th…

SV学习笔记(六)

覆盖率类型 写在前面 覆盖率是 衡量设计验证完备性 的一个通用词。随着测试逐步覆盖各种合理的场景&#xff0c;仿真过程会慢慢勾画出你的设计情况。覆盖率工具会 在仿真过程中收集信息 &#xff0c;然后进行后续处理并且得到覆盖率报告。通过这个报告找出覆盖之外的盲区&…

设计模式——原型模式05

原型模式核心复制&#xff0c;每次new出来的对象完全不一样&#xff0c;实现对象之间的隔离。 学习前最好先掌握jAVA值传递和深浅拷贝 设计模式&#xff0c;一定要敲代码理解 浅拷贝 克隆出对象&#xff0c;其中两者的引用类型属性是同一个对象。 对象信息 /*** author ggb…

C++:逻辑运算符-非与或(19)

!非!a如果a为假&#xff0c;那么当前他就是真&#xff0c;如果a是真&#xff0c;那么他直接就是假&&与a&&ba与b都为真&#xff0c;那么就是真&#xff0c;如果两个里面有一个为假那么就是假||或a||ba或b有一个为真&#xff0c;那么就是真 非&#xff08;!&…

怎样把学浪购买的课程下载下来

如何把学浪已购买的课程下载下来?这里就教大家一个方法,利用一个工具轻轻松松把视频下载下来 这个工具我打包成压缩包了,有需要的自己取一下 链接&#xff1a;https://pan.baidu.com/s/1y7vcqILToULrYApxfEzj_Q?pwdkqvj 提取码&#xff1a;kqvj --来自百度网盘超级会员V1…

基于springboot+vue+Mysql的在线考试系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

redis集合Set

set是一种无序集合。它和列表的区别在于列表中的元素都是可以重复的&#xff0c;而set中的元素是不能重复的。而且set中的元素&#xff0c;并不像列表那样是具有顺序的。 SADD是添加一个元素。course是集合。 SMEMBERS SISMEMBER判断Redis在不在集合course里 SREM是用来删除Re…

Jupyter Notebook安装使用(一)

1. 简介 Jupyter Notebook 是一个非常强大的工具&#xff0c;它允许用户创建和共享包含实时代码、方程式、可视化和叙事文本的文档。这种工具特别适合数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等多种应用领域。 2. 安装Jupyter Notebook 2.1. 使用 Anaconda…

校招说明书

3400字的详细说明&#xff0c;介绍了程序员类岗位校招的整体时间节点和招聘流程。还对一些常见的问题进行讨论&#xff0c;例如内推、offer和三方、实习等。 第一章介绍基本的术语&#xff0c;第二章介绍整个校招的重要流程及时间点&#xff0c;然后第三章介绍每次招聘要经过的…

golang 和java对比的优劣势

Golang&#xff08;或称Go&#xff09;和Java都是非常流行的编程语言&#xff0c;被广泛应用于各种领域的软件开发。尽管它们都是高级编程语言&#xff0c;但它们具有许多不同的特性和适用场景。本文将重点比较Golang和Java&#xff0c;探讨它们的优势和劣势。 性能方面&#…

JSP

文章目录 JSP1. 快速入门2. page 指令3. 三种常用脚本声明脚本表达式脚本代码脚本 4. 注释5. 内置对象6. 域对象7. 请求转发标签8. EL 表达式快速入门EL运算操作EL的11个隐含对象四个特定域变量 9. JSTL快速入门<c:set /><c:if />\<c:choose> \<c:when>…

【微服务】------核心组件架构选型

1.微服务简介 微服务架构&#xff08;Microservice Architecture&#xff09;是一种架构概念&#xff0c;旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦&#xff0c;从而降低系统的耦合性&#xff0c;并提供更加灵活的服务支持。 2.微服务技术选型 区域内容…