当然,我知道的这些也都是从文章或书籍中来的,毕竟USB不是我发明的.
USB插头有4条线,即电源,D-,D+,底线。mini-USB中还有一根线,及多了一条身份识别(ID)线。在USB1.1中,支持两种传输速度,即低速模式(1.5Mb/s),全速模式(12Mb/s),在USB2.0中除这两种传输模式外,还支持高速模式(480Mb/s)。这些速度模式其实和插头也是有关系.
在正常的4线USB中,Vbus为红色线,D-为白色线,D+为绿色线,GND为黑色线。
我们仔细观察一下USB的四线插头,可以看到里面的针脚边上的两根稍长一些,中间的两个稍短一下。USB之所以可以进行热插拔,秘密就在这里。这样就可以保证在设备插入到集线器时,电源线先接通,数据线后接通,而在USB设备拔出时,数据线先断开,而电源线后断开,这样就保证了USB芯片不至于被烧毁.
在USB集线器的每个下游端口的D+,D-上,分别接了一个15k的下了电阻到地,这样,但集线器的端口悬空的时候(即没有USB设备插入),D+,D-就被两个下拉电阻拉到了低电平。而在USB设备端,在D+或者D-上接了一个1.5k的上拉电阻到3.3V电源,注意D+,D-只可能有一个接1.5k的上拉电阻,究竟是要在D+上接上拉电阻还是D-上接上拉电阻,取决于设备的速度.对于全速设备和高速设备而言,上拉电阻将接在D+上,而低速设备的上拉电阻这接在D-上。
当设备插入到集线器时,接了上拉电阻的那条数据线的电压由1.5k的上了电阻和15k的下了电阻分压决定,结果大概是3V左右。这对于集线器来说是个高电平。集线器的设备端在未接设备时,上面讲到D+,D-都是低电平。如果集线器忽然发现其中有一根线变成了高电平,则就检测到有设备插入了.当然,如果发现是D+变成了高电平,则知道设备是高速设备或者全速设备,而如果发现是D-变成了高电平,则知道设备是个低速的设备.
看看,USB的发明者的确是很聪明啊!