没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32 MCU上的LCD-TFT显示控制器(LTDC).pdf
资源详情
资源评论
资源推荐

2018年8月 DocID029237 Rev 1 [English Rev 2] 1/91
1
AN4861
应用笔记
STM32 MCU上的LCD-TFT显示控制器(LTDC)
前言
移动、工业和消费应用的发展使得对图形用户界面(GUI)的需求更强,并且所需硬件资源
也有所增加。这些应用需要更高质量的图形、更多的硬件和软件资源(比如图形基元或帧缓
冲区的内存)以及更高的处理性能。
为了应对这种日益增长的需求,通常会使用微处理器单元,而这导致了成本更高、设计更复
杂,而且上市时间也更长。为了应对这些要求,STM32 MCU提供了丰富的图形产品组合。
由于采用了嵌入式LCD-TFT显示控制器(LTDC),STM32 MCU可以直接驱动高分辨率显
示面板,无需任何CPU干预。另外,LTDC可以自主访问内部存储器或外部存储器来获取像素
数据。
本应用笔记介绍了
表
1中所列STM32微控制器的LCD-TFT显示控制器,并演示了如何使用和
配置LTDC外设。还重点阐述了为获得最佳图形性能所需要的一些硬件、软件和架构考虑因
素。
相关文档
意法半导体网站 www.st.com 提供以下文档:
• STM32F75xxx和STM32F74xxx基于32位MCU(RM0385)的高级ARM
®
• STM32F76xxx和STM32F77xxx基于32位MCU(RM0410)的高级ARM
®
• STM32F469xx和STM32F479xx基于32位MCU(RM0386)的高级ARM
®
• STM32F405/415、STM32F407/417、STM32F427/437和STM32F429/439基于32位MCU
(RM0090)的高级ARM
®
• STM32F429/439、STM32F469/479、STM32F7x6、STM32F7x7、STM32F7x8、
STM32F7x9数据表
表1. 适用产品
类型 产品线
微控制器
STM32F429/439、STM32F469/479、
STM32F7x6、STM32F7x7、STM32F7x8、STM32F7x9
www.st.com

目录 AN4861
2/91 DocID029237 Rev 1 [English Rev 2]
目录
1 显示器和图形概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1 基本图形概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 显示接口标准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.3 STM32 MCU支持的显示接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2LTDC控制器和STM32 MCU图形产品组合概述 . . . . . . . . . . . . . . . . . . . . . 15
2.1 STM32 MCU上的LCD-TFT显示控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 LTDC可用性和STM32系列的图形产品组合 . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 智能架构中的LTDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 使用STM32 LTDC控制器的优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3 LCD-TFT(LTDC)显示控制器说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 功能描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 LTDC时钟域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.2 LTDC复位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 灵活的时序和硬件接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 LCD-TFT引脚和信号接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 对于不同的显示器尺寸,其时序完全可编程 . . . . . . . . . . . . . . . . . . . . . 22
3.3 两个可编程LTDC层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 灵活的窗口位置和尺寸配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 可编程层:颜色帧缓冲器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 中断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5 低功耗模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 使用LTDC创建图形应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1 确定图形应用要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 检查显示器尺寸和色深与硬件配置的兼容性 . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1 帧缓冲存储器大小要求和位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.2 考虑存储器时检查显示兼容性带宽要求 . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.3 检查显示面板接口与LTDC的兼容性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 STM32封装选择指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 LTDC与DMA2D和CPU同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4.1 DMA2D 的用法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

DocID029237 Rev 1 [English Rev 2] 3/91
AN4861 目录
4
4.4.2 LTDC和DMA2D/CPU同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5 图形性能优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.1 内存分配 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5.2 优化从外部存储器读取LTDC帧缓冲器的过程(SDRAM或SRAM) . . . 43
4.5.3 优化从SDRAM读取LTDC帧缓冲器的过程 . . . . . . . . . . . . . . . . . . . . . . . 47
4.5.4 在消隐周期中更新帧缓冲器内容 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 关于Cortex
®
-M7(STM32F7系列)的特别建议 . . . . . . . . . . . . . . . . . . . . 48
4.6.1 如果不使用,就禁用FMC bank1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.6.2 配置存储器保护单元(MPU) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.7 LTDC外设配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.7.1 显示面板连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.7.2 LTDC时钟和时序配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.7.3 LTDC层配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.7.4 显示面板配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.8 存储图形基元 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.8.1 将图像转换为C文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.9 硬件注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5 节省能耗 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6LTDC应用示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1 实现示例和资源要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.1 单片MCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.1.2 带外部存储器的MCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.2 示例:创建基本图形应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.1 硬件说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.2.2 如何检查特定显示器尺寸是否匹配
硬件配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2.3 LTDC GPIO配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2.4 LTDC外设配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2.5 显示来自内部闪存的图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2.6 FMC SDRAM配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.7 MPU和高速缓存配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3 带LCD-TFT面板的参考板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7 所支持的显示面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

目录 AN4861
4/91 DocID029237 Rev 1 [English Rev 2]
8 常见问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9 结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
10 版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

DocID029237 Rev 1 [English Rev 2] 5/91
AN4861 表格索引
5
表格索引
表1. 适用产品 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
表2. STM32 MCU支持的显示接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
表3. 嵌入了LTDC的STM32 MCU及其可用的图形产品组合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
表4. 使用STM32 MCU LTDC控制器的优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
表5. LTDC接口输出信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
表6. LTDC时序寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
表7. LTDC中断总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
表8. LTDC外设状态与STM32低功耗模式的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
表9. 不同屏幕分辨率的帧缓冲器大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
表10. STM32F4x9,其HCLK @ 180 MHz并且SDRAM @ 90 MHz
最大支持像素时钟与LTDC配置和SDRAM总线宽度的关系 . . . . . . . . . . . . . . . . . . . . . . . . . 37
表11. STM32F7x6、STM32F7x7、STM32F7x8和STM32F7x9,其HCLK @ 200 MHz并且
SDRAM@ 100 MHz时,最大支持像素时钟与LTDC配置和SDRAM总线宽度的关系38
表12. 特定STM32硬件配置下所支持的显示分辨率示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
表13. 带LTDC外设的STM32封装与RGB接口可用性的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
表14. 从ROCKTECH RK043FN48H数据表中提取LCD-TFT时序 . . . . . . . . . . . . . . . . . . . . . . . . 55
表
15. 编程LTDC时序寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
表16. 使用不同硬件配置下STM32的图形移植示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
表17. STM32参考板,嵌入了LTDC并具有板上LCD-TFT面板 . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
表18. 常见问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
表19. 文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
表20. 中文文档版本历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
剩余90页未读,继续阅读










hzwahzw
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0