STM32H7 SRAM->SDRAM->SD CARD 写入速度极慢

2019-12-12 18:16发布

最近在搞STM32H753的东西, 然后让ST的FAE 帮我们写代码, 他们的硬度工程师告诉我他需要13uS 把512byte的数据从SRAM MDMA传到SDRAM,虽然说SRAM SDRAM共享一个32bit的FMC但是这个速度, 我真的一口血吐在了屏幕上

我能想到的原因可能是他没有用internal SRAM 做buffer, 直传的话需要不停的来回切BUS 和片选,但是我看他给我的示波器图像,传512 byte 数据的时候,SDRAM和SRAM的片选得切了几百次, DMA的buffer不应该这么小吧

还有一个原因就是可能SDRAM需要不停地刷新cell,会把bus抢过去

想问一下各位大佬有没有什么别的看法
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
zxq6
1楼-- · 2019-12-12 22:32
 精彩回答 2  元偷偷看……
sunnylyvoune
2楼-- · 2019-12-13 01:51
zxq6 发表于 2019-3-22 16:30
512byte,cache应该装的下把?

我也觉得是,H7的Cache 有足足16KByte的 Cache,问题是SDRAM的BANK ADDRESS是NON-cacheable 的
wye11083
3楼-- · 2019-12-13 07:20
sunnylyvoune 发表于 2019-3-22 16:34
我也觉得是,H7的Cache 有足足16KByte的 Cache,问题是SDRAM的BANK ADDRESS是NON-cacheable 的 ...

我晕,貌似fae是dma直接片外对片外传输,当然要频繁切换了。dma控制器又没有cache。你要先dma传到tcm里面,再dma往sdram里面写,这样就是两次连续操作了。
sblpp
4楼-- · 2019-12-13 10:36
512Byte为啥要到SDRAM里去兜一圈?直接从SRAM->SD CARD不行?
sunnylyvoune
5楼-- · 2019-12-13 10:57
sblpp 发表于 2019-3-22 23:00
512Byte为啥要到SDRAM里去兜一圈?直接从SRAM->SD CARD不行?

SRAM 是个fpga , 只是把fpga当成sram 来读, 512byte 只是单次传输,频率是50Khz 等效速率25MByte/s 直接写sd 卡buffer 不够大数据就没了
sunnylyvoune
6楼-- · 2019-12-13 11:54
 精彩回答 2  元偷偷看……

一周热门 更多>