USB技术浅析(1)——USB总线

博客系列

USB技术浅析(1)——USB总线
USB技术浅析(2)——USB数据流模型
USB技术浅析(3)——USB设备标准描述符
USB技术浅析(4)——USB标准请求

USB总线

当前计算机最重要的接口技术之一:通用串行总线(Universal SerialBus,USB)。
USB规范的产生是为了确保数据传输过程的正确性、可靠性、高效性、统一性,USB标准则将数据传输的过程进行具体化、实现化,更进一步说明USB数据传输的实现。

发展趋势:从USB出现以来,由USB1.0开始到现在的USB3.x,USB通信技术的发展历经了25年,关于USB通信的技术已经广泛的应用在各个通信领域,在通信技术占据了重要的地位。USB总线技术的发展趋势是显而易见的,USB的数据传输速率越来越快,传输量越来越大,传输质量越来越好。当然,USB的使用也越来越方便。

优点
1.接口小巧
2.共享式接口
3.即插即用、热插拔

结构

在这里插入图片描述
USB主机:具有USB主控芯片的计算机,且该计算机能够通过USB主控芯片实现与USB设备之间的通信。
USB集线器:为USB系统提供额外的连结点,使得一个端口可以扩展连接多个设备。
USB功能设备:通常为一个独立且具备特定功能的外部设备.
USB电缆:连接USB主机、USB设备、USB集线器的连接线,实现互相之间的数据传输。

USB总线数据流

在这里插入图片描述
1.令牌阶段:定义本次传输的类型,用于表征数据流的开始。
组成:同步字段、令牌包、EOP。

2.数据阶段:包含本次要传输的数据。
组成:同步字段、数据包、EOP。

3.握手阶段:数据的接收方向发送方报告此次数据传输是否成功。
组成:同步字段、握手包、EOP。

注意:USB1.1、USB2.0、USB3.0的数据流基本类似。

USB数据流单元

同步字段(SYNC):用于数据通信的同步。
包标识字段(PID):指明信息包类型,可用于差错控制。
地址字段(ADDR):指明USB总线上的一个USB设备。
端点字段(ENDP):指明USB的端点。
帧号字段(NUM):指明当前帧的帧号。
数据字段(DATA):包含传输的数据。
校验字段(CRC):循环冗余校验。

同步字段:SYNC
1.低速/全速同步字段
同步字段长度为8位,数据为10000000B。

2.高速同步字段
同步字段长度为32位,数据为80000000H。

包标识字段:PID
包标识字段长度为8位,低4位类型字段,高4位校验字段。

地址字段:ADDR
地址字段长度为7位,值为0~127,地址0作为默认地址。
USB上电时,USB主机首先通过默认地址0和USB设备通信。上电配置完成后,USB重新给USB设备分配地址。

端点字段:ENDP
端点字段长度为4位,可表示16个端点。低速设备规定了3个端点,全速/高速设备可以保护16个端点。端点0是USB设备所必需的,用于USB上电的初期与USB主机通信。

帧号字段:NUM
帧号字段的长度为11位,最大值为07FFH。
帧号字段的数值表征了当前帧/小帧的帧号,在帧发送时,帧号字段内容加1。

数据字段:DATA
数据字段的最大长度为1024字节,先传输低,再传输高字节。对于字节,先传输地位,再传输高位。

校验字段:CRC
令牌包:采用5位循环冗余校验CRC。
数据包:采用16位循环冗余校验CRC。

USB数据流组成——信息包

令牌包
数据包
握手包

令牌包
根据令牌包类型分类:
1.USB IN数据流
2.USB OUT数据流
3.USB SETUP数据流
4.USB PING数据流
5.USB SOF数据流
6.USB SPLIT数据流
7.USB PRE数据流

  • USB IN数据流
    在这里插入图片描述
    步骤:
    1.USB主机向USB设备发送IN令牌包。
    2.USB设备正确接收到IN令牌包后,向USB主机发送数据包。
    3.USB主机正确接收到数据包后,向USB设备返回ACK握手包。

  • USB OUT数据流
    在这里插入图片描述
    步骤:
    1.USB主机向USB设备发送OUT令牌包。
    2.USB设备正确接收到OUT令牌包后,USB主机开始发送数据包。
    3.USB设备正确接收到数据包后,向USB主机返回ACK握手包。

  • USB SETUP数据流
    USB SETUP数据流管理只在控制传输阶段使用,SETUP事务的数据传输方向为从USB主机到USB设备。
    在这里插入图片描述
    步骤:
    1.USB主机向USB设备发送SETUP令牌包。
    2.USB设备正确接收到SETUP令牌包后,USB主机开始发送DATA0数据包。
    3.USB设备正确接收到DATA0数据包后,向USB主机返回ACK握手包。

  • USB PING数据流
    USB PING数据流管理主要应用于高速数据传输,只包含令牌包和握手包阶段。(不包含数据阶段)
    在这里插入图片描述
    步骤:
    1.USB主机向USB设备发送PING令牌包。
    2.USB设备正确接收到PING令牌包后,向USB主机返回握手包。

  • USB SOF数据流
    USB SOF数据流管理比较简单,由USB主机向USB设备发送一个SOF令牌包,表示一个USB帧/小帧的开始。
    不同的USB传输速度,SOF数据流管理的时间要求不同。

  • USB SPLIT数据流
    USB SPLIT数据流管理的目的是在USB高速传输的过程中,可以插入低速和全速USB数据传输,提高USB总线利用率。
    在这里插入图片描述
    作用:开始SPLIT。
    步骤:
    1.USB主机向USB设备发送两个令牌包,SSPLIT令牌包、低速/全速令牌包。
    2.USB设备正确接收到该令牌包后,USB主机发送DATAx数据包。
    3.USB设备正确接收到DATAx数据包后,在握手阶段返回握手信息。
    在这里插入图片描述
    作用:结束SPLIT。
    步骤:
    1.USB主机向USB设备发送两个令牌包,CSPLIT令牌包、低速/全速令牌包。
    2.USB设备正确接收到该令牌包后,USB主机发送DATAx数据包,或者USB设备返回握手信息。

  • USB PRE数据流
    在这里插入图片描述
    USB PRE数据流管理比较简单,USB主机直接发送PRE令牌包即可。(不需要数据包和握手包)
    作用:USB在开始低速数据传输前,需要发送PRE数据流管理,即先导包。(开启USB低速数据传输模式)
    注意:USB PRE数据流管理只在USB主机和USB集线器之间进行,只有USB集线器才可以响应PRE数据流管理。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值