STM32CubeMX之FMC驱动TFT-LCD屏

提示:使用STM32CubeMX配置 STM32F743IIT6 的硬件FMC外设驱动TFT-LCD屏幕


这里就不对FMC做过多介绍。不清楚的可以自己搜索一下,咱们这里直接上干活。

一、CubeMX配置

开发板上TFT-LCD接口如图:

LCD原理图如下:

引脚说明如下:

●LCD D0-D15:使用了16bit:FMC D0 - FMC D15; ●LCD_RS:使用FMC A18来控制向LCD写入数据还是命令(0-命令,1-数据); ●LCD_BL:背光控制,对应PB5; ●LCD_CS:LCD片选信号,对应PD7,FMC_NE1; ●LCD_WR :LCD写使能,对应PD5,FMC_NWE; ●LCD_RD:LCD读使能,对应PD4,FMC_NOE; ●RESET:LCD复位信号,直接与单片机复位信号接在一起;

参数设置如下:

二、参数设置讲解

1、查看参数MCU屏幕控制芯片手册

2、填写对应参数

时序参数都是以HCLK的周期为单位的,在本文中HCLK=240Mhz,所以一个周期为4.17ns。其中主要的时序参数配置方法如下。

读时序配置

① 地址建立时间:Address setup time(ADDSET)

该值必须是0~15个HCLK。从表中可以看出,NT35310控制器要求读的时候最小为10ns,,所以设为3即可,3x4.17=12.51ns。

② 数据持续时间:Data setup time(DATASET)

该值必须是0~255个HCLK,从图中可以看出,NT35310控制器要求的数据建立时间最小为10ns,理论上设置为3即可,但因为读时序较慢这里设置为7个HCLK,设置为5以下可能就会出现显示异常的现象。

③此值必须0~15。我们这里就取默认最大的15即可

④默认A模式即可。模式A时序模型的优势在于:支持独立的读写时序控制。这一点对于控制TFT-LCD来说,非常符合。因为TFT-LCD在读的时候,一般比较慢,而在写入的时候一般比较快

写时序配置

① 地址建立时间:Address setup time(ADDSET)

该值必须是0~15个HCLK。从表中可以看出,NT35310控制器要求写的时候最小为0ns,,所以这里设置为0。

② 数据持续时间:Data setup time(DATASET)

该值必须是0~255个HCLK,从图中可以看出,NT35310控制器要求的数据建立时间最小为10ns,因为写时序较快这里设置为4即可。

③默认15即可

④默认A模式即可

上述步骤配置完成后就可以在工程中添加你的LCD驱动程序。

如果程序和MX的配置都没问题显示还不正常那就先考虑读时序里的data setup time 时间拉长。


总结

经验分享 程序员 微信小程序 职场和发展