F429驱动TFT裸屏时LTDC

news/2024/7/5 2:30:36

F429驱动TFT裸屏时LTDC时序配置说明(以V6的7寸驱动为例)
说明:
1. 经常有兄弟问到这个问题,所有这里就写一个帖子。
2. 基础知识学习:
TFT LCD的DE模式和HV模式的区别:http://bbs.armfly.com/read.php?tid=18525
3. 7寸RGB屏规格书 

 7寸屏高亮(800x480)GL070009T0-40 3.5H.pdf (564 K)
7寸RGB屏使用的source driver ic OTA7001手册  DATA_SHEET_OTA7001A_V06.pdf (914 K)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
(下载地址:http://bbs.armfly.com/read.php?tid=18528)
======================================================
LTDC时序配置主要分三步就可以完成
1. 行同步,场同步,DE的极性配置
2 CLK时钟配置
3. 时序参数配置。
下面分别简单的说明下
======================================================
1. 行同步,场同步,DE的极性配置
这个的配置要看OTA7001手册上面的时序图,对于DE模式,行同步和场同步的极性配置为高或者为低均可。 我们这里使用的就是DE模式。所以主要配置DE的极性,这里要特别注意一个小问题,看时序图是DE高电平时数据有效,但是配置的时候要设置为低电平才可以。
下面的是V6开发板配套的7寸裸屏使用的source driver ic OTA7001

实际配置F429的工程时,将DE配置为低有效才是上面截图的效果,这个问题的确是有些奇葩了。
大家使用的时候也特别注意。

/* 配置信号极性 */
LTDC_InitStruct.LTDC_HSPolarity = LTDC_HSPolarity_AL; /* HSYNC 低电平有效 */
LTDC_InitStruct.LTDC_VSPolarity = LTDC_VSPolarity_AL; /* VSYNC 低电平有效 */
LTDC_InitStruct.LTDC_DEPolarity = LTDC_DEPolarity_AL; /* DE 低电平有效 */
LTDC_InitStruct.LTDC_PCPolarity = LTDC_PCPolarity_IPC;
================================================
上面黄色的波形是DE信号,下面的是行同步信号HSync

下面是将信号水平放缩了下

===========================================================
2. 时钟的配置
关于LTDC可以输出多大的时钟,在OTA7001手册上面有说明,通过函数
RCC_PLLSAIConfig(420, 2, 7);
RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div2); 配置即可,配置的大小是多少呢,简单举个例子
--------------------------------
上面的配置中PLLSAI_N = 420, PLLSAI_R = 7 , RCC_PLLSAIDivR = 2:
首先,输入时钟 PLLSAI_VCO Input = HSE_VALUE / PLL_M = 8M / 8 = 1MHz
输出时钟 PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAI_N = 1 * 400 = 420MHz
PLLLCDCLK = PLLSAI_VCO Output / PLLSAI_R = 420 / 7 = 60MHz
最后,LTDC 时钟 = PLLLCDCLK / RCC_PLLSAIDivR = 60/ 2 = 30MHz



===========================================================
3. 时序参数配置
时序参数的配置也比较容易,其实就是先看F429参考手册上面的公式说明,说是公式,其实就是简单的加减法。然后将OTA7001的参数带到这个公式就OK了。又因为手册一般都是给出了参数的最小值,典型值和最大值,大家可以根据实际情况做简单的调整即可。需要用到的参数
uint16_t Width, Height, HSYNC_W, VSYNC_W, HBP, HFP, VBP, VFP;

* Horizontal Synchronization (Hsync) 对应后面的变量HSYNC_W
* Horizontal Back Porch (HBP) 对应后面的变量HBP
* Active Width 对应后面的变量Width
* Horizontal Front Porch (HFP) 对应后面的变量HFP
*
* Vertical Synchronization (Vsync) 对应后面的变量VSYNC_W
* Vertical Back Porch (VBP) 对应后面的变量VBP
* Active Heigh 对应后面的变量Heigh
* Vertical Front Porch (VFP) 对应后面的变量VFP
----------------------------------------------
3.1 F429参考手册上面的公式


---------------------------------------------------
3.2 从OTA7001上面获取这些参数


---------------------------------------------------
3.3 配置如下参数
通过这些参数,直接给变量赋值,我们这里直接取典型值,如果大家实际测试的时候效果不是很好,怎么知道效果不好呢,最简单的方式就是可以在显示屏的边界显示一个方框,看看是否有错位。

---------------------------------------------------
3.4 参数设置好了,直接带公式并跟行同步,场同步和DE一起初始化

/* 配置LTDC的同步时序 */
LTDC_InitStruct.LTDC_HorizontalSync = HSYNC_W;
LTDC_InitStruct.LTDC_VerticalSync = VSYNC_W;
LTDC_InitStruct.LTDC_AccumulatedHBP = LTDC_InitStruct.LTDC_HorizontalSync + HBP;
LTDC_InitStruct.LTDC_AccumulatedVBP = LTDC_InitStruct.LTDC_VerticalSync + VBP;
LTDC_InitStruct.LTDC_AccumulatedActiveW = Width + LTDC_InitStruct.LTDC_AccumulatedHBP;
LTDC_InitStruct.LTDC_AccumulatedActiveH = Height + LTDC_InitStruct.LTDC_AccumulatedVBP;
LTDC_InitStruct.LTDC_TotalWidth = LTDC_InitStruct.LTDC_AccumulatedActiveW + HFP;
LTDC_InitStruct.LTDC_TotalHeigh = LTDC_InitStruct.LTDC_AccumulatedActiveH + VFP;

LTDC_Init(&LTDC_InitStruct);

 

 

 

 

 

 

 

 


http://lihuaxi.xjx100.cn/news/1269732.html

相关文章

【JavaScript】JavaScript日期和时间的格式化:

文章目录 一、日期和时间的格式化1、原生方法2、使用字符串操作方法3、自定义格式化函数4、使用第三方库 二、日期和时间的其它常用处理方法1、创建 Date 对象2、日期和时间的获取3、日期和时间的计算4、日期和时间的比较5、日期和时间的操作6、获取上周、本周、上月、本月和本…

OCC-BEV:基于三维场景重建的多摄像机统一预训练

论文:https://arxiv.org/pdf/2305.18829.pdf 代码:https://github.com/chaytonmin/Occ-BEV 多摄像机3D感知技术(能够收集车辆周围360的环境信息)已经成为自动驾驶领域的一个突出研究领域,为 Lidarb-based 解决方案提供…

【Software Engineering】【期末复习知识点】【2023春】【仅供参考】

文章目录 类型总分占比出勤10%平时作业25%10%期中考试10%期末考试70%附加分提问加分 题型题量分值预测选择152’填空52’名词解释52’软件危机、软件生命周期简答35’综合15’20’15’数据流图、20‘系统流程图、状态转换图、程序流程图、盒图 软件工程期末重点(2…

【Springboot集成Neo4j完整版教程】

🚀 Neo4j 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,C…

【VC 7/8】vCenter Server 更新(小版本升级)Ⅱ—— 使用 Shell 命令行更新 vCenter Server

目录 2. 使用 Shell 升级 vCenter Server(1)下载更新 ISO 镜像(2)挂载 ISO 镜像(3)验证 ISO 镜像已被挂载通过VAMI 更新界面将ISO 挂载到 VC 的文件系统 (4)更新 VC | 安装 vCenter …

nginx主配置文件及实操

文章目录 一、nginx主配置文件nginx.conf1.认识nginx服务的主配置文件2.全局配置3.I/O事件配置4.HTTP配置5.检查配置文件是否正确6.浏览器测试 二、实战操作1.nginx的访问状态统计2.基于授权的访问控制:3.基于客户端访问设置(设置…

短视频矩阵源码开发部署技术解析

短视频矩阵源码开发涉及到多个方面的技术,包括但不限于以下几点: 抖yinAPI:需要通过API获取抖音的视频、用户、评论、点赞等数据。 抖yinSDK:如果需要开发一些原生的功能,比如分享、登录、支付等,需要使用…

lnmp框架的应用

目录 应用一 nginx访问状态统计 1.先查看http_stub_status有没有安装 2.进入nginx的配置文件改配置 3.nginx-检查配置 重启服务 最后这个20就是显示的状态统计 应用二 给网站加密 1.首先安装http-tools软软件 2.把nginx设置锁也要有执行权限 3.进入nginx配置文件 4. 检查…