USB 一次传输过程

USB 有四根线(不考虑ID的情况下),两根电源线和两根数据线,两根电源线是VBUS、GND,电源线一般提供5V和500mA电流。两根数据线D+和D-,可以双向传递数据。

USB  每次传输的时候都有下面的过程:

   

1.同步块。发送数据的时候需要在数据前发送一个头(同步块), 一个101010的方波。

2.数据。发送的数据由以下几个部分组成

sync同步块+PID+ADDR+FRAM+ENDP+实际数据+CRC

        并不是所有的包都包含这些内容,根据传输的类型不同,所包含的内容不一样。在USB传输中分为四种传输方式,分别为控制、中断、等时和批量。

控制传输: 令牌包+数据包+握手包

中断传输: 令牌包+数据包+握手包

等时传输: 令牌包+数据包 ,没有握手包,这里只关心实时的数据传输,可以有一定的误码率

批量传输:令牌包+数据包+握手包

  令牌包:

输入包 sync同步块+PID+ADDR+ENDP+CRC5

输出包             sync同步块+PID+ADDR+ENDP+CRC5

设置包             sync同步块+PID+ADDR+ENDP+CRC5

帧起始包          sync同步块+PID+11FRAM+CRC5

  数据包:

在USB传输中分为DATA0和DATA1包交叉传输,以保证传输的正确性。但是在等时传输的过程中只有DAT0包

DATA0:       sync同步块+PID+0~1024字节数据+CRC16

DATA1:       sync同步块+PID+0~1024字节数据+CRC16

  握手包:

sync同步块+PID

3.结束块。数据传输结束以后,使用EOP作为结束包。 D+、D-同时都为低电平。 EOP之后有一个短暂的空闲状态。 

        

 


  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值