USB基础知识了解

本文介绍了USB的基础知识,包括端点的定义及其传输特性,如输入输出、批量传输等。此外,还讲解了USB的帧结构,1ms为一帧,每个帧包含多个传输动作。USB的传输线由地线、电源线、D+和D-组成,数据由低位到高位发送。USB编码采用不归零取反,以确保信号准确。数据格式中,USB数据由二进制串构成,包含多种传输类型和事务。USB传输涉及IN、OUT、SETUP事务,以及中断、批量、同步和控制传输。文章深入探讨了USB如何通过控制传输来识别和配置设备,以及标准的USB设备请求命令的结构和功能。
摘要由CSDN通过智能技术生成

USB 的重要关键字:

  1. 端点:位于 USB 设备或主机上的一个数据缓冲区,用来存放和发送 USB 的各种数据,每
    一个端点都有唯一确定的地址,有不同的传输特性(如输入端点、输出端点、配置端点、
    批量传输端点)。
  2. 帧:时间概念,在 USB 中,一帧就是 1ms,它是一个独立的单元,包含了一系列总线动
    作,USB 将 1 帧分为好几份,每一份就是一个 USB 传输动作。
  3. 上行、下行:设备到主机为上行,主机到设备为下行。
    Q1:USB 的传输线结构是怎样的?
    一条 USB 传输线分别由地线、电源线、D+和 D-构成。D+和 D-是差分输入线,使用 3.3V
    电压,与 CMOS 的 5V 电平不同。电源线和地线可为设备提供 5V 电压,最大电流为 500mA,
    可在编程中设置。
    Q2:数据是如何在 USB 传输线里传送的?
    数据在 USB 传输线里是由低位到高位发送的。
    Q3:USB 的编码方案是怎样的(了解即可)?
    USB 采用不归零取反来传输数据,当传输线上的差分数据输入 0 时就取反,输入 1 时就
    保持原值,为了确保信号发送的准确性,当在 USB 总线上发送一个包时,传输设备就要进
    行位插入操作(即在数据流中每连续 6 个 1 后就插入一个 0),从而强迫 NRZI 码发生变化。
    Q4:USB 的数据格式是怎样的?
    USB 数据格式是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,
    包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和
    控制传输)。下面简单介绍一下域、包、事务和传输,注意它们之间的关系。
  4. 域:是 USB 数据最小的单位,由若干位组成,域可分为七个类型:
  1. 同步域(SYNC):八位,固定值为 0000 0001,用于本地时钟与输入同步;
  2. 标识域(PID):由四位标识符+四位标识符反码构成,表明包的类型和格式(这是
    一个很重要的部分,这里可计算出,USB 的标识码有 16 种,具体分类见 Q5);
  3. 地址域(ADDR):七位地址,设备在主机上的地址,地址 000 0000 被命名为零地
    址,是任何一个设备第一次连接到主机时,在被主机配置、枚举前的默认地址,由
    此可以知道为什么一个 USB 主机只能接 127 个设备的原因;
  4. 端点域(ENDP):四位,一个 USB 设备有的端点数最大为 16 个;
  5. 帧号域(FRAM):11 位,每一个帧都有一个特定的帧号,帧号域最大容量 0x800,
    对于同步传输有重要意义(同步传输为四种传输类型之一,见下文);
  6. 数据域(DATA):长度 为 0~1023 字节,在不同的传输类型中,数据域的长度各不
    相同,但必须为整数个字节的长度;
  7. 校验域(CRC):对令牌包和数据包(对于包的分类见下文)中非 PID 域进行校验的
    一种方法,CRC 校验在通讯中应用很广泛,是一种很好的校验方法。CRC 码的除法
    是模 2 运算,不同于十进制中的除法;
  1. 包:由域构成的包有四种类型:令牌包、数据包、握手包和特殊包,前三种是重要的包,
    不同的包的域结构不同。
  1. 令牌包:可分为输入包、输出包、设置包和帧起始包(注意这里的输入包是用于设
    置输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值