【从零开始のIC学习笔记】USB2.0协议-传输类型

6 篇文章 0 订阅
5 篇文章 3 订阅

前言

USB的包构成了USB的事务类型,而USB事务构成了USB的传输类型,USB的传输类型有:

  • 控制传输
  • 批量传输
  • 中断传输
  • 同步传输

控制传输(Control Transaction)

控制传输通常用在初始化配置(寄存器读写),地址分配、时序位矫正,共分为3个阶段:

首先是建立阶段(指明数据流向,控制读还是控制写);

其次是数据阶段(数据传输),该阶段可选;

最后是状态阶段(指示此次控制传输的结束);

注意:控制传输都以DATA0开始,DATA1结

在建立阶段(Setup Stage),USB主机总是发起第一个Packet,首先发送Setup令牌包,随后发起以DATA0为起始数据包,最后USB设备回应握手包结束一次交互。

如果有数据阶段(Data Stage),USB主机发起第一个Packet—读或写的令牌包,根据该令牌包的类型,如果为读令牌包,则由设备发送以DATA1为起始的数据包,以主机发送握手包结束;如果为写令牌包,则由主机发送以DATA1为起始的数据包,以设备发送握手结束一次交互。若数据未发送完毕,则继续,按照DATA0-DATA1-DATA0的数据包的方式进行。

最后是状态阶段(Status Stage),首先由USB主机发起第一个Packet—读或写的令牌包,根据该令牌包的类型,如果为读令牌包,则由设备发送以DATA1为起始的零长度数据包,以主机发送握手包结束;如果为写令牌包,则由主机发送以DATA1为起始的零长度数据包,以设备发送握手结束一次交互。


批量传输(Bulk Transaction)

批量传输由一个或n个相同的事务(读事务/写事务)组成。

在批量传输中,首先由主机发送第一个Packet——读或写的令牌包,表示要开始传输数据了,随后根据令牌包,主机或设备进行DATA1或DATA0为起始的数据包,开始一次交互,最后根据令牌包,主机或设备发送握手包完成一次交互。

若数据未传递完成,则重复该过程


中断传输(Interrupt Transaction)

中断传输由定时器中断触发,间隔进行数据传输;

当定时器中断(Tick时间)触发,后续过程同批量传输


同步传输(Isochronous Transaction)

同步传输实际上就是没有握手包的中断传输,过程同中断传输,但是没有握手包

同步传输和中断传输二者虽然都是时间触发,但是中断传输需要ACK应答,而同步传输不需要,这意味着同步传输是一种非可靠传输,但是换来了更多的USB传输时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值