ART-Pi评测 H7 RGB屏幕的显示驱动LTDC+SDRAM
[复制链接]
本帖最后由 BinWin 于 2021-7-4 19:59 编辑
H7系列的单片机有专用于显示的外设,并且配备了2D加速,即Chrome-ART,直接点就是一个LTDC专享的DMA通道,可以有效降低CPU使用率,从而提高整体效率。ART-Pi的核心 是STM32H750XB,除了内部Flash只有128k,其余高级外设也没有缺少。板子还配置了SDRAM,16位宽不能发挥最高性能,但容量有32MB,这也是挺实在的。下面就利于板载硬件来点亮RGB的屏幕。
1、第一步,调试和测试内存。主要两点,一是对应手册的硬件属性,二是IO引脚,时钟这些配置,解决好这些,基本都可以跑通了。这里借鉴大佬们的经验测试了下硬件性能,如下图
2、第二点,LTDC的配置,用CubeMX的话记得勾选DMA2D。ART-Pi的引脚有很多都做了功能映射,一定要核对清楚。实际应用的时候配好DMA2D后将显自动搬动显示数据从SDRAM到屏幕,只需要刷新内存数据就可以了。这里使用的是7寸1024*600的屏幕,所以有必要使用外部内存来辅助显示。LTDC的配置要对照手册把时序相关的几项参数搞对,公式如图这样。
结合手册中是这样写的
3、 外设配好后,我们再来引用大佬们封装好的DMA接口函数来进行显示测试。第一次发现屏幕画面有些抖动,估计是LTDC时
钟低于推荐值,同时把GPIO的时钟也提高。然后测试画面稳定多了,测试效果如下
4、LTDC移植阶段可以通过背景色设置来验证时许合适与否
比如显示蓝色
hltdc_F.Init.Backcolor.Blue = 0xff;
hltdc_F.Init.Backcolor.Green = 0;
hltdc_F.Init.Backcolor.Red = 0;
While(1);
5、以上就实现了裸驱屏幕,但是有了这个基础,就方便了进行其他GUI库的应用移植了。
|