最近在搞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抢过去
想问一下各位大佬有没有什么别的看法
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我也觉得是,H7的Cache 有足足16KByte的 Cache,问题是SDRAM的BANK ADDRESS是NON-cacheable 的
我晕,貌似fae是dma直接片外对片外传输,当然要频繁切换了。dma控制器又没有cache。你要先dma传到tcm里面,再dma往sdram里面写,这样就是两次连续操作了。
SRAM 是个fpga , 只是把fpga当成sram 来读, 512byte 只是单次传输,频率是50Khz 等效速率25MByte/s 直接写sd 卡buffer 不够大数据就没了
一周热门 更多>