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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版