目录
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)
- 作用 :标记包的结束,通知接收端"数据已完整接收"。
- 类比:信封上的邮戳,表示这封信的结束。