完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我有一个系统,其中用户模式应用程序通过驱动程序将数据发送到FX3,然后通过GPIF2总线将数据发送到FPGA。FPGA可以缓冲数据,但它正好消耗100Mb/s。FPGA能够在需要时从FX3中取出数据,但是我不确定如何/何时将数据发送到FX3。 在司机发送太多数据的情况下,FPGA缓冲器会被填满,FX3的缓冲器也会被填满。如果驾驶员试图发送更多的大容量,在那一点会发生什么?如果FX3的缓冲区中没有剩余空间,有什么办法可以使散装输出不被发送吗? 以上来自于百度翻译 以下为原文 Hello, I have a system where a user mode application sends data through a driver to the FX3, which then sends data to an FPGA via the GPIF2 bus. The FPGA can buffer data but it consumes exactly 100MB/s. The FPGA is capable of pulling data out of the FX3 when it needs it, however I'm uncertain how/when I should send data to the FX3. In case the driver sends too much data, the FPGA buffers will get filled up, then so will the FX3's buffers. What happens at that point if the driver attempts to send any more BULK OUTs? Is there anything that can be done to make BULK OUTs not be transmitted if there is no room left in the FX3's buffers? |
|
相关推荐
2个回答
|
|
你好,
如果FX3端点缓冲器完全填充了数据,那么如果主机发送更多数据,端点用NACK进行响应。主机用相同的数据重试出事务。每当GPIF II读取端点缓冲区中的数据时,该数据将被端点接受。 除非主机应用程序或设备驱动程序通过超时取消传输,否则NACK进程将永远持续下去。 谢谢, Sai Krishna。 以上来自于百度翻译 以下为原文 Hi, If FX3 endpoint buffers are completely filled with data and then if host sends some more data, endpoint responds with a NAK. Host retries the OUT transaction with the same data. This data will be accepted by endpoint whenever the data in endpoint buffer is read by the GPIF II. This NAKing process continues forever unless the host application or device driver cancel the transfer by timeout. Thanks, Sai Krishna. |
|
|
|
这不是我看到的行为。它看起来几乎好像没有背压来自设备,除非它变得不响应。如果FX3有50个缓冲器,并且我尝试发送足够的OUTURBS来填充70个缓冲器,则前50个缓冲器每次发送8个,并立即被攻击。在FX3缓冲区被填充之后,Linux停止调用我的写回调处理程序(意味着它可能不会从设备接收任何ACK或NAK),即使在FX3缓冲区被GPIF接口消耗掉之后。
当FX3从50个缓冲区中满50个到50个满49个时,不应该被FX3通知吗? 如果这个过程不是自动的,我怎么才能在FX3上启用它呢? 以上来自于百度翻译 以下为原文 This is not the behavior I'm seeing. It appears almost as if there is no back pressure from the device except for it becoming non-responsive. If the FX3 has 50 buffers, and I try to send enough OUT URBs to fill up 70 buffers the first 50 buffers are sent 8 at a time and are ACKed immediately. After the FX3 buffers are filled Linux stops calling my write callback handler (meaning it might not be receiving any ACK or NAK from the device) even after the FX3 buffers are being consumed by the GPIF interface. Shouldn't Linux be notified by the FX3 when the FX3 goes from haveing 50 out of 50 buffers full to only 49 out of 50 being full? If this process isn't automatic how do I enable it on the FX3? |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2070 浏览 1 评论
1826 浏览 1 评论
3639 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1761 浏览 6 评论
1513 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
510浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
360浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:08 , Processed in 0.959815 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号