USB协议详解第18讲(USB包-初探)

目录

1.USB传输架构和包的组成

2.PID域的类型及说明

3.包的发送方式


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),反正就是告诉设备自己想干啥​;

​第二步:数据包,设备会根据令牌包数据方向,如果主机要发送数据,则设备就会处于接收数据包状态,如果主机要设备的数据,紧接着设备会把对应的数据包发送​给主机;

第三步:握手包,数据发送方在第二步发送数据包完毕后需要进入接收握手包状态(我的知道我的数据发出去没有或者出错没出错呀),数据接收方在接收到数据之后需要返回一个握手包给数据发送方​。


1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。

2.未经原作者允许不得转载本文内容,否则将视为侵权;

3.转载或者引用本文内容请注明来源及原作者;

4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。

下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。


版权声明:本文为weiaipan1314原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。