USB|如何识别USB低速和USB全速设备( 二 )


4.1识别低速和全速设备
主机的D+和D-都接有15K下拉电阻;全速USB设备的数据线D+接有1.5K的上拉电阻 , 一旦接入主机 , 主机的D+被拉高;低速USB设备的数据线D-接有1.5K的上拉电阻 , 一旦接入主机 , 主机的D-会被拉高 。 因此 , 主机就可以根据检测到自己的D+为高还是D-为高 , 从而判断接入的设备是一个全速还是低速设备 。 硬件结构图如下:

图:有USB低速设备接入

图:有USB全速设备接入
4.2识别高速设备
刚开始时 , 高速设备以全速模式连接到主机 , D+有上拉电阻 。
主机检测到全速设备连接上之后 , 对设备进行复位 , USB设备收到复位信号 , 主动发起高速模式的握手协议进行速度识别 。 接下来 , 就取决于主机端了 , 如果主机的USB控制器支持高速模式传输 , 则主机会与该高速设备交互完成高速模式握手协议 , 之后 , 两者都工作在高速模式下;如果主机不支持高速模式传输(如果主机上没有EHCI类型的控制器 , 像比较老旧的电脑 , 并且是XP系统的) , 那么握手协议就会失败 , 设备端也不会切换到高速模式 , 之后两者都工作在全速模式下 。
如果是一个全速设备接到高速主机 , 设备端没法发起高速握手协议 , 所以 , 最终设备和主机都会工作在全速模式下 。 主机具有多种控制器类型 , 能工作在全速/高速模式下 。
全速和高速控制器 , 都是DP上拉 , 低速才是DM上拉(配置寄存器的时候 , 需要注意的地方) 。
【USB|如何识别USB低速和USB全速设备】声明:本文转载自网络 , 如涉及作品内容、版权和其它问题 , 请于联系工作人员 , 我们将在第一时间和您对接删除处理!