首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >USB 3.0的最小延迟是多少

USB 3.0的最小延迟是多少
EN

Stack Overflow用户
提问于 2012-12-12 08:48:54
回答 4查看 38K关注 0票数 31

首先,我对USB了解不多,所以如果我的问题是错的,请提前道歉。

在USB2.0中,轮询间隔为0.125ms,因此主机从设备读取某些数据的最佳延迟为0.125ms。我希望减少USB3.0设备的延迟,但我发现很难了解最小延迟是多少。USB3.0规范说,“USB2.0风格的轮询已经被异步通知所取代”,这意味着0.125ms的轮询间隔可能不再是一个限制。

我发现了一些USB3.0固态硬盘的基准测试,看起来数据可以在略低于0.125ms的时间内从设备中读取,这包括在主机操作系统和设备的闪存控制器中花费的所有时间。

http://www.guru3d.com/articles_pages/ocz_enyo_usb_3_portable_ssd_review,8.html

谁能告诉我最低可能的延迟是多少?理论上的答案是好的。一个包括各种版本的Linux和Windows USB堆栈的实际限制的答案将是非常棒的。

为了避免“告诉我你想实现什么”的问题,我正在为我公司设计的ASIC创建一个调试接口。ie一台PC通过调试加密狗连接到我们的ASIC之一。一种可能的用例是当ASIC硬件仅实现简单断点时实现条件断点。为此,我需要确定何时命中简单断点,评估条件,如果为false,则设置处理器再次运行。在条件为真之前,简单的断点可能会被命中数百万次。我们可以在FPGA或支持USB3.0的现成微控制器上实现调试加密狗。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-14 05:43:48

回答我自己的问题。

我开始意识到这个问题有点忽略了USB3.0的要点。与2.0不同,它不是一个共享总线系统。相反,它在主机和每个设备之间使用点对点链路(我过于简化了,但要点是正确的)。在USB2.0中,125us的轮询间隔对于总线如何在设备之间进行时分多路复用至关重要。但是,由于3.0使用点对点链路,因此不需要进行多路复用,因此轮询间隔不再存在。因此,数据包传输的延迟比使用USB 2.0时要短得多。

在我使用Cypress FX-3开发套件的实验中,我发现从Windows应用程序到设备的平均往返行程很容易,平均延迟为30 us。我怀疑大部分时间都花在了各种操作系统延迟上,例如用户空间到内核空间模式的切换和驱动程序中的DPC延迟。

票数 23
EN

Stack Overflow用户

发布于 2013-01-13 03:14:26

我给你准备了几个资源,其中一个是我刚刚下载的完整的USB3 specs ... several pdfs zipped up,下面是58,59页的简短摘录(USB 3_r1.0_06_06_2011.pdf):

USB2.0以固定的1ms/125μs间隔传输SOF/uSOF。设备驱动程序可以根据主机和系统软件的实现,通过小的有限调整来改变间隔。USB3.0为设备增加了发送总线间隔调整消息的机制,主机使用该消息将其125μ的总线间隔调整到+/-13.333μs。

此外,主机可以在来自总线间隔边界的宽松定时窗口内发送同步时间戳包(ITP)。

Here是另一个看起来很有趣的资源,它处理延迟的计算。

您在操作系统延迟问题上提出了一个很好的观点,特别是在非实时操作系统中。

我建议你也去SuperUser上看看,也许有人有不同的想法。干杯

票数 7
EN

Stack Overflow用户

发布于 2020-01-15 16:59:55

我对标有记号的答案提出异议。

在Windows上,无法通过USB实现所述的往返延迟。SuperSpeed (3.0)或不是。文档说明:

代码语言:javascript
复制
The number of isochronous packets must be a multiple of the number of packets per frame.

https://docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/transfer-data-to-isochronous-endpoints

每帧的数据包由bInterval给出,并且还确定轮询间隔。例如,如果您想实现每microframe (125usec)传输一次,您将需要为每个URB (USB请求块)提交8个传输,这意味着调度服务间隔为1ms

其他任何东西都需要你自己的内核模式驱动程序,或者是不符合规范的。

在RT Linux上,我可以确认2*125usec +一些开销的往返。

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

https://stackoverflow.com/questions/13831008

复制
相关文章

相似问题

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