Wednesday, July 24, 2013

chapter4_Enumeration_part2

咱们今天接着谈enumeration.













看USB的标志和海王手中拿着的三叉戟是不是有异曲同工之妙,哈哈。
基本意思就是不管是圆的,方的,三角的,USB都可以连,所以叫universal serial bus 嘛。
这是题外话了。
During enumeration,总共有这么4个states: Powered, Default, Address, and Configured.
POWRED:
当把一个usb device插到usb接口上,比方说把你的手机插到你电脑USB口上,这个时候你手机开始充电,就是因为现在你的手机是device,然后电脑是host, host可以给你的手机供电。最开始的时候,最多最多可以提供100 mA电流。这就是powered state了。
DEFAULT:
device插上之后,这里要提一下,usb的信号线有两个D+,D-, 是differential signal.就是D+是高电瓶,D-是低电瓶的时候是logic 1. D+低电瓶  D-高电平时,是logic 0。 device插上去之前,device 端D+,D-有一个是高电平的, 但是host端两个都是低电平的。插上去之后,host端检测到有一个变高了,于是乎就知道有东西attached了。而且D+高,说明是full-speed或者high-speed device, D-高的话,就是low-speed device. 这三个speed的区别就是:
full-speed: 12 Mb/s
high-speed: 480 Mb/s
low-speed: 1.5 Mb/s
当然了还有USB3.0的super speed(5 Gb/s).这里不做讨论。
然后host等上个至少100 ms, 为的是等信号稳定。然后就发个信号给device让它重启一下,这个信号就是把D+,D-都拉低。这个reset的过程usb specification上建议是10-20 ms. 今天实际测了一下,那个usb device reset时,两个信号线被拉低了大概30ms.和spec上的有点点出入,但无伤大雅。重启完了,就进入了default state鸟。
又要睡觉了,明天再看。


No comments:

Post a Comment