USB(通用串行总线)数据传输机制和包结构简介

目录

    • [1. USB的物理连接](#1. USB的物理连接)
    • [2. USB的数据传输方式](#2. USB的数据传输方式)
    • [3. 包的传输规则](#3. 包的传输规则)
    • [4. 包的结构](#4. 包的结构)
      • [1. 同步字段(Sync)](#1. 同步字段(Sync))
      • [2. 包标识符字段(PID)](#2. 包标识符字段(PID))
      • [3. 数据字段](#3. 数据字段)
      • [4. 循环冗余校验字段(CRC)](#4. 循环冗余校验字段(CRC))
      • [5. 包结尾字段(EOP)](#5. 包结尾字段(EOP))

1. USB的物理连接

电缆结构

USB的主机(如电脑)和设备(如鼠标、键盘)之间通过4根线连接:

  • 差分数据线(2根) :用于传输数据。
    • 这两根线通过差分信号(一种特殊的电压变化方式)传输数据,可以提高抗干扰能力。
    • 适用于高速、全速和低速传输。
  • 电源线(1根):提供5V电力,为设备供电。
  • 地线(1根):作为电流回路,确保电路正常工作。

时钟恢复技术

  • 没有时钟线(clk):与SPI、I2C等协议不同,USB没有单独的时钟线。
  • 如何同步?
    接收端通过数据时钟恢复电路 ,从接收到的数据信号中"提取"时钟信号,从而同步数据传输。
    • 类比:就像看一场电影,虽然没有人告诉你"现在是第几帧",但通过画面内容的变化(数据)可以推断时间(时钟)。

2. USB的数据传输方式

包(Packet)

  • 什么是包?
    USB将所有信息(数据、命令、配置等)封装成包 ,作为传输的基本单元。
    • 类比:快递包裹,每个包裹里装着需要传递的内容(数据),并贴上标签(标识符)说明用途。

3. 包的传输规则

帧和微帧

  • 帧(Frame) :
    • USB全速(FS)和低速(LS)设备的数据传输必须在**1毫秒(ms)**的帧时间内完成。
    • 类比:每秒钟有1000个"时间窗口",每个窗口1ms,数据只能在这个窗口内传输。
  • 微帧(Microframe) :
    • USB高速(HS)设备将1ms的帧进一步分成8个微帧,每个微帧125微秒(μs)。
    • 类比:把1秒分成更小的"时间片段",提高传输效率。

4. 包的结构

一个完整的USB包由以下5部分组成:

1. 同步字段(Sync)

  • 作用 :让接收端的时钟与发送端对齐,确保数据正确接收。
    • 类比:两个人通话前先喊"同步一下",确保双方节奏一致。

2. 包标识符字段(PID)

  • 作用 :说明包的类型,例如:
    • 数据包:传输实际数据。
    • 令牌包:用于设备寻址(如主机告诉设备"我要和你通信")。
    • 握手包:确认数据是否正确接收(如"收到"或"重发")。
    • 类比:信封上的"快递""挂号"等标签,告诉接收方如何处理。

3. 数据字段

  • 作用 :存放实际要传输的数据。
    • 数据长度根据USB速度和用途以下是图片中关于USB(通用串行总线)数据传输机制和包结构的详细解释,以小白易懂的方式分点说明:

4. 循环冗余校验字段(CRC)

  • 作用 :检测数据是否在传输中出错。
    • 原理:发送端生成一个"校验码"附加到包中,接收端用相同算法计算并对比,若不一致则说明数据错误。
    • 长度:根据USB速度不同,CRC可能是5位、16位或32位。
    • 类比:快递包裹的"防伪码",收件人扫描后确认包裹是否被中途篡改。

5. 包结尾字段(EOP)

  • 作用 :标记包的结束,通知接收端"数据已完整接收"。
    • 类比:信封上的邮戳,表示这封信的结束。
相关推荐
你的强来了9984 天前
实测:用HIDDescBuilder将USB鼠标接口改为Gamepad
键盘·usb·鼠标·hid·游戏手柄·hid报告描述符·游戏控制器
ZenasLDR8 天前
TCPC:USB Type-C 端口的 “神经中枢”
接口·芯片·usb
TEL1562238376212 天前
FSW3340|USB3.1 10Gbps 双通道差分 2:1/1:2 高速切换开关,Type‑C 设计刚需P2P有容微ASW3410
usb·切换开关·模拟芯片
你的强来了99823 天前
WCHToolKit场景实战
网络·串口·调试·usb·ble·分析
en.en..1 个月前
USB接口、串口、COM端口、CH340到底是什么关系?
usb
张一西1 个月前
QEMU 模拟器学习(二)之 USB 设备模拟与协议学习
qemu·usb·uas·bot
你的强来了9981 个月前
DriverSwitcher:Windows USB设备驱动切换工具
驱动·usb·驱动切换工具
我是谁??1 个月前
VMware 虚拟机无法识别 USB 设备?一个参数搞定!
vmware·usb
橘色的喵1 个月前
USB枚举、协商、传输:以USB相机为例看识别与格式协商
串口·usb·设备枚举
小黑(感觉你阻抗≥1MΩ)2 个月前
TYPE-C电路
usb·电路·原理图·type-c