ffmm2016 发表于 2023-3-13 17:05

关于AT32F435 DVP图片采集的问题

今天调试AT32F435 VGT7 的DVP采集JPG图片,图片尺寸为320*240可以采集成功,但是图片尺寸改成640*480就无法采集成功了,看了dev_dma_init的第3个参数是uint16的,于是把这个参数相关的变量也改成了uint32,但还是不能成功。请问是哪的问题?

tanleitanlei 发表于 2023-3-13 17:46

改变图片尺寸大小,需要设置摄像头参数,这部分有实现吗?另外dma传输参数最大0xffff,注意不要越界

ffmm2016 发表于 2023-3-14 08:57

摄像头已配置过640*480,在其它单片机平台上是可以正常工作的,问题就是dma传输参数0XFFFF的限制,640*480我采集的是JPEG图片,640*480=307200字节,DMA数据位宽占4字节,也就是307200/4=76800,这个数已超出了0XFFFF了。0XFFFF这个限制可以改吗?试我着dvp_dma_init这个函数的memsize一直找下去,把uint16改成了uint32,at32f435_437_dema.h里面关于dma长度的dtcnt_bit联合我也改成了uint32,还是不行。应该怎样修改呢?

muyichuan2012 发表于 2023-3-14 15:54

DMA的buffer zsize最大为0XFFFF,不可修改。
另外,可以采用EDMA来实现。

tanleitanlei 发表于 2023-3-15 15:32

ffmm2016 发表于 2023-3-14 08:57
摄像头已配置过640*480,在其它单片机平台上是可以正常工作的,问题就是dma传输参数0XFFFF的限制,640*480 ...

长度已经超出了,DMA单次传输长度只能0xFFFF,可以将DMA配置成循环模式,只要DVP产生DMA请求,DMA会循环不断传输

tpgf 发表于 2023-4-7 14:43

像素变大了会不会导致数组超出范围了

qcliu 发表于 2023-4-7 14:54

ffmm2016 发表于 2023-3-14 08:57
摄像头已配置过640*480,在其它单片机平台上是可以正常工作的,问题就是dma传输参数0XFFFF的限制,640*480 ...

如果不使用dma模式 是不是会有所改变呢

drer 发表于 2023-4-7 15:33

muyichuan2012 发表于 2023-3-14 15:54
DMA的buffer zsize最大为0XFFFF,不可修改。
另外,可以采用EDMA来实现。

这种情况可以考虑多组传送数据最后整合吗

coshi 发表于 2023-4-7 15:57

感觉好像思路有问题那那么大的像素的图片别人是怎么成功的呢

kxsi 发表于 2023-4-7 16:28

muyichuan2012 发表于 2023-3-14 15:54
DMA的buffer zsize最大为0XFFFF,不可修改。
另外,可以采用EDMA来实现。

请问EDMA和DMA有什么区别呢深度不收到限制吗

wiba 发表于 2023-4-7 16:39

EDMA有两种类型的数据传输:1D和2D的(OPT.2DS和OPT.DDS标示源地址和目的地址的数据传输类型,即有4种组合方式)
页: [1]
查看完整版本: 关于AT32F435 DVP图片采集的问题