STM32f429-SDRAM+LTDC总结

本文介绍了如何使用STM32F429的LTDC接口驱动LCD,涉及到SDRAM的配置,包括地址线、时钟、预充电、自刷新等参数设置,以及LTDC接口配置和RGB驱动方式。通过CubeMX生成配置,并利用SPI初始化LCD驱动IC-ILI9341,最终成功点亮屏幕并用DMA2D显示图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

买了块STM32F429I-DISC1准备搞点稍微复杂点东西,比如LCD驱动,摄像头驱动,DSP之类。

先搞得是LCD驱动,F429提供了LTDC接口,就是可以直接可以用RGB的方式驱动屏幕,而用RGB方式就需要有比较大的RAM,但一般MCU的板载RAM都是很小的,都是通过外接SDRAM的方式来进行的,而SDRAM就是跟电脑外接DDR内存的原理是一样的。F429板载了一颗8Mbyte的SDRAM。


关于了解SDRAM的一些常识,看了一篇doc,“高手进阶,终极内存技术指南——完整.doc”,里面讲了很多SDRAM的时序和参数。

SDRAM原理:有行地址,列地址,地址线等等。还有读取每个区块就是Bank的时候先定位行地址然后定位列地址等等,已经读写的一些时序和一些关键参数的设置:

如tRCD、CAS Latency、tRP、tWR等等,这些在代码里都要配置的,根据SDRAM的数据手册(DISC1用的IS42S16400J)

具体代码工程配置:

1.FMC的配置,就是SDRAM的IO配置(地址线、CS信号、数据线、Bank选择线、CLK等等)可以用CubeMx直接生成,可以配内存地址、Bank数量、多少行多少列,还有CAS,TRCD等都是以时钟信号为单位的。

2.时钟配置FMC_SDRAM_CMD_CLK_ENABLE

3.PALL预充电存储区域FMC_SDRAM_CMD_PALL

4.自刷新FMC_SDRAM_CMD_AUTOREFRESH_MODE

5.设置一堆如模式寄存器、突发长度、等等...

6.刷新率设置(刷新率是64ms ÷(4096行) = 15.7us SDRAM使用108MHz,刷新周期为:15.7us × 90MHz count = 1413-20)

就这样设玩,SDRAM就可以随意读写了。然后就可以给LTDC和DMA2D使用了。


LCD屏幕驱动就是RGB驱动方式的配置,就是配置LTDC接口,这个可以在CubeMX中配置

RGB驱动方式原理其实也挺简单的,RGB三色,每

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值