打印
[应用相关]

关于AT32F435 DVP图片采集的问题

[复制链接]
816|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ffmm2016|  楼主 | 2023-3-13 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天调试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来实现。

使用特权

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

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

使用特权

评论回复
6
tpgf| | 2023-4-7 14:43 | 只看该作者
像素变大了  会不会导致数组超出范围了

使用特权

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

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

使用特权

评论回复
8
drer| | 2023-4-7 15:33 | 只看该作者
muyichuan2012 发表于 2023-3-14 15:54
DMA的buffer zsize最大为0XFFFF,不可修改。
另外,可以采用EDMA来实现。

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

使用特权

评论回复
9
coshi| | 2023-4-7 15:57 | 只看该作者
感觉好像思路有问题  那那么大的像素的图片别人是怎么成功的呢

使用特权

评论回复
10
kxsi| | 2023-4-7 16:28 | 只看该作者
muyichuan2012 发表于 2023-3-14 15:54
DMA的buffer zsize最大为0XFFFF,不可修改。
另外,可以采用EDMA来实现。

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

使用特权

评论回复
11
wiba| | 2023-4-7 16:39 | 只看该作者
EDMA有两种类型的数据传输:1D和2D的(OPT.2DS和OPT.DDS标示源地址和目的地址的数据传输类型,即有4种组合方式)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝