您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 求解:BF518 DMA采用autobuffer模式时,如何... 
本帖共有779个阅读者
发表帖子 发表投票 回复主题
求解:BF518 DMA采用autobuffer模式时,如何实现图片是完整且是同一时刻的
lovepanpanzhao(论坛新手)
lovepanpanzhao
头衔:社区公民
帮派:无帮无派
帖数:18
金钱:261
积分:25
注册时间:2012/12/24
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
求解:BF518 DMA采用autobuffer模式时,如何实现图片是完整且是同一时刻的

我配置成autobuffer模式后,显示图片拍到移动的物体是拉长或者变形的。我想要做到尽量快速的捕获图片并且进行处理,处理的时候可以继续捕获图片,处理完就可以不用等到就可以拿到最新图片继续处理。

1、要用开双buffer还是?如果使用双buffer在DMA中断内部切换buffr?

2、切换时候需要关闭DMA,因为开启了autobuffer模式,会不会导致部分数据没被DMA取到,导致图片不正确?

3、DMA0_config寄存器的 SYNC 位是什么意思?  有注释说清除buffer,那又是什么时候执行清除呢?

希望我问的问题,你们都能看懂!!



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/16 13:56:15
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

连续采集时,可采用DMA中断模式,建立两个Buffer,当采完一个Buffer后,设置标志位,在主函数中根据标志位,使能另一个buffer DMA采集,使能完成后,启动你的图形处理代码,在第二帧图像完成采集之前,必须完成算法。

Autobuffer模式无法获知何时一帧采完,一旦DMA停止,获取的图像可能是两帧拼在一起的。

SYNC是DMA在每次采集时是否需要一个同步位用于同步,并非清楚buffer,在采用描述符DMA时,常使用这个位作为每个描述符的开始。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/16 14:37:36
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159295 Call, 1 Queries, Processed in 0.015625 second(s),