USB 断开检测

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

文章目录

USB 断开检测

USB 主机和 USB 设备同样需要具有检测断开的能力。

  • USB 主机如果不能检测到 USB 设备的移除将会导致其可用资源越来越少比如可分配的 USB 设备地址可分配的电源资源以及可用的总线带宽等。

  • USB 设备特别是自供电 USB 设备如果不能检测其与 USB 主机的断开同样也有可能引发一些问题如再次连接时可能不能正常工作等。

带 Vbus 检测功能的 USB 设备断开

在这里插入图片描述

不带 Vbus 检测功能的 USB 设备断开

在这里插入图片描述

USB 设备端断开的检测

与 USB 设备连接检测相同设备端也是通过对 Vbus 的检测来实现断开的检测的。

对于只使用 USB 总线供电的 USB 设备当该设备从 USB 主机中移除时设备就会处于端点状态且无法继续工作。在这种情况下讨论断开检测是毫无意义的。后续的讨论都是建立在当设备从 USB 主机移除后设备还能继续工作的前提下。

对于不支持 Vbus 检测的 USB 设备与连接检测相同可以通过断开时 D+ 和 D- 信号变化所产生的中断再辅以实时 D+ 和 D- 信号的状态来进行检测。

对于支持 Vbus 检测的 USB 设备一旦检测到 Vbus 上电压低于 Vbsvld(4.01V)时即可认为该设备已经从 USB 主机上断开。此时USB 设备端需要移除 D+ 和 D- 上的上拉电阻来确保下次连接检测的初始状态是正确的。

  • 对于低速设备移除 D- 上的上拉电阻。
  • 对于全速设备移除D+ 上的上拉电阻
  • 对于高速设备由于在高速模式下其上拉电阻已被移除所以不需要再移除上拉电阻。

USB 主机端断开的检测

低速/全速设备

USB 设备从 USB 主机移除后USB 主机端的 D+ 和 D- 由于主机端的下拉 15KΩ电阻的存在将会变为 0V。USB2.0 协议规定当主机端 D+ 或 D- 的电压小于 0.8V并持续Tddis最小值为2us时间长度USB 主机就认为 USB 设备已经从 USB 主机的端口上断开。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

高速设备

当 USB 设备工作在高速模式时D+ 和 D- 上的信号输出电压如高速空闲状态电压high-speed idle level高速数字信号高电平电压high-speed data signaling high和全速设备是不一样的所以在检测高速 USB 设备断开时D+ 和 D- 的检测标准和全速设备是不一样的。

USB2.0 协议规定对于连接高速设备的高速主机当 D+ 和 D- 的差分信号电平差不小于 625mV 时高速主机的断开检测模块就必须认为 USB 设备已经断开

当 D+ 和 D- 的差分信号电平差不大于 525mV 时高速主机的断开检测模块一定不能认为 USB 设备已经断开。

USB 主机会检测每个高速帧开始SOF的包结束信号当包结束电压大于检测电压就表示有设备断开。需要说明的是实际应用中高速设备的断开检测电压可能在 525-625mV 之间并且不同的主机断开检测电压可能不同。

由于高速主机是通过检测帧开始的包结束来判断设备是否断开而帧开始的时间间隔是 125us所以当设备被断开后最多在 125us 之内主机就可以检测到设备已经断开。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6