LTDC 40M频率下闪屏问题

2019-07-20 04:20发布

先说一下配置:处理器:F439 (使用的 168M主频,没用 180M为了兼容 USB 48M时钟)
显示屏:7寸 800*480分辨率 RGB666接口 40M时钟
显存:外扩SDRAM 64MB  16位 频率 168/2=84M

出现的问题:
显示使用了 emWin(LTDC+DMA2D),
1、当LTDC使用40M频率、显存像素采用4字节(ARGB8888)时,显示屏花屏;
2、当LTDC使用20M频率、显存像素采用4字节(ARGB8888)时,显示屏正常;
3、当LTDC使用20M频率、显存像素采用4字节(ARGB8888),同时操作SDRAM进行其他数据的读写时,显示屏花屏;
4、当LTDC使用40M频率、显存像素采用2字节(RGB565)时,显示屏正常
5、当LTDC使用40M频率、显存像素采用2字节(RGB565),同时操作SDRAM进行其他数据的读写时,显示屏花屏;
6、当LTDC使用20M频率、显存像素采用2字节(RGB565),同时操作SDRAM进行其他数据的读写时,显示屏正常。


测试了很多次,感觉是SDRAM带宽不足的问题,但是又不确定,不知道原子开发板的 7寸屏是不是 40M的,怎么实现这种显示的同时大量操作SDRAM的情况。
请教各位大佬,我想保证 40M的LTDC频率和 ARGB8888的像素格式,怎么做才能实现在正常显示图像的同时也能够大量读写SDRAM?万分感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 08:14
换32位的SDRAM了。。。 是带宽不足!
wudecao
2楼-- · 2019-07-20 11:03
板子的LTDC的总线带宽是16位,40MRGB565模式,估计已经把带宽占满了,RGB8888的时候肯定得降速的,如果有其他SDRAM操作估计也是这个问题。另外,不要使用原子给的mymalloc来分配显存,这个函数有问题,用了会有花屏概率,使用固定地址。
wudecao
3楼-- · 2019-07-20 14:38
 精彩回答 2  元偷偷看……
wudecao
4楼-- · 2019-07-20 18:08
 精彩回答 2  元偷偷看……
kokoromi
5楼-- · 2019-07-20 19:57
正点原子 发表于 2018-11-1 20:30
换32位的SDRAM了。。。 是带宽不足!

谢谢原子大神,心里有底了,下次改板换 32位 SDRAM~
天眼
6楼-- · 2019-07-21 01:50
 精彩回答 2  元偷偷看……

一周热门 更多>