完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
从EZ-USB FX3 SDK 1.3固件 BooToFFGPIFTUSOB的例子接近我的应用需求-连续采样GPIF数据,并将其传输到PC。但在测试过程中,我正在经历从GPIF接口收集的缺失数据。 测试是在FX3超高速探索者工具箱上进行的。GPIF接口的数据是由FPGA连接到KIT的。这是一个简单的14位计数器在38兆赫时钟。 示例中的DMA被设置为自动模式(MualalSoDMA定义禁用)。 为了最小化我这边的错误,为了收集数据,我使用USB控制中心实用程序-传输文件的功能。要传输的字节设置为2MB,结果在文件中。 但是每个16KB(0x4000)都有缺失的数据。 就像下一张照片: 在这种情况下,大约有26个丢失的FPGA时钟。有时它会导致超过400的FPGA时钟丢失。 由于USB 3连接,我期待连续的数据流。 通过设置CLKDIV=8来减缓GPIF接口是没有帮助的。 有什么暗示我忽略了什么,或者如何改进它? 最好的问候, 斯拉沃米尔 以上来自于百度翻译 以下为原文 Hello, example from EZ-USB FX3 SDK1.3firmwareboot_fwgpiftou*** fit close to my application demands - continuously sample GPIF data, and transfer it to PC. But during tests, i am experiencing missing data collected from GPIF interface. Tests was performed on FX3 Superspeed Explorer kit. Data for GPIF interface are produced by FPGA connected to kit. It's a simple 14 bit counter at 38MHz clock. DMA in the example is set to AUTO mode (MANUAL_DMA definition disabled). To minimize errors on my side, for data collecting i use USB control center utility - transfer file-in function. Bytes to transfer is set to 2MB, and result is in the file. But each 16kB (0x4000) there are missing data. Like in the next picture: In this case it's approximately 26 missing FPGA clocks. Sometimes it rise to more than 400 missing FPGA clocks. Because of USB 3.0 connection i am expecting continuous data flow. Slowing down GPIF interface by setting clkDiv=8 doesn't help. Any hint what am i overlook, or how can improve it? Best regards, Slavomir |
|
相关推荐
2个回答
|
|
你好,
GPIFTUSOB示例主要用于测试最大吞吐量。为了进行可靠的数据传输,这个例子不能这样使用。 正如您可能知道的,来自GPIF的数据由FX3接收并存储在其DMA缓冲器中,然后将其发送到USB。 假设您的示例具有4个DMA缓冲区,每个大小为16K字节。一旦数据传输开始,来自GPIF的字节开始填充第一缓冲器。一旦第一个缓冲区被填充,FX3的DMA引擎就需要一些有限的时间(很少的US)使第二个缓冲区就绪。在此期间,来自GPIF的数据将丢失。 因此,您报告丢失的字节可能会到达这个缓冲区切换时间。 因此,我们建议在FPGA和GPIF之间以旗子的形式进行握手。详情请参阅以下申请须知。(特别参阅标志A和标志B部分)。AppNoSE还附带示例项目。 AN6974-用EZ-USB®FX3从FIFO接口设计CyPress半导体 当做, - Madhu Sudhan 以上来自于百度翻译 以下为原文 Hi, The GpifToU*** example is mainly used for testing the maximum throughput. For doing reliable data transfers, this example cannot be used as such. As you may be aware the data from the GPIF is received by FX3 and stored in its DMA Buffers before sending it to the USB. Assume that your example has 4 DMA Buffers, each of size 16K Bytes. Once the data transfer starts, the bytes from GPIF Start filling the 1st Buffer. Once the 1st buffer is filled, FX3's DMA engine takes some finite time (few uS) to make the second buffer ready. In that meantime the data coming from the GPIF will be lost. So the bytes you have reported to be lost may would have arrived in this buffer switching time. So we recommend to have a handshake between the FPGA and GPIF in the form of flags. Please refer to the below application note for more details. (Refer to Flag A and Flag B parts especially). The AppNote also comes with example project. AN65974 - Designing with the EZ-USB® FX3™ Slave FIFO Interface | Cypress Semiconductor Regards, -Madhu Sudhan |
|
|
|
你好, 我认为,在缓冲区之间切换所需的时间是问题所在。这些芯片是为了无缝地切换缓冲器而设计的,所以如果需要握手的话,使用这些芯片是没有意义的。 事实上,减慢数据率是无济于事的,这证明了这一点。 我有一个类似的数据丢失问题之前,转让通过,下一个是: CY7C68013流光输入传输ISOC丢失数据 你已经解决了这个问题了吗? 你可以把其他答案标记为正确答案,这样也许有人来看看问题。在这个问题上有“回答”标签可以帮助潜在的帮助者离开。 当做, 弗兰克 以上来自于百度翻译 以下为原文 Hi, I don't think that the time needed to switch between buffers is the problem. These chips are designed for seamlessly switching the buffers around, so it would make no sense to use these chips at all if you need handshake anyways. The fact that slowing down the data rate does not help, kind of proves this. I have a similar data loss issue right before the transfer is through and the next one is started: Cy7C68013 Streamer input transfer ISOC loses data Have you been able to solve the problem, yet? You can unmark the other answer from being the correct answer so that maybe someone else is coming and looking at the problem. Having the "answered" tag on the question keeps potential helpers away. Regards, Frank |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2113 浏览 1 评论
1858 浏览 1 评论
3673 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1793 浏览 6 评论
1540 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
580浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
432浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
444浏览 2评论
392浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
996浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 04:30 , Processed in 0.804965 second(s), Total 47, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号