STM32CubeIDE TFT-LCD显示

随言:

TFT-LCD的8080并口时序可以与ST的FSMC总线上操作SRAM的时序类似。

故把TFT-LCD挂在SRAM上就能想操作SRAM一样操作TFT-LCD显示了。

主要是STM32CubeIDE的时序图形配置。剩下的就是移植LCD显示厂商的驱动和

寄存器设置,因为这部分设置太多了,自己看手册设置非常繁琐。

 

重要是要对STM32F4的FSMC 的 SRAM控制原理要了解。

STM32CubeIDE SRAM原理:https://blog.csdn.net/sudaroot/article/details/107025500

 

源码:https://download.csdn.net/download/sudaroot/12594665

 

硬件:

STM32F407ZG  +  4.3寸TFT-LCD

STM32CubeIDE TFT-LCD显示_第1张图片

 

 

 

时序:

TFT-LCD 8080时序图:

STM32CubeIDE TFT-LCD显示_第2张图片

 

SRM32F4 FSMC SRAM时序图:

STM32CubeIDE TFT-LCD显示_第3张图片

 

小结:

STM32CubeIDE TFT-LCD显示_第4张图片

从上图可以看到8080时序与STM32 FSMC的SRAM控制只有一个引脚功能不同。

8080时序的D\CX引脚功能是用于区分发送过来的是命令还是数据。

而SRAM时序A[25:0]引脚是用于传输数据地址的。

虽然引脚功能不同,但是时序非常类似,所以只要把8080时序的D\CX接到SRAM时序的

地址引脚,这样可以通过控制写入不同的地址 区分写入的是数据还是命令。

 

时序计算:

STM32CubeIDE SRAM原理:https://blog.csdn.net/sudaroot/article/details/107025500

以前 写过STM32F4 的SRAM时序计算来由。在上面链接。

 

下图是TFT-LCD的时序要求图。

STM32CubeIDE TFT-LCD显示_第5张图片

 

我用的是STM32F407ZG,HCLK = 168MHz,tHCLK = 1s / 168 MHZ = 6ns

t su(Data_NE)  +  t v(A_NE) = 2 * tHCLK + 25 = 37ns

由于TFT LCD的写时序比读时序快很多,故需要用到扩展模式,即单独配置读和写时序。

 

读时序

因此,对于读时序必须满足以下等式:

(ADDSET + DATAST) × t HCLK  >= max (t RC )   
DATAST × t HCLK >= tRDLFM

对于读取访问,DATASET必须验证:

DATAST  >=  (t AA + t su(Data_NE) + t v(A_NE) )/t HCLK – ADDSET – 4

注意:ADDSET <= 15;   DATAST  <= 255

计算得: ADDSET  = 15; DATAST   = 52;

 

写时序

对于写时序必须满足以下等式:

(ADDSET + (DATAST + 1)) × t HCLK  >= max (t WC )   
DATAST × t HCLK >= tWRL

注意:在SRAM写入数据的时候,数据建立时间DATAS要加1。详情看F4手册。

计算得: ADDSET  = 2; DATAST   = 3;

 

 

STM32CubeIDE配置:

STM32CubeIDE TFT-LCD显示_第6张图片

LCD Register Select - A6:

这是由硬件连接决定的。通过控制地址就能控制LCD写寄存器还是写数据。D\CX拉低表示命令,拉高表示数据。

由于STM32F4对于16bit位宽的地址总线会右移一位。所以当写命令的时候地址为0x7E(0111 1110),A6引脚拉低;当写数据的时候地址为0x80(1000 0000),A6引脚拉高。地址由于是16位的,故相邻地址+2。

 

Write operation:

是否允许写入操作。FSMC 在存储区域内禁止了写入操作,如果进行写操作将报告 AHB 错误。

 

Extended mode:

使用扩展模式,即可配置读写时序不同。

 

生成代码,移植LCD厂商提供的驱动代码。

 

最后注意:编译器的优化等级选择最高,否则容易出现刷新速度不够,闪屏。

 

STM32CubeIDE TFT-LCD显示_第7张图片

 

 

 

全篇完。

 

本人是一个嵌入式未入门小白,博客仅仅代表我个人主观见解方便记录成长笔记。 若有与大神大大见解有冲突,我坚信大神大大见解是对的,我的是错的。 若无法下载源码,可私聊私发。 感谢~!

 








 

 

 

 

你可能感兴趣的:(STM32)