问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

USB2.0之架构简述

创作时间:
作者:
@小白创作中心

USB2.0之架构简述

引用
CSDN
1.
https://m.blog.csdn.net/qq_31747233/article/details/142998866

USB(Universal Serial Bus)是一种广泛使用的串行总线标准,用于连接计算机和其他设备。USB 2.0作为USB标准的重要版本,其架构设计精良,能够支持多种设备类型和数据传输需求。本文将详细介绍USB 2.0的架构组成和技术特点。

总线拓扑

USB总线采用分层星型拓扑结构,一个USB系统只能有一个主机(Host)。由于时间限制,USB系统最多可以拓展到7层,其中的集线器(Hub)最多只能级联5层(不包括根集线器)。含有Hub的复合设备不能接到第7层。一个USB系统最多支持127个设备。

物理接口

USB线缆包含4根线:2根电源线和2根数据线。电源电压为5V,可以为设备提供电源,设备本身也可以单独安排电源供电。数据线传输的是差分信号,按速率分为3种:

  • 480Mb/s的高速(High-Speed)
  • 12 Mb/s的全速(Full-Speed)
  • 1.5 Mb/s的低速(Low-Speed)

健壮性

USB采用多种机制确保数据传输的可靠性:

  • USB线上采用差分信号传输数据
  • 采用CRC校验数据
  • 数据错误重发机制:当数据接收方发现接收到的数据出错时,会要求发送方重新发送数据,一包数据最大可发送3次,超过三次,发送方就会将错误报告给上层软件处理。

总线协议

USB是轮询总线,所有数据传输都由主机启动。大多数总线事务涉及最多三个数据包的传输:

  1. 主机先发送一个数据包给设备,这个数据包包含数据类型、数据方向、设备地址等信息
  2. 接收到该数据包的设备根据数据包的内容做出相应处理——接收下一包数据或者向主机发送一包数据
  3. 接收到数据的主机或者设备向数据发送方发送一包数据,表示数据接收的情况

端点(Endpoint)是USB设备上的数据处理单位。主机发送过来的数据,由端点接收,设备要发送给主机数据,也由端点发送。端点0比较特殊,支持双向,既可以接收,也可以发送,其它端点只能有一个方向。

主机与设备端点之间的数据传输可以看作是管道(Pipe)模型,这是逻辑上的管道概念,设备上有多个端点,每个端点只能处理规定的数据类型,那么主机就要明确数据是发给哪个端点的,如此主机和每一个端点就有了独立的捆绑关系,在逻辑上类似于在两者之间架设了直连管道传输数据。管道分为流管道(Stream Pipes)和信息管道(Message Pipes)。信息管道的数据有规定的格式含义,而流管道没有。

数据流类型

一条管道只能支持一种类型的数据传输,也就是说一个端点只能接受一种类型的数据传输。USB将数据传输类型分为四种:

  • 控制传输(Control Transfers):用于设备连接时的配置处理以及其它管道控制等目的。每个USB设备接入都会使用到该类型传输。
  • 批量传输(Bulk Data Transfers):用于大量数据的传输,延迟没有保证。例如打印机、扫描仪都会使用到该类型传输。
  • 中断传输(Interrupt Data Transfers):有时间保证的可靠传输。会有延迟,但时间是控制在一定阈值之下的。例如鼠标的使用就涉及到这种类型的数据传输。
  • 同步传输(Isochronous Data Transfers):实时传输,数据正确性不保证。一个典型例子就是USB音频设备。

USB将带宽分配给管道,如果设备要求更多的带宽,那设备就需要有更大的空间以便承载数据。

设备特点

每一个设备都有端点0,设备的信息都是通过端口0发送给主机的。设备信息可以分为三类:

  • 标准信息:这是所有USB设备都有的一类信息,包括厂商标识、设备类别、电源管理能力、各级描述符。
  • 类信息:这个跟标准信息中的设备类别信息相关。
  • 厂商信息:USB厂商自定义的内容。

设备主要分为两类:集线类(Hubs)和功能类(Functions),Hub扩展接口数量,Function提供具体功能。

主机硬件和软件

主机是通过主机控制器(Host Controller)和设备通信的,主要做以下几方面的工作:

  1. 检测设备的插入和移除
  2. 管理主机和设备之间的控制流
  3. 管理主机和设备之间的数据流
  4. 收集状态和活动统计
  5. 设备供电

系统软件和设备软件的互动有以下几方面:

  1. 设备枚举和配置
  2. 同步数据传输
  3. 异步数据传输
  4. 电源管理
  5. 设备和总线管理信息

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号