阅读:1999回复:17
FX2不够快吗?
各位仁兄:
480M的传输速度应该够快的了,可我从一个5M的CCD读取数据,还会出现ENDPOINT FULL标志,同时丢失相当一部分数据。这会是谁的错?HOST,FX2, OR MASTER? 请指教! |
|
沙发#
发布于:2002-06-26 10:54
HOST: 主机应用程序不是很好,我已经让它足够简练了,
没有多余的判断,数据也没有进行任何处理。 FX2: 固件有一个小问题,我用AUTOIN=1,按说固件不影响 数据传输,可我感到担心,因为数据传输时,固件还 在产生一个波形,用到了EZUSB_DELAY(500)。数据传 输可以和固件同时工作吗? MASTER: CCD一帧数据每一行结束是不是最好送一个PKEND? |
|
板凳#
发布于:2002-06-26 10:55
很正常,扩大缓冲吧。
|
|
地板#
发布于:2002-06-26 11:15
// 很正常,扩大缓冲吧。
---------------------------------- 想到过会是这样的问题,可从来没尝试过。 |
|
地下室#
发布于:2002-06-27 09:11
请问你说的5M是BYTE还是BIT?
还有,在没有增加缓冲的情况下,我试过用全速和高速两种模式去接收数据,寄存器设置保持不变,全速能接收400KBYTE/S而不掉数据,但高速的话,再慢哪怕不到200KBYTE/S都掉数据,而且都不知道掉多少,我都不知道什么原因。 |
|
5楼#
发布于:2002-06-27 09:30
HOST: 主机应用程序不是很好,我已经让它足够简练了, HOST部分相信是没有问题的。 MASTER:你指的是CCD一帧数据送信头信尾吗?建议一定加上,虽然这个对你的传送速度没有什么影响,但可以方便你别的地方的很多操作。 关于传送速度,一个是加大缓冲,另一方面检查一下固件部分。 |
|
6楼#
发布于:2002-06-27 09:36
请问你说的5M是BYTE还是BIT? 若他用的是线阵CCD,5M肯定是BIT,不太可能是byte. 比如CCD有3000像素,一个像素的信号是16bit,1秒采100帧,乘起来是4.8M BIT. |
|
7楼#
发布于:2002-06-27 09:52
我没有用USB做过类似的东西。
但是随便在市场上买一块没有隔离的DIO卡来读取这种CCD数据,读取的速度都能达到1M byte/s以上,怎么使用USB更差了呢?估计还是你自己没有做对吧? 谁能解释的更清楚一点呢? |
|
8楼#
发布于:2002-06-27 10:38
///////////////////////////////
多谢!!! 、、、、、、、、、、、、、、、、 我的CCD工作频率是5M,一帧是1024X1024象素,一个象素12位。 也就是一帧图象有2M字节数据。 在内存中扩大缓冲区,还不知如何去做。看了一些书也不知如何下手。 |
|
9楼#
发布于:2002-06-27 10:44
68013的GPIF有初始化问题.你可以到cypress上去看看.
如果不解决的话,速度始终提不高. |
|
|
10楼#
发布于:2002-06-27 12:27
takaya的建议可能是说到正点上了,我不太懂,你可以好好看看。
一秒钟采几帧? 做CCD数据接收我觉得比较典型的方法是: 1.CCD驱动、A/D电路等等部分 这部分的功能是处理CCD接收的信号,并把数据存到FIFO里 2.读取、送PC机 这部分可以用常见的DIO卡,或者通过Usb接口传到PC。 总体来说就是这两大部分,也可能这两部分是叠加的,但思路还是这样的。 |
|
11楼#
发布于:2002-06-28 09:17
我还没敢用GPIF呢,眼下用的是SLAVE FIFO模式。这个不存在初始化问吧?
/////////////////// 一秒可以采两帧图象。实际我只有在需要的时候读取一帧图象。CCD还有别的工作。 |
|
12楼#
发布于:2002-06-28 09:18
我们用68013做过一个数据采集的东东.
在68013的说明书上没有说GPIF需要初始化,当我们按它的例子使用的时候,发现即使我们把一个包设为512B,但也只能传送32B的数据.估计你们的瓶颈也在这个上面. 因为我在那个系统中不做GPIF部分,所以也不清楚倒底怎么解决的,但好像cypress公司的论坛里有解决方法. 解决了初始化问题后,我们的速度可以达到300Mbit/s,够快了吧. |
|
|
13楼#
发布于:2002-07-02 13:37
想到的方法都试了,还是FIFO满,数据有失!
|
|
14楼#
发布于:2002-07-02 22:09
我们用68013做过一个数据采集的东东. 厉害,我也搞一个试试 |
|
15楼#
发布于:2002-07-02 23:17
你换速度快些的机器试试,我们用它做的摄像头,一定要在P4上才能正常,且要INTEL的芯片的主板.
|
|
16楼#
发布于:2002-07-03 09:26
CPU,主板没有问题。
FX2中,FIFO是外接5M时钟;8051是48M;SIE应该是480M速度。 上面都不应该出问题。 现在感觉问题可能还是出在应用程序,和驱动上面。哪位仁兄可以告诉我应用程序和驱动怎么做才好? |
|
17楼#
发布于:2002-07-03 13:47
托大家福,原因找到了!
就是应用程序和驱动的问题。应用程序中inPacketSize越大,数据丢失越少。当inPacketSize = 1024*60 时,数据还能正常传输。但是当inPacketSize = 1024*64 时,出现in buffer failed。 我想如果不丢失数据, inPacketSize 就应该足够大,大概是1024*2048。现在的问题是在驱动程序中修改哪些值,才能使inPacketsize > = 1024*64. |
|