USB概述

USB概述

读《圈圈教你玩USB 第二版》,笔记。

USB

USB——Universal Serial Bus 通用串行总线

出现目的:简化个人计算机与外围设备连接,支持热插拔。

特点

协议 速度
USB1.0 1.5Mb/s低速 / 12Mb/s全速
USB1.0 1.5Mb/s低速 / 12Mb/s全速
USB2.0 1.5Mb/s低速 / 12Mb/s全速 / 480Mb/s高速

USB的开发难度大,调试难度大,传输的距离短。

USB的开发者网站:

www.usb.org

image-20230901110103436

USB logo

image-20230901110134029

拓扑结构

image-20230901111731727

插入检测

image-20230901111954399

描述符

描述符

image-20230901112336746

设备描述符

image-20230902080451603

image-20230902080511605

USB设备的枚举过程

枚举过程是调试USB的重要一环。枚举就是主机从设备读取各种描述符信息,通过这些信息来加载合适的驱动程序,从而知道设备是什么类型的,如何进行通信等。

枚举过程:

  1. 主机对设备复位,获取设备描述符。

  2. 主机对设备复位,设置设备地址。

  3. 主机对设备复位,获取新的设备描述符。

  4. 主句获取配置描述符。

USB包结构和传输过程

USB是串行总线,LSB方式传输。即先出来的是数据的最低位,最后是最高位。

USB总线数据要经过位填充,接着经过NRZI编码,才能输出到总线上。下面说的码没有说明都是位填充码,即NRZI编码前的数据。

一个USB的包,被分为了多个域(field),域的开头和结尾分别为LSB和MSB。

在传输数据时,USB主机到设备的数据称为输出,设备到主机的数据称为输入。(主体为USB主机)

域的共同点:以同步域开始,紧跟一个包标识符PID(Packet Idetifier),最终以包结束符结束。

同步域

同步域分类

设备 同步域码
全速/低速设备 00000001(8bit 2进制)
高速设备 00000000 00000000 00000000 00000001(32bit 2进制)

image-20230902082243237

包标识符

image-20230902082343658

image-20230902082355155

令牌包

令牌包用于启动一次USB传输。

image-20230902082707969

image-20230902082722305

令牌包的最后有一个CRC5校验,它只校验PID之后的数据,不包括PID本身。

image-20230902082828207

image-20230902082835024

数据包

数据包用于传输数据。

协议 数据包
USB1.1 DATA0包 DATA1包
USB2.0 DATA0包 DATA1包 DATA2包 MDATA包

包结构是统一的:一个同步域,后面跟整数字节的数据,然后是CRC16校验,最后是包结束符。

image-20230902083518979

握手包

握手包用来标识一个传输是否被对方确认。

握手包结构:同步域、PID和EOP。

image-20230902083723140

特殊包

image-20230902083830700

用到的时候再看吧。这里先放一下。

四种传输类型

在传输数据时,要将包组织成事务(Transaction)。

USB事务

image-20230902084228887

USB协议规定了4种传输类型:批量、等时、中断和控制。

批量、等时、中断每传输一次就是一个事务;但控制不是,它的建立和状态过程分别是一个事务,而数据过程则可能包括多个事务。

批量

批量传输使用批量事务(bulk transaction)传输数据。

一次批量事务有三个阶段:令牌包阶段,数据包阶段和握手包阶段。

批量传输分为批量读和批量写,批量读使用批量输入事务,批量写使用批量输出事务。

image-20230902084735754

中断

中断用于时间要求严格的设备中,保证查询频率。

等时

用于数据量大、实时性要求高的场合。

控制

端点类型和传输类型的关系

一个具体的端点,只能工作在一种传输模式下。

端点0是默认控制端点,所有的USB设备都有、非0端点只有在set config之后才能使用。

传输类型与最大包长

image-20230902085449729

posted @ 2023-09-02 08:56  夜寐天明  阅读(16)  评论(0编辑  收藏  举报