阅读:2264回复:4
哪位大侠给我说说USB挂起的知识
USB在什么时候挂起?主机和USB外设的挂起有什么不同?挂起后应该怎么样才能 分别让主机和外设重新工作?
谢谢! |
|
沙发#
发布于:2004-03-01 10:47
当系统连续3ms检测不到主机的请求时,系统就会进入挂起状态; 通常我们说的挂起一般是指整个系统,当主机没有请求超过3ms时,USB外设自然就进入挂起状态,这时主机提供很小的电流,也可以理解为主机在和USB通信方面处于挂起状态,但主机可能还和其它非USB设备通信,就我个人理解,挂起是针对整个USB系统的;要想让主机和外设重新工作,加一个脉冲信号复位整个系统即可。
以上只是我个人的理解,有不正确的地方,还望大家批评、指正。 |
|
板凳#
发布于:2004-03-01 11:16
主机要求进入挂起状态或者当主机本身处于挂起状态,那么USB 线处于空闲模式,该模式中D+线为高而D-线为低,前提是设备已通过D+线的上拉电阻连接到总线。
此外当设备没有连接时如果D+线为高而D-线为低,设备也会进入空闲模式,这意味着USB 总线上没有活动,这种情况下PDIUSBD12 检测到连续3 次没有帧起始SOF 就将挂起脚置高,在中断寄存器中对应的挂起位也将置位。 |
|
地板#
发布于:2004-03-01 11:41
我对挂起也不是很清晰,d12的suspend_change中断是仅当设备变为挂起时触发,还是无论从工作->挂起还是挂起->工作都触发?
|
|
地下室#
发布于:2004-03-01 14:06
要想让主机和外设重新工作,加一个脉冲信号复位整个系统即可。
这个脉冲信号该怎么加?主机任意发起一个请求或者USB设备进行复位可以吗? 当系统连续3ms检测不到主机的请求时,系统就会进入挂起状态; 通常我们说的挂起一般是指整个系统,当主机没有请求超过3ms时,USB外设自然就进入挂起状态,这时主机提供很小的电流,也可以理解为主机在和USB通信方面处于挂起状态,但主机可能还和其它非USB设备通信,就我个人理解,挂起是针对整个USB系统的;要想让主机和外设重新工作,加一个脉冲信号复位整个系统即可。 |
|