USB基础学习:USB体系结构介绍

停更好久,重新梳理一下usb 知识体系
1. usb 硬件框架
一个 usb 系统 由三部分来描述:
usb interconnect
usb devices
usb host
usb interconnect 是指usb 设备连接到主机并与主机通信的方式。这包括以下内容:
总线拓扑:usb device 和 host 之间的连接模型。
层间关系:
数据流模型:
usb 调度:
1.1. 总线拓扑
在usb 系统中有两个硬件的概念:
usb host:它跟处理器相连,处理器通过usb host跟各类usb设备通信。usb host中集成有一个root hub
usb device:这类设备又分为两类
hub:用来扩展usb接口
function:就是普通的usb设备,比如u盘、声卡等
usb 总线拓扑如下:
roothub:根hub(根集线器)
hub:集线器
func:功能设备
compound device:组合设备,包含一个hub 和 一个或多个func
usb 总线拓扑最上层一定是host, 最后一级只能是func, 因此hub 级联最多5级;
1.2. usb host
在任何usb 系统中只有一个主机,主机的每个usb控制器(host controller)对应一条usb总线。与主机计算机系统相连的usb接口被称为主机控制器。
主机控制器可以以硬件,固件或软件的组合来实现。
根集线器(root hub)集成在主机系统内以提供一个或多个连接点。
usb host通过 host controller 与 usb device 交互。
host主要负责:
检测usb 设备的拔插动作
管理host和device之间的控制流、数据流
收集usb 总线状态和活动数据信息
为连入usb总线的设备供电
1.3. usb device
usb device 分为 usb hub 和 usb function。
usb hub (集线器):
root hub:一般与主机控制器连接在一起,提供一个或者多个端口。
普通hub:用于扩展usb 的主机端口。
结构上由一个上行端口和多个下行端口组成。
支持级联:最多5级,不包含root hub。
支持速率转换:低速/全速设备,可连接在高速hub 上。
usb function 设备:
composite device:复合设备。一个设备地址,1个 或者 多个function 接口组成
compound device:组合设备。多个设备地址,一个hub 和 一个或者多个func 组成。
比如:键盘,鼠标,摄像头等。
1.4. usb 数据流
usb主机和usb设备之间的通信是通过管道(pipe)进行的。
在usb协议中,管道是一个逻辑概念,
在usb主机端实际上就是一组缓冲区,用于管道中数据的收发。
在usb设备端,管道对应一个特定的端点,每一个端点都是一个由索引和方向确定的,usb设备最多支持16个双向端点(8个in/8个out)。
usb设备地址、端点索引和端点方向的组合可以唯一确定usb主机和usb设备间的通信。
2. usb 软件框架
2.1. usb 数据流模型
usb 简化传输模型如下图所示,实际上要比这个复杂的多。主要包含以下部分:
usb 物理设备:usb电缆终端的一块硬件,执行一些有用的终端用户功能。
客户端软件:在主机上执行的软件,对应于一个usb设备。此客户端软件通常与操作系统一起提供,或与usb设备一起提供。
usb 系统软件:在一个特定的操作系统中支持usb的软件。usb系统软件通常与操作系统一起提供,独立于特定的usb设备或客户端软件。
usb host controller (host side bus interface):允许将usb设备连接到主机上的硬件和软件。
2.2. usb 软件模型
实际的通信数据流:usb host control 和 usb 总线接口。虚拟的通信方式:主机端客户端软件和 物理设备fucntion 直接通信。
usb host:
客户端软件
usb 系统软件:usb 驱动,host controller 驱动 和 host 软件
usb device:
usb物理设备为主机提供了额外的功能。usb设备提供的功能类型差别很大。但是,所有的usb逻辑设备都为主机提供相同的基本接口。这允许主机以相同的方式管理不同usb设备。
为了帮助主机识别和配置usb设备,每个设备都会携带和报告与配置相关的信息。所报告的一些信息在所有逻辑设备中都是常见的。其他信息是特定于该设备提供的功能的。此信息的详细类型根据设备的设备类别而有所不同。
详细软件模型
抽象为熟悉的软件模型
对于一个 usb 设备驱动,大多时候我们其实只需要关心function driver,不同的设备向上只有function 或者接口区分,对于底层而言都是一样的,最终通过sie (串行总线)和主机通信。
3. 总结
本文主要介绍了,usb 系统的体系结构。一个usb 系统包含核心的三部分:
usb interconnect:通过pipe 互联传输
usb host:usb 主机
usb device:usb 设备和集线器
并简要阐述其软件模型。


为什么放大器为高输入阻抗,低输出阻抗?
什么是编码器?编码器与S7-200 SMART PLC的接线
智慧电梯得到物联网加持简直如虎添翼
天嵌科技TQA40I开发板介绍
TD-SCDMA业务网络部署
USB基础学习:USB体系结构介绍
砥砺前行,创业钟情“大数据硅谷”!
AIDA64确认其基于GA102、GA106核心打造
爱驰U5 ION自主研发MAS方案
门驱动的欠压保护功能及其注意事项
MySQL远程连不上的问题怎么解决
半导体材料的演进情况
一颗极低功耗无时钟的物联网通用唤醒芯片
iphone12pro参数配置详情
奥迪首次配备数字化QLED技术,有望改善道路安全
深圳将推动建立VR产业园区或集聚区
使用RX66T输出具有指定相位差的互补PWM波
风暖型浴霸哪款好?松下54BD多功能浴霸让沐浴更享受
AG32VF103VCT6 PINtoPIN STMcu、GDMcu,引脚亦可转换位置灵活重新定义
微云全息推出全息脑机接口(BCI)数据采集系统