USB logic block diagram
usbn9603
an2131qc:
usb hub block diagram
这里需要注意的有三点:
1. 是端口和端点的区别,端口(port)是一个usb设备接口端点(endpoint)是从设备控制芯片上的寄存器。
2. 主设备和从设备的区别,只有主设备才有host control 和hub ,对于从设备是不存在这两组寄存器。
3. USB几个设备描述符之间关联。一个USB设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配置描述符;而在配置描述符中又定义了该配置里面有多少个接口,每个接口有对应的接口描述符;在接口描述符里面又定义了该接口有多少个端点,每个端点对应一个端点描述符;端点描述符定义了端点的大小,类型等等。USB的描述符之间的关系是一层一层的,最上一层是设备描述符,下面是配置描述符,再下面是接口描述符,再下面是端点描述符。
4. 为什么获取了三次描述符。在获取描述符时,先获取设备描述符,然后再获取配置描述符,根据配置描述符中的配置集合长度,一次将配置描述符、接口描述符、端点描述符一起一次读回。其中可能还会有获取设备序列号,厂商字符串,产品字符串等。