USB interconnect 是指USB 设备连接到主机并与主机通信的方式。这包括以下内容:
1.1. 总线拓扑
在USB 系统中有两个硬件的概念:
(资料图片仅供参考)
USB 总线拓扑如下:
USB 总线拓扑最上层一定是host, 最后一级只能是func, 因此hub 级联最多5级;
1.2. USB host
Host主要负责:
1.3. USB device
USB device 分为 USB hub 和 USB Function。
USB hub (集线器):
USB function 设备:
比如:键盘,鼠标,摄像头等。
1.4. USB 数据流
USB主机和USB设备之间的通信是通过管道(Pipe)进行的。
在USB协议中,管道是一个逻辑概念,
2. USB 软件框架
2.1. USB 数据流模型
USB 简化传输模型如下图所示,实际上要比这个复杂的多。主要包含以下部分:
2.2. USB 软件模型
实际的通信数据流:usb host control 和 USB 总线接口。虚拟的通信方式:主机端客户端软件和 物理设备fucntion 直接通信。
USB host:
USB device:
USB物理设备为主机提供了额外的功能。USB设备提供的功能类型差别很大。但是,所有的USB逻辑设备都为主机提供相同的基本接口。这允许主机以相同的方式管理不同USB设备。
为了帮助主机识别和配置USB设备,每个设备都会携带和报告与配置相关的信息。所报告的一些信息在所有逻辑设备中都是常见的。其他信息是特定于该设备提供的功能的。此信息的详细类型根据设备的设备类别而有所不同。
详细软件模型
抽象为熟悉的软件模型
对于一个 usb 设备驱动,大多时候我们其实只需要关心function driver,不同的设备向上只有function 或者接口区分,对于底层而言都是一样的,最终通过SIE (串行总线)和主机通信。
3. 总结
本文主要介绍了,USB 系统的体系结构。一个USB 系统包含核心的三部分:
并简要阐述其软件模型。
参考文献:《usb_20.pdf》 chapter4/chapter5
关键词: