USB系统组成
USB标准中将USB系统描述为三个部分:USB主设、USB从设、设备间联通。
一个USB主设需要根据协议对数据的传输增加相应的协议信息以及协议的解析(Protocol Engine);需要对传输的数据进行串行化及解串行化(SIE-Serial Interface Engine);需要对数据传输的差错进行检测、处理(ErrorHandling)等:
而软件层上需要对USB主设进行控制,读取信息等工作(Host Controler Driver);同时需要有一部分软件对连接到USB主设上的从设备进行管理、控制(USB Device Driver);由于对特定从设备的管理、控制的数据最终还是需要经过USB主设实际发送,因此在HCD和UDD之间有一个中间层(Host Core Driver)。
USB从设也需要一个协议引擎来按照USB协议标准发送、接收信号;另外USB从设有许多可寻址的FIFO缓冲区,USB主设具体上就是和这些FIFO进行数据交互。同样,在软件架构上,USB从设也有和USB从控制器交互的Device Controler Driver以及和从设上的具体设备进行交互的USBGadget Driver,中间层则是Device Core Driver。
在USB系统中除了以上介绍的USB主设和USB从设外,还有一个设备可以对USB端口进行有效的扩展和管理—USBHub。USB Hub实际上在USB系统中是一个特殊的USB从设备,它有着特定的设备描述符以及相关组件来完成它在USB系统中的功能。
USB Hub一般会有多个端口用来和其他USB从设备进行连接(USBDownstream)以及一个和USB主设备连接的端口(USB Upstream);USB Hub作为一个从设备的身份也需要和USB主设备进行数据交互(Hub Controler);而USB Hub作为连接USB主设备和USB从设备的中间设备,需要对上行端口和下行端口的数据传输进行管理(Hub Repeater);另外,对于连接到Hub