USB协议详解第18讲(USB包-初探)
1.USB传输架构和包的组成
本节我们开始对USB包进行深入讲解,USB所有的传输都会被分成包进行传输,不同类型的包里面包含着不同的域(后面一一学习)。传输架构和包的组成如下图。
每个包都由SOP(包起始域)、SYNC(同步域)、Packet Content(包内容)、EOP(包结束域)四部分组成,其中SOP、SYNC、EOP为所有包共有的域,Packet Content最为核心,不同类型的包由不同的Packet Content组成。
每个域的每一个bit都会用反向非归零编码(NRZI)进行编码后发送出去。
2.PID域的类型及说明
注意:所有事务的令牌包总是主机发起的。
3.包的发送方式
包的发送方式其实和生活中人与人的交流很类似,如下:
第一步:主机会先发送一个令牌包,这个包的作用就是告诉设备我主机要干啥(控制传输Setup、发送数据OUT、接收数据IN、一帧开始了SOF),反正就是告诉设备自己想干啥;
第二步:数据包,设备会根据令牌包数据方向,如果主机要发送数据,则设备就会处于接收数据包状态,如果主机要设备的数据,紧接着设备会把对应的数据包发送给主机;
第三步:握手包,数据发送方在第二步发送数据包完毕后需要进入接收握手包状态(我的知道我的数据发出去没有或者出错没出错呀),数据接收方在接收到数据之后需要返回一个握手包给数据发送方。