在USB设备连接时,USB系统能自动检测到这个连接,并识别出其采用的数据传输速率。USB采用在D+或D-线上增加上拉电阻的方法来识别低速和全速设备。
USB支持3种类型的传输速率:1.5Mb/s的低速传输、12Mb/s的全速传输和480Mb/s的高速传输。
当主控制器或集线器的下行端口上没有USB设备连接时,其D+和D-线上的下拉电阻使得这两条数据线的电压都接近低电平(0V);当低速/全速设备连接以后,电流流过由集线器的下拉电阻和设备在D+/D-的上拉电阻构成分压器。由于下拉电阻的阻值是15kΩ,上拉电阻的阻值是1.5kΩ,所以在D+/D-线上会出现大小为(Vcc*15/(15+1.5))的直流高电平电压。如图所示,用实线所画电阻连接为低速设备连接,而虚线所画电阻为全速设备连接。当USB主机探测到D+/D-线的电压已经接近高电平,而其他的线保持接地时,它就知道全速/低速设备已经连接了。
高速设备在连接起始时,需要以全速速率与主机进行通信,以完成其配置操作。这时需要在D+线上连接1.5kΩ的上拉电阻。当高速设备正常工作时,如果采用高速传输,则D+线不可上拉;但如果仍采用全速传输,则在D+线上必须使用上拉电阻。因此,为识别出高速设备,需要在上拉电阻与D+线之间连接一个由软件控制的开关,它通常被集成在USB设备接口芯片的内部。
(全速上拉接D+,低速上拉接D-,高速上拉需控制)