搜索
查看: 5018|回复: 7

[已解决] LTDC驱动LCD时的问题

[复制链接]

该用户从未签到

14

主题

44

帖子

0

蝴蝶豆

高级会员

最后登录
2020-10-12
发表于 2017-1-25 15:01:12 | 显示全部楼层 |阅读模式
    用LTDC驱动LCD外挂SDRAM做显存没有开DMA2D,目前的问题是如果LTDC使能后程序往SDRAM中写数据就会造成SDRAM部分数据写入出错,LCD刷屏时就能看见很多黑色梅花印,调试发现出现黑色梅花印的位置就是出错的数据位置!想到一定是由于LTDC硬件读取SDRAM和软件读取时造成的冲突就在每次写数据到SDRAM显存中前先关闭LTDC写完后再使能,结果这样数据出错问题真的解决了每次写完数据才使能LTDC显示正常SDRAM也没有数据出错,但是又出现另一个问题就是在LTDC关闭的期间LCD显示有些花屏!芯片是STM32F767IG,SDRAM速度108M,LCD时钟33.25M,请问这样的问题该如何解决??
回复

使用道具 举报

该用户从未签到

14

主题

44

帖子

0

蝴蝶豆

高级会员

最后登录
2020-10-12
 楼主| 发表于 2017-1-25 17:35:16 | 显示全部楼层
已经解决了,的确是二者冲突所致!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

回复 支持 1 反对 0

使用道具 举报

该用户从未签到

14

主题

307

帖子

17

蝴蝶豆

金牌会员

最后登录
2019-5-9
发表于 2017-1-25 15:28:07 | 显示全部楼层
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启用Cache后,多个总线Master会有数据一致性问题。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 感谢回复

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

44

帖子

0

蝴蝶豆

高级会员

最后登录
2020-10-12
 楼主| 发表于 2017-1-25 15:30:52 | 显示全部楼层
zoomdy 发表于 2017-1-25 15:28
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启 ...

启用了数据缓存,不过设置的是透写模式关闭缓存结果一样.
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

307

帖子

17

蝴蝶豆

金牌会员

最后登录
2019-5-9
发表于 2017-1-26 15:27:34 | 显示全部楼层
shiweicl1314 发表于 2017-1-25 17:35
已经解决了,的确是二者冲突所致!

怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

44

帖子

0

蝴蝶豆

高级会员

最后登录
2020-10-12
 楼主| 发表于 2017-1-26 15:45:21 | 显示全部楼层
zoomdy 发表于 2017-1-26 15:27
怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?

准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误.
回复 支持 反对

使用道具 举报

该用户从未签到

14

主题

307

帖子

17

蝴蝶豆

金牌会员

最后登录
2019-5-9
发表于 2017-1-26 17:23:21 | 显示全部楼层
shiweicl1314 发表于 2017-1-26 15:45
准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误. ...

谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

蝴蝶豆

初级会员

最后登录
2021-12-21
发表于 2020-11-28 19:27:09 | 显示全部楼层
这帖子已经过去三年半了, 我用的单片机也是STM32F767IG, 外挂32MB sdram, 现在遇到一个问题是开机解析png图片, 然后更新进度条, 屏幕中央有个logo, 发现狂闪, ltdc的错误计数达到几千, 之前代码是没有问题的, 随着代码变大问题就出来了, 我也猜到是dma2d刷图和我这边大量操作sdram冲突造成的,但是我的数据正常, 就是开机加载界面闪烁, 加载完毕后的界面操作一切正常, 我的突发传输长度本来就是SDRAM_MODEREG_BURST_LENGTH_4, 所以我实在不知道为啥之前代码都正常, 随着功能的增加就异常了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-13 16:43 , Processed in 1.227079 second(s), 46 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表