ARM微控制器使用FSMC 硬件直接驱动TFT_LCD示例(2)

3 硬件参考设计

本文的评估设计板载有一个 QVGA TFT 3.5 英寸显示屏。 下面的表格提供了 CT05350DW0000T TFT 信号与MCU接口时的描述。 

表 3. STM32F103ZET6 信号与 CT05350DW0000T LCD 的接口。

图9. MCU评估的TFT-LCD连接器

 

  1.  

4 固件包

与本应用说明相关的固件包括使用MCU设备直接驱动TFT,源代码示例基于MCU的标准外设抽象库。 用户可以使用相同的库和驱动器,以及不同的接口固件/硬件,构建任何类似的应用程序。 库文件夹包含了构成MCU标准外设库核心的所有子目录和文件:

CMSIS

CM3\CoreSupport:包含Cortex-M3文件

CM3\DeviceSupport\MCU:包含MCU CMSIS层文件MCU_StdPeriph_Driver

  • inc子文件夹:包含标准外设库头文件
  • src子文件夹:包含标准外设库源文件

项目

MCU-LCDDrive 图像:包含位图图像的Image.dfu文件。

EWARMv5:指的是IAR Embedded Workbench for ARM (EWARM) 工具链的版本5,这是一个流行的嵌入式开发环境,用于ARM Cortex微控制器的软件开发。

ARM-MDK:指的是ARM Keil MDK工具链,这是一个广泛使用的ARM Cortex-M微控制器开发工具,包含了编译器、调试器和其他必要的工具。

HiTOP:特定的开发工具链。

RIDE:嵌入式开发领域特定的开发工具链。

TrueSTUDIO:指的是Atollic TrueSTUDIO,这是一个功能齐全的跨平台工具套件,用于MCU和ARM Cortex-M微控制器的软件开发。

● inc子文件夹:包含TFT-LCD驱动和演示核心文件:

lcd_driver.h:包含驱动无控制器TFT-LCD的基本函数原型。它还包括根据TFT规格书可配置的TFT-LCD参数。

backlight_control.h:包含用于控制TFT背光的基本函数原型。

main.h:此文件包含main.c文件的函数原型。

MCU_it.h:包含中断处理程序的头文件。

MCU_conf.h:微控制器库配置文件。

● src子文件夹:包含TFT-LCD驱动和演示源文件:

lcd_driver.c:它包含驱动无控制器QVGA TFT-LCD的基本例程,包括FSMC(柔性静态存储控制器)、GPIO(通用输入输出)引脚和DMA(直接内存访问)配置。

backlight_control.c:包含用于控制TFT-LCD背光的基本函数。

main.c:初始化TFT-LCD驱动演示。

MCU_it.c:包含LCD驱动中使用的所有外设中断服务程序,并为所有异常处理器提供模板。

 4.1 固件安装

与本文相关的固件是为MCU评估构建的。 在硬件设置成功和固件编程完成后,位图图像将开始在评估板上的TFT-LCD显示。 默认情况下选择横幅显示模式。 按下连接到MCU评估板上的按键,切换到幻灯片显示模式。 演示图像 16位位图图像在固件初始化期间由固件从NOR存储器复制到板载外部SRAM。然后,图像仅从外部SRAM刷新到TFT-LCD。

这些图像默认编程在MCU评估板的NOR存储器中。如果NOR存储器中没有这些图像,可以使用USB DFU固件轻松地将它们编程到NOR存储器中。

4.2 配置方法

QVGA TFT-LCD参数 LCD驱动程序可以定制以支持其他类型的QVGA LCD。可以更新的QVGA LCD参数包括前缘、后缘周期或帧率频率,以及用于VSYNC和HSYNC的I/O引脚、TFT电源控制和背光。 这些可配置参数在lcd_driver.h和backlight_control.h头文件中定义。 TFT LCD驱动程序可以轻松地移植到其他硬件上。表4描述了可配置的TFT-LCD参数。

表4. QVGA TFT-LCD驱动可配置参数

QVGA TFT-LCD参数描述
#define LCD_FRAME_FRONT_PORCH帧前缘值
#define LCD_FRAME_BACK_PORCH帧后缘值
#define LCD_LINE_FRONT_PORCH行前缘值
#define LCD_LINE_BACK_PORCH行后缘值
#define SRAM_IMAGE1_ADDR帧缓冲区中第一幅图像的地址
#define SRAM_IMAGE2_ADDR帧缓冲区中第二幅图像的地址
#define FRAME_RATE帧率频率值(可以是40 Hz或19 Hz)
#define SLIDESHOW_TIME_GAP幻灯片播放时间间隔,单位为秒
#define TFT_VSYNC_GPIO_PINGPIO引脚:GPIO_Pin_8
#define TFT_VSYNC_GPIO_PORTGPIO端口:GPIOA
#define TFT_HSYNC_GPIO_PINGPIO引脚:GPIO_Pin_6
#define TFT_HSYNC_GPIO_PORTGPIO端口:GPIOC
#define LCD_BL_GPIO_PINGPIO引脚:GPIO_Pin_6
#define LCD_BL_GPIO_PORTGPIO端口:GPIOB

 

5 总结

在本案例中,MCU外设的多功能能力得到了很好的利用,目的是简化TFT-LCD应用并降低其成本。MCU以其强大的DMA(直接内存访问)控制器和高度灵活的FSMC(灵活静态存储控制器)周边设备相结合,为驱动QVGA TFT-LCD提供了一种成本效益高的解决方案,对于静态图像显示,CPU负载仅为1%。

这段文本总结了MCU微控制器在TFT-LCD应用中的使用优势,具体包括:

  1. 多功能外设:MCU的外设具有多功能性,可以适应不同的应用需求。

  2. 简化和降低成本:使用MCU可以简化TFT-LCD应用的设计,同时降低成本。

  3. 强大的DMA控制器:MCU的DMA控制器能够高效地管理内存访问,减少CPU的负担。

  4. 灵活的FSMC:MCU的FSMC提供了高度的灵活性,可以方便地与不同类型的内存和外设进行接口。

  5. 成本效益:MCU提供的解决方案在成本上很有优势,特别是在驱动QVGA TFT-LCD时。

  6. 低CPU负载:在显示静态图像时,CPU的负载仅为1%,这意味着MCU可以在执行其他任务的同时,以极低的资源消耗来驱动LCD显示。

本文的源代码将另行提供。

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MUKAMO

你的鼓励是我们创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值