4
为什么USB使用轮询机制而不是中断来检测设备?阅读在这个论坛 ,如果事件是USB轮询机制
- 同步(即你知道什么时候期待它的小窗口内)
- 不紧急(即一个缓慢的轮询间隔有没有不良影响)
- 频繁(即大多数的轮询周期中创建一个“重灾区”)
然后我们可以使用轮询,但在USB的情况下,它是不那么频繁中断机制可以 得到更好的利用。
感谢您的回复, 查希尔
为什么USB使用轮询机制而不是中断来检测设备?阅读在这个论坛 ,如果事件是USB轮询机制
然后我们可以使用轮询,但在USB的情况下,它是不那么频繁中断机制可以 得到更好的利用。
感谢您的回复, 查希尔
有没有办法在同一方式与其他硬件中断USB设备“中断”的主控制器。 USB确实支持中断传输方法,但实际上通过轮询1来实现,而且可以实现的延迟大约为1毫秒,但最终受主机性能的限制。
你问
为什么USB轮询机制,而不是中断检测设备?
嗯,其中一个原因是USB协议在通常的硬件意义上根本不支持中断,最有可能使协议更简单。例如,如果某个设备想要解释正在进行的传输,则必须以某种方式发出信号,或者通过破坏现有的传输,或者必须将额外的信号线添加到整个系统中。用硬件快速轮询总线对于大多数类型的设备来说足够快。
请注意,检测新设备时,建议进行轮询的所有三点都会失败。事实上,我们永远不知道何时会期望在总线上出现一个新的USB设备(#1),它很少发生(#3),并且在设备不活跃时,立即检测它并不是优先事项(#2)。为什么要浪费时间和精力检查不太可能发生的事件?
你将不得不指定你的平台。例如,在STM32器件上,来自主机的轮询请求在中断中处理。 – leppie 2011-01-27 06:28:14