USB轮询机制

为什么USB使用轮询机制而不是中断来检测设备?

我已经在Stack Overflow上看到了这个事件

>同步(即你知道什么时候在一个小窗口内)
>不紧急(即缓慢的轮询间隔没有不良影响),和
>频繁(即您的大多数投票周期创造’命中’)

然后我们可以使用民意调查.但是在USB的情况下,设备检测不常见,因此中断机制会更好.

谢谢你的回复,

查希尔

USB设备无法以与其他硬件中断相同的方式“中断”其主机控制器. USB确实支持中断传输方法,但实际上这是通过轮询 1来实现的,并且可以实现的延迟大约是1 ms,但最终受到主机性能的限制.

您询问

Why does USB polling mechanism instead of interrupt to detect the device?

嗯,一个原因是USB协议根本不支持通常硬件意义上的中断,最有可能使协议更简单.例如,如果设备想要解释正在进行的传输,则必须通过破坏现有传输或者必须将额外信号线添加到整个系统来以某种方式发出信号.对于大多数类型的设备,快速轮询硬件中的总线足够快.

请注意,检测新设备会使建议轮询的所有三个点都失败.实际上,我们永远不知道何时期望新的USB设备出现在总线上(#1),它很少发生(#3),并且在设备未激活时立即检测到它不是优先级(#2).为什么浪费时间和精力检查不太可能发生的事件?

相关文章
相关标签/搜索