您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF592跑CMOS不成功,反复看程序总感觉程序有... 
本帖共有480个阅读者
发表帖子 发表投票 回复主题
BF592跑CMOS不成功,反复看程序总感觉程序有点问题
滑板鞋(论坛新手)
滑板鞋
头衔:社区公民
帮派:无帮无派
帖数:9
金钱:174
积分:12
注册时间:2014/11/9
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF592跑CMOS不成功,反复看程序总感觉程序有点问题

上传的图片
  201411915251348.jpg [ 131.84 KB 408×313 ] (缩略时请点击查看原图)

 


上传的图片
  201411915251948.jpg [ 76.94 KB 348×338 ] (缩略时请点击查看原图)

 

第一幅图中是PPI和DMA设置
PPI_COUNT中每行采集288个数据根据PPI_CONTROL中知道每次传输8位,在DMA的设置中DMA_CONFIG和DMA_X_COUNT知道每行接受144个8位数据,可是这个和PPI中采集的数据量就不一样啊,这里是不是应该将DAM_CONFIG中设置为16位,DMA_X_MODIFY设为2即地址增加2*8位,另外DMA_START_ADDR是32位的,但imagebuf是char(在这想确定下,char在这里是16位吧~),这样没问题吗,看来AUDIO那个例程里是用(void*)。
第二幅图中tem将值给dis时为什么这么转换,是因为YUV的数据格式和LCD的原因吗,能具体说下或者能告知哪里能找到答案。不胜感激啊,这CMOS一直跑步起来,另外这里采集的是黑白图像~

一步两步似魔鬼的步伐
等级:论坛新手 参考IP地址:*.*.*.*
2014/11/9 15:38:25
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
这个代码采集的是144*176大小的灰度数据,所以配置的DMA模式为8位。摄像头数据是8位灰度数据,8位色度数据,PPI的配置包含了色度数据,而DMA只采了灰度数据。

DMA_START_ADDR 地址的宽度是32位,和送入地址的指针没有关系,不管你数组如何定义,最终送入DMA_START_ADDR的仅仅是一个32位的绝对地址,这个地址是你数组定义的首地址,至于用何种方式送入(指针,数组首地址,数组名称),看你的个人习惯。

液晶屏格式是RGB16位的,采到的数据是灰度的,所以要用一个灰度数据填充R,G,B三种颜色,按5,6,5格式填充。

采集的图像本来就是黑白的,有一个一次采一行的代码,能采完整的彩色图像在液晶屏上显示。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/11/12 21:41:49
滑板鞋(论坛新手)
滑板鞋
头衔:社区公民
帮派:无帮无派
帖数:9
金钱:174
积分:12
注册时间:2014/11/9
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
非常感谢您在此帖及我另外发的一帖里的回复,很是受用。我在下载区找到了乒乓BUF的代码,稍微改了下能够实现扫一行实现一行的灰度图,彩图还没试,但当我尝试一次扫多行比如2行时,就会出现数据丢失的情况,是不是采集两行处理的时间大于了行与行之间的间隔时间了?

一步两步似魔鬼的步伐
等级:论坛新手 参考IP地址:*.*.*.*
2014/11/15 17:16:41
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
你可以写一个延时函数,测试一下,刚开始延时时间不要太长,若正常采集,逐渐加大延时,直到找到正常采集的临街状态。记录下这个延时函数消耗的时钟,然后看你的处理代码消耗的时钟,是否超过此。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2014/11/18 21:54:18
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159299 Call, 1 Queries, Processed in 0.031250 second(s),