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

CY7C68013 slave fifo模式 (高手请进!!!)

楼主#
更多 发布于:2007-02-12 12:38
大家好:
     我现在在用CY7C68013和OV7640做视频设备,现在我想采用slvae fifo传数据
     现在有2个问题:
     1。我现在IFCLK连PCLK   27M , SLWR 低, FD[7:0]=Y[7:0],其它管脚都不接,但现在传输速度只有3。1MB/s,这也太慢了点吧,请问如何能提高传输速度,或者说是因为硬件连接限制了这个速度,或者是OV7640(640 x 480 )给数据的速度就只这么快呢?
        


       2。现在我可以用512大小每个包的传数据,用的EP6,AUTOIN=0,因为我想在每个包前面加上个2个字节的数据头。
        根据资料我应该可以用source in的方法的,我的想法是:先让FIFO取512个数据,然后判断是不是写满了,如果满了我修改前2个字节,EP6FIFOBUF[0]=0x02;EP6FIFOBUF[1]=0x08;然后再EP6BCH=0x02;EP6BCL=0x00;提交。
            但我现在用寄存器EP68FIFOFLGS的FF去判断我的FIFO是否装满了,总觉得不能在正确判断(有的包前面加了,有的包前面没加)不知道到底应该怎么才能正确判断FIFO什么时候装满了。


     请个位高手能帮忙指点下,我这问题到底出在哪里?  谢谢拉,感激不尽,本人在线等!
     十万火急,谢谢~!  谢谢~!
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
沙发#
发布于:2007-02-13 09:08
用户被禁言,该主题自动屏蔽!
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
板凳#
发布于:2007-02-13 09:18
我的问题跟你一样,我的固件是这样做的,问题是保不丢了,但是上面没有数据(只有包号,其余数据不变),这是我的固件

void ISR_Sof( void ) interrupt 0
{
   // check the microframe counter
   // firmware send data 16 WORD per 8microframe
   //if(MICROFRAME==0x00)
   //{

   if((EP68FIFOFLGS&0X40))  // programable bit trigle
   //if(EP8FIFOBCL==0x20)
   {         FIFORESET=0X80;
          SYNCDELAY;    

          EP8FIFOBUF[0] = Framecnt;
          EP8FIFOBUF[1] = Framecnt;
          Framecnt++;
          //commet
          EP8BCH=0X00;
          SYNCDELAY;
          EP8BCL=0X20;
          SYNCDELAY;
         //INPKTEND=0X82;
         //SYNCDELAY;


          FIFORESET=0X08;
          SYNCDELAY;
          FIFORESET=0X00;
          SYNCDELAY;


     }
  
   EZUSB_IRQ_CLEAR( );
   USBIRQ = bmSOF;        // Clear SOF IRQ
}



请问您是怎么写的,能交流一下吗?
mcu_boy
crazy1314
驱动牛犊
驱动牛犊
  • 注册日期2006-12-23
  • 最后登录2007-02-13
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-13 10:00
建议楼主去看看FX2 TechRefManual.pdf ,  FIFO的空满是自动给出的 ,只要不满就可以往里写,只要不空就可以读, 有flagb和flagc信号给出
驱网无线,快乐无限
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-02-13 11:56
wjt810907
把 你 QQ号 写给我  短消息也可以,直接写上来也可以

可能现在我和你进度差不多  讨论下吧~!
我把我QQ短消息给你算了  你加我
mclmsy
驱动牛犊
驱动牛犊
  • 注册日期2005-08-20
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分121分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-02-13 22:39
我希望和楼上的同行聊聊,我的QQ:576406185
mcl
reanchear
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望253点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-02-14 14:14
首先我很佩服作者的这个想法,在前面加写自己的数据我想你是为了同步。你应该也碰到了图像数据丢失的情况,也就是说图像会晃动的情况。至于你所说的速度会慢的问题肯定是会存在的,对于这方面的数据接收你如果需要快速的接收的话,你就不要去干预他。另外在你人工干预的情况下去添加数据头8051cpu的处理速度是不能跟上FIFO的速度的,所以会出现有的加上了,有的又加不上。所以你可以在你的驱动端做优化,提高取数据的效率,或者在firmware端加上逻辑处理芯片(CPLD),祝你好运。关于wjt810907的处理方法作一些简单的数据传输是没有问题的,但是这样的图像数据传输是行不通的,原因就是速度太慢,祝你们好运!
mclmsy
驱动牛犊
驱动牛犊
  • 注册日期2005-08-20
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分121分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-02-14 20:37
楼上的高手:我请教你一个问题:
我用68013和OV2610采集图象,像素时钟PCLK接68013IFCLK,SLWR接地或者接HREF行参考信号,用端点2(512字节)自动进(FIFO)方法,但是得到的图象数据512字节都是一样的,什么问题,请指导。
mcl
reanchear
驱动小牛
驱动小牛
  • 注册日期2004-06-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望253点
  • 贡献值0点
  • 好评度102点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-02-15 13:58
这可能是你的图像数据根本就没有收到。给你一些调试建议:
1. 检查对ov2610的控制命令发送是否正确,查看PCLK信号是否与你控制的频率一致
2. 场同步信号VSYNC用作同步信号,查询或者中断均可,用这个作为你的EP2启动信号
3. 检查你对端点的配置是否正确,应用层以及驱动工作是否配合正确
4. 你要确定对Sensor德控制没有问题,这个是前提
5. 如果还是不行请把你的firmware中初始化端点的代码贴出来让我看看
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-02-16 00:44
VSYNC怎么启动EP2啊?  用WHILE做判断,在TD_POLL里面进行吗?

SENSOR的控制应该没什么问题,可以忘寄存器里面写东西,而且肯定写了有效果,但我不能让SENSOR的VSYNC信号和HREF信号停止,来做同步。  那几个寄存器HSTART,VSTART,HSTOP,VSTOP不能让SENSOR停止发送PCLK
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-02-20 00:11
可不可以1次提交640 每个包啊?
mclmsy
驱动牛犊
驱动牛犊
  • 注册日期2005-08-20
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分121分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-02-21 22:23
reanchear :你好
首先感谢你的解答,我觉得你说的很对,是图像数据根本就没有收到。现在,我考虑是不是IFCLK上升沿有效,而像素时钟PCLK也是上升沿有效,也就是说图象数据还没有稳定,地址就加一了,所以不能采到数据。出于这样的考虑,我把IFCLK的极性改变了一下,通过IFCONFIG.4=1,之后,就能采到数据了。
   新的问题是:在上位机显示的图象,整个屏幕分成2-4块,我想是错怎帧问题,但是,怎么解决呀,我没有对ov2610进行控制,也就是说,只要上电,数据图象就不断输出。
   我想这样设计:
   PCLK接68013的IFCLK;VSYNC接INT0(设置为边沿触发,高到低触发),HREF信号与一IO口相与接SLWR,68013SLCS接地,FIFOADDR0与FIFOADDR1接地是用EP2;
   工作过程:
  当VSYNC来的时候(由高到低变化时)激发INT0中断,中断程序控制与HREF信号相与的 IO口为高,SLWR信号有效,写数据到FIFO,当下一场VSYNC有效时,中断程序控制与HREF信号相与的 IO口为低,SLWR信号无效,这样,只采样一桢图象数据,就不会错桢了吧。新手,请多多指教。
  另外,怎样实现HREF信号与一IO口相与? 68013口电压3.3V,OV输出数据电压2.5V,怎么相与那?
  先 谢谢指导!
mcl
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-02-23 13:25
同样的问题  不知道怎么“与”   顶一个!
我的屏幕垂直分成了5个部分,另外还是那个问题,怎么用VSYNC控制EP2的启动啊?
mclmsy
驱动牛犊
驱动牛犊
  • 注册日期2005-08-20
  • 最后登录2007-03-15
  • 粉丝0
  • 关注0
  • 积分121分
  • 威望15点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-02-23 19:16
bennydice:咱俩联系一下,希望和你讨论!QQ:576406185
mcl
usbsolution
驱动牛犊
驱动牛犊
  • 注册日期2005-09-20
  • 最后登录2011-11-05
  • 粉丝0
  • 关注1
  • 积分155分
  • 威望17点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-02-24 20:43
来吧!www.usbsolution.com
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
15楼#
发布于:2007-02-25 09:03
引用第5楼mclmsy2007-02-13 22:39发表的“”:
我希望和楼上的同行聊聊,我的QQ:576406185

我的: 22952089
mcu_boy
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-03-06 14:51
哪个能具体说说怎么用外部中断和YSYNC一起做同步啊?

谢谢拉~!
choce
驱动牛犊
驱动牛犊
  • 注册日期2006-04-24
  • 最后登录2007-08-02
  • 粉丝0
  • 关注0
  • 积分590分
  • 威望60点
  • 贡献值0点
  • 好评度59点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2007-05-08 09:51
解决没,解决了来说说
SEIZE THE DAYS!
c_tony
驱动牛犊
驱动牛犊
  • 注册日期2004-08-11
  • 最后登录2011-12-30
  • 粉丝2
  • 关注1
  • 积分132分
  • 威望15点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-05-09 15:49
希望和大家一起来讨论一下!
:”“: : : ::::
c_tony
驱动牛犊
驱动牛犊
  • 注册日期2004-08-11
  • 最后登录2011-12-30
  • 粉丝2
  • 关注1
  • 积分132分
  • 威望15点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2007-05-09 16:02
QQ:33115030
:”“: : : ::::
上一页
游客

返回顶部