bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
阅读:1935回复:18

OV7640图像分成5屏???求解决办法!!!(附图)

楼主#
更多 发布于:2007-03-12 15:16
  大家好:
  我现在在用CY7C68013和OV7640做 SLAVE FIFO模式下图象传输,OV7640是640 x 480的,我现在SLAVE FIFO 模式下, 我在TD_POLL里面,每512byte/包1提交,结果屏幕分成了5屏。

  我现在有个想法,我可不可以用可编程满标志位PF,来640byte/包来提交,我想这样的话,是不是可以避免分屏的问题啊?

  现在采集到的图象可以感受光的强弱变化,不遮挡时是紫色,遮挡后变成绿色,证明我采集到的确实是CMOS的数据,但是这个分屏问题确实让人很头疼。(我已经按juren的那个帖子里面说的那样做了,用YSYNC和INT0相连,HREF和IO相与连SLWR,仍然存在这样的分屏问题)

  请高手帮忙指点一二,感激不尽 !!! 谢谢~! 欢迎大家给意见!!!
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2007-03-12 15:49
不知道我说的对不对啊!我是这样用的首先检测空满标志,然后用in/outpktend dump一下,然后手动提交(以上在unauto模式)
mcu_boy
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-03-12 16:10
640不行,只能512
建议用slavefifo自动模式
手动可能会耽误时间。
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
地板#
发布于:2007-03-12 16:40
请问jing大侠?你用的iso还是 bulk模式?
mcu_boy
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-03-12 18:49
可否请问你采集的数据是在PC端显示还是板子自带有屏,用directshow还是其他
SEIZE THE DAYS!
pi-ai
驱动牛犊
驱动牛犊
  • 注册日期2006-02-07
  • 最后登录2010-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-03-12 20:12
lz使用什么使他显示出来的呢?我用c++builder然后scanline,出来的图像能明显的看出是一个一个小点组成的(只用Y通道),不知怎么能弄成lz这样平滑呢?
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-03-12 21:54
wjt810907:
你能详细讲讲怎么检测空满标志,然后用in/outpktend dump这一过程吗?

inpktend是为了完成什么功能啊?

我现在用的是EP2468STAT这个REG  判断EP6是否为空,为空的时候,编辑1  IN个包,然后提交。



jinghuiren:
大侠好!  我现在用的是USB VIDEO CLASS做的,因为这个协议要在每帧图象前要加2个字节的文件头(0x02,0x80),所以我不能用AUTOIN这个做,我必须要干预传输的过程,现在速度的问题可以缓缓,我现在主要想看到1个正常的图象。

我怀疑,是不是我USB在发每512个数据一发  512个数据一发,这个切换过程中,OV7640传的1行的数据640个里面 ,我是不是丢掉了一些,才造成这样有白色线条的啊?而且线条错位分布。

希望两位大侠不吝赐教,谢谢~!
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-03-13 08:41
是否同步没做好
SEIZE THE DAYS!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-03-13 10:41
你的图像数据很明显不是从一幅图像里读出来的
是从多幅图像中凑出来的数据,也就是说你在1幅图像传输过程中丢了数据
丢数据说明传输不够快,也就是在某些时候由于你没及时把fifo里的数据传走而导致它满了。
不管你怎么做,关键问题是你怎么让FIFO一直有空间来存放产生的数据
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-03-13 13:49
恩  我现在也是这样想的  但不知道具体怎么解决
我觉得我可能EDIT  传输的那段代码可能有点问题
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
10楼#
发布于:2007-03-13 15:00
我的固件是这样写的,fx2 的ep8工作于unautoin模式 ,fpga控制 slave fifo

void ISR_Sof( void ) interrupt 0
{

   if((EP68FIFOFLGS&0X40))  // programable bit trigle
   {            
      INPKTEND=0x88;
      SYNCDELAY;

      EP8FIFOBUF[0] = Framecnt;
      EP8FIFOBUF[1] = Framecnt;
      Framecnt++;
      
       //commet
      EP8BCH=0x00;
      SYNCDELAY;
      EP8BCL=0x20;
      SYNCDELAY;
  }
  
   EZUSB_IRQ_CLEAR( );
   USBIRQ = bmSOF;        // Clear SOF IRQ
}

      INPKTEND=0x88; 的意思是先不提交给主机(主机什么都不知),然后手动提交数据32B/ms
因为不满512B所以想出了这个办法,可能数据量太小,图像传输就不知了。。。。
    请各位大侠指点,提点意见!!

    不胜感激!!!
mcu_boy
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-03-13 15:53
可不可以手动 和自动模式切换来使用啊

要加头的时候 手动
不加的时候  自动

wt你也是用UVC吗? 我也有要加头的这个问题
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
12楼#
发布于:2007-03-13 16:12
不知道,没试过!


 还有uvc是什么?uVision c?
mcu_boy
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-03-14 09:40
USB VIDO CLASS
usbsolution
驱动牛犊
驱动牛犊
  • 注册日期2005-09-20
  • 最后登录2011-11-05
  • 粉丝0
  • 关注1
  • 积分155分
  • 威望17点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-03-14 12:48
受启发,居然fx2可以实现video class!
来吧!www.usbsolution.com
mclmsy
驱动牛犊
驱动牛犊
  • 注册日期2005-08-20
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分121分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-03-17 06:46
在上位机,图像数据是怎样变成图像的呀?请指导
mcl
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-03-18 12:40
jinghuiren:
你的OV7141的驱动是自己写的吗?   还是你买的开发板提供的啊?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-03-19 17:02
当然是自己的喽
不过产权属于公司
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-04-23 09:59
这个问题到底解决没有,我也碰到了同样的问题
SEIZE THE DAYS!
游客

返回顶部