Fork me on GitHub

USB协议详解第21讲(USB包-令牌类包)

1.令牌类包的分类

令牌类包有SETUP令牌包、IN令牌包、OUT令牌包。

2.令牌类包的组成

我们今天看令牌类包的详细结构,令牌包的内容由PID域+地址域+5bit CRC域,下图为令牌类包包各个域和抓包协议的对应图。

3.令牌类包的功能

所有令牌包都是主机发起的,作用就是告诉设备主机要干啥,要求设备接下来是收数据还是发数据,根据令牌包的不同接下来的数据含义也会不同。

4.三种令牌包协议图

(1)SETUP令牌包

只用在控制传输中通知设备将要输出一个数据包(只是一个通知作用),也就是通知哪一个设备的哪一个端点接下来要发送一包数据了。SETUP令牌包后只使用DATA0数据包,且只能发送到设备的控制端点

当设备的端点在收到SETUP令牌包后,接下来会等待接收主机发来的设置信息(你不是告诉我你要发送数据嘛,我等着)。协议如下图。

(2)OUT令牌包

通知设备主机将要输出一个数据包(只是一个通知作用),也就是通知哪一个设备的哪一个端点接下来主机要发送一包数据了,你要准备接着。OUT令牌包后使用DATA0/DATA01数据包,可以发送到任意类型的端点

当设备的端点在收到OUT令牌包后,接下来会等待接收主机发来的数据(你不是告诉我你要发送数据嘛,我等着)。协议如下图。

(3)IN令牌包

通知哪一个设备的哪一个端点接下来要发送一包数据给主机只是一个通知作用),当设备收到主机发送的IN令牌包,就会发送数据包给主机。协议如下图。

posted @ 2024-10-26 12:22  yooooooo  阅读(0)  评论(0编辑  收藏  举报