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

【百万火急!!!】关于68013的PKTEND管脚的使用问题!!!!

楼主#
更多 发布于:2007-04-03 10:17
  大家好:
     我现在用68013和OV7640做视频设备的开发,因为OV7640是640 X 480 X2=614400/每帧,由于用到了某些协议的要求,我必须在每帧图象只前加上2个字节的数据头,因此我每帧图象的大小必须是614402个字节。而且不能多也不能少,这样我用USB的SLAVE FIFO模式EP6 BULK 512双缓冲,这样我一帧图象就是1200个512字节的包,余2个字节。

     我的连接是这样的PCLK接IFCLK
HREF接SLWR
VSYNC直接给PKTEND(PKTEND通过寄存器FIFOPINPLLAR设置成了高有效)
然后SLCS、SLOE、SLRD都悬空(我觉得都没有用到 所以可以不用接,这样图象数据是可以传输,但不知道是否存在什么不稳定的因素)

为了做个测试,我现在CMOS图象数据中什么都没加,没加数据头。这样按我上面说的那种连接,每当我一个新的VSYNC信号到来的时候,就触发了1次PKTEND,强制包结束,如果说这个PKTEND管脚确实受控制的话,我每帧图象发送的数据就应该是614400个,就算你PKTEND到来,我这也正好是512的整数倍。(注意此时没加数据头)

但是发现了个非常奇怪的问题,我此时接受到的每帧数据却只有612000多个,而且大小不稳定。然后我又做了个实验,设置FIFOPINPLLAR为低有效,这样来说,起码数据总该有点变化吧,但是我接受到的数据还是612000多个。这2种方法,我都有试过让它允许和不允许提交0包,但是结果都一样的。


我现在有这样2种怀疑:
1.是不是我    CMOS是坏的,它一帧图象根本发不出614400个点,少发了2000多个?
2.是不是PKTEND管脚使用有什么技巧,只要我IFCFG[1:0]=11(SLAVE FIFO模式)下,我PKTEND管脚就被使能了(不会和PA6产生复用的问题),是不是还有什么其他需要注意的呢?还是说我要给的PKTEND信号之前要经过些什么类似于滤波的处理啊  什么的? 让它稳定点?

为什么会产生这样的现象?请使用过PKTEND管脚的高手指点一二,小弟感激不尽!!!!!!

十万火急!!!!!!!!!!在线等!!!!!!!!!!!!!!!!!!!!!!!!!!

谢谢!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-04-11 09:05
手动判断更慢
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-04-11 08:46
哦   我现在也用的是AUTOIN=1  但是差2000多个数据
所以想用AUTOIN=0; 然后通过判断EP6满了  然后INPKTEND=0x06;将数据传出去

因为多了个判断语句,不知道是不是会保证数据的准确性,满了以后我才提交。我现在用自动传掉数据
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-04-10 10:08
我用的是autoin, autoin怎么还会操作inpktend?
自动提交啊,主机一直读就行了
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-04-10 09:25
那问题是  我现在连1帧的数据都接不完整啊  总是差2000多个  那也显示不对啊
jing大哥   想请问你下  你用的是bulk传输 还是iso传输啊?

应该是bulk吧   我记得   我看了你的那个帖子 看了很多遍了  想问下 你使用的是不是autoin=1的模式啊?
还是使用的判断端点是否满了,然后再inpktend=0x06;这样提交的啊?
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
5楼#
发布于:2007-04-10 08:47
操作位图很容易了,你可以参考何斌或周长发的书籍(关于数字图像处理的)
mcu_boy
whutxzf
驱动牛犊
驱动牛犊
  • 注册日期2007-03-12
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分330分
  • 威望34点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-04-09 20:05
用的什么写bmp的文件头
cherishx
驱动牛犊
驱动牛犊
  • 注册日期2005-10-25
  • 最后登录2007-10-31
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望3点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-04-09 19:21
恩,楼上说的有道理
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-04-09 13:13
我的是自己写的上位机软件,把图像数据读回来,然后写上bmp的文件头就可以显示出来了
如果你想认成默认的视频设备,那我就不知道了,YUV,RGB之类的似乎不在驱动里设置吧
如果数据格式不对你可以在应用程序里转换一下再显示。
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-04-09 10:09
jing大侠在吗?
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-04-06 14:46
这个改动的难度大吗?

计算把这个USB设备认成视频设备吗?还是USB DEVELOPMENT BOARD?

你传输的格式是YUV还是RGB啊?  这些都需要在驱动里面规定吗?  这些规定的东西 需要自己写代码  还是在你说的这2个驱动的基础做一些小的改动就可以解决了?

谢谢~  请说得详细点好吗?   感激万分!!
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
11楼#
发布于:2007-04-06 11:28
请问jing大虾,你的图像显示是自己编的吗?
mcu_boy
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-04-06 11:09
我有两个,一个是ezusb改的,开发工具用的是ds设置一个开发环境
然后启动VC编写编译
一个是bulkusb改的,都是用现成的例子该得
没有用ds或者winddriver自动生成
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-04-06 08:32
BULKUSB是什么?  是cy68013自己带的那个驱动改过来的吗?

WDM是一种驱动类型啊 ,你的开发工具使用的是什么啊?

能稍微说得详细点吗?  谢谢~~ ~拉~~~
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-04-05 11:25
我用的WDM的,用BULKUSB改的
还算好用
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2007-04-04 19:46
请问下你的驱动是不是用Numega的SoftIce开发的啊?

是不是用minidriver开发的啊?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-04-04 16:25
我用的24M,PKTEND在采集过程中不要有动作
一旦有动作传输就结束了
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
17楼#
发布于:2007-04-04 12:43
只有请大虾出山拉!!
mcu_boy
bennydice
驱动牛犊
驱动牛犊
  • 注册日期2006-09-20
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望48点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-04-04 10:02
OV7640  的晶振  最小可以选用10M , 最大27M ,典型值24M  


我该选用多少的啊?  jinghuiren  大哥在不在啊?

你的7141晶振用的多大的啊?
wjt810907
驱动中牛
驱动中牛
  • 注册日期2004-08-18
  • 最后登录2011-04-16
  • 粉丝0
  • 关注0
  • 积分86分
  • 威望409点
  • 贡献值1点
  • 好评度402点
  • 原创分2分
  • 专家分0分
19楼#
发布于:2007-04-04 08:42
做好了没有?帮忙顶一下
mcu_boy
上一页
游客

返回顶部