你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

LTDC驱动LCD时的问题

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

举报

7个回答
shiweicl1314 回答时间:2017-1-25 17:35:16
已经解决了,的确是二者冲突所致!

评分

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

查看全部评分

zoomdy 回答时间:2017-1-25 15:28:07
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启用Cache后,多个总线Master会有数据一致性问题。

评分

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

查看全部评分

shiweicl1314 回答时间:2017-1-25 15:30:52
zoomdy 发表于 2017-1-25 15:28
有没有启用数据Cache?会不会跟Cache导致的数据不一致有关系?虽然你没有开DMA2D,但LTDC本身就带DMA,在启 ...

启用了数据缓存,不过设置的是透写模式关闭缓存结果一样.
zoomdy 回答时间:2017-1-26 15:27:34
shiweicl1314 发表于 2017-1-25 17:35
已经解决了,的确是二者冲突所致!

怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?
shiweicl1314 回答时间:2017-1-26 15:45:21
zoomdy 发表于 2017-1-26 15:27
怎么个冲突法,按我理解,总线仲裁会处理冲突的呀?

准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误.
zoomdy 回答时间:2017-1-26 17:23:21
shiweicl1314 发表于 2017-1-26 15:45
准确的说是SDRAM配置问题,将突发长度从8改为4就解决了这种冲突,如果单独测试SDRAM不修改不会造成数据错误. ...

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

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版