首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ftdi (vcp或d2xx)转发(从PC到ftdi设备)延迟

ftdi (vcp或d2xx)转发(从PC到ftdi设备)延迟
EN

Stack Overflow用户
提问于 2014-11-14 02:13:48
回答 2查看 1.6K关注 0票数 1

如FTDI网站上所述,要从FTDI设备接收字节到PC,由于此64字节USB数据包问题,可能会有延迟16ms (超时)+ 1ms (或更多,USB调度器时间)。

如果我理解正确的话,在从FTDI芯片(FTDI_232或FTDI_245)到PC的连续数据流(没有流量控制)方面,(为了避免16ms超时延迟),最好的办法是要求:

如果USB调度器每1ms可靠调度驱动程序,则每1ms 62字节;如果USB调度器每2ms可靠调度驱动程序,则每2ms调度驱动程序124字节;如果USB调度器每6ms可靠地调度驱动程序,则每6ms调度驱动程序372字节;

我的问题是,从PC向FTDI芯片发送字节的速度有多快?它肯定会受到这个USB调度器延迟的影响。但是,是否也存在一些64字节的数据包问题?

换句话说,能够连续地将数据从PC传输到FTDI芯片。我应该一次发送62个字节吗?

EN

回答 2

Stack Overflow用户

发布于 2015-11-14 13:13:33

我刚刚读了那篇文档,我的理解是FTDI设备计时器的作用是强制闪存,而不是对PC进行完全的缓冲。否则,如果您的外设每小时只发送几个字节,而没有事件字符或状态行更改,则必须等待一天才能填满64字节的设备缓冲区并获取PC端的数据。

它似乎只影响比FTDI设备缓冲区小的读取和写入数据包。如果您想以最大吞吐量流式传输到FTDI设备,请使用最大4K包,并不断推送数据。超时设置应该不起作用。

票数 0
EN

Stack Overflow用户

发布于 2016-06-09 18:56:36

16ms USB Bulk IN延迟实际上是将部分64字节块的数据从芯片刷新回PC。在他们的知识库中有关于changing this value的信息,例如,你可以将最小延迟定时器设置为1ms,这意味着在每隔1ms之后,芯片内部的任何数据都将被发送回PC。

延迟计时器仅影响从芯片到PC的数据;它不会影响相反方向的数据。

设备的最大吞吐量将受您为UART设置的波特率的影响。我会和他们谈谈理论上的限制是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26915672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档