OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 326|回复: 1

HC32F4A0+DVP+SDRAM数据搬运问题

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2021-7-21
在线时间
8 小时
发表于 2025-7-24 14:49:01 | 显示全部楼层 |阅读模式
在使用HC32F4A0的DVP外设做图传时,发现使用DMA搬运图像数据至SDRAM上数据会丢失。
图像数据320*240则不会,一旦图像数据超出了某个阈值则会出现数据丢失。
后续使用双路DMA模拟双缓冲解决了该问题,但不完美。
暂定解决方案:
1.DMA1搬运图像数据至MCU内部sram缓冲区A->半满中断设置aos使能DMA2搬运缓冲区A的数据至SRAM内(注HC32的AOS次数只能单次,所以搬运将分成大数据块传输,避免多次中断的占用CPU的处理时间)
2.DMA1搬运图像数据至MCU内部sram缓冲区B->全满中断设置aos使能DMA2搬运缓冲区B的数据至SRAM内(注HC32的AOS次数只能单次,所以搬运将分大数据成块传输,避免多次中断的占用CPU的处理时间)
如此往复;
该解决方案带来的问题:
①占用了DMA1、DMA2,将导致其余需要使用DMA的外设将出现阻塞、dma错误等异常问题
②如一,当全速搬运图片数据时,其余通信外设(如串口、spi等使用dma的外设),因数据传输的不连续性将给应用层带来很多额外的问题

有没有哪位前辈也有过DVP+SDRAM类似经历,是否有更加完美的方案分享,万分感谢
SDRAM时序如下:
    stcDmcInit.stcTimingConfig.u8CASL = 2U;
    stcDmcInit.stcTimingConfig.u8DQSS = 0U;
    stcDmcInit.stcTimingConfig.u8MRD = 2U;      /* tMRD: 2CLK */
    stcDmcInit.stcTimingConfig.u8RAS = 2U;      /* tRAS: min=42ns */
    stcDmcInit.stcTimingConfig.u8RC = 2U;       /* tRC:  min=63ns */
    stcDmcInit.stcTimingConfig.u8RCD_B = 3U;    /* tRCD: min=15ns */
    stcDmcInit.stcTimingConfig.u8RCD_P = 0U;
    stcDmcInit.stcTimingConfig.u8RFC_B = 3U;    /* tRFC: min=63ns */
    stcDmcInit.stcTimingConfig.u8RFC_P = 0U;
    stcDmcInit.stcTimingConfig.u8RP_B = 3U;     /* tRP:  min=15ns */
    stcDmcInit.stcTimingConfig.u8RP_P = 0U;
    stcDmcInit.stcTimingConfig.u8RRD = 1U;      /* tRRD: min=14ns */
    stcDmcInit.stcTimingConfig.u8WR = 2U;       /* tWR:  2CLK */
    stcDmcInit.stcTimingConfig.u8WTR = 1U;
    stcDmcInit.stcTimingConfig.u8XP = 1U;
    stcDmcInit.stcTimingConfig.u8XSR = 3U;      /* tXSR: min=70ns */
    stcDmcInit.stcTimingConfig.u8ESR = 3U;
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2021-7-21
在线时间
8 小时
 楼主| 发表于 2025-7-24 14:49:22 | 显示全部楼层
补充:使用单路DMA双缓冲机制可以做到比DVP DMA搬运至SDRAM更高的数据完整性,但分辨率上去了仍然会丢数据,目前所试方案 最完美的就是双路DMA,图像搬运可以做到ov5640的最高分辨率
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-14 15:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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