《圈圈教你玩 USB》学习笔记-特殊包

特殊包是一些在特殊场合使用的包。总共有 4 中:PRE,ERR,SPLIT 和 PING。

PRE 前导(令牌包)
ERR 错误(握手包)
SPLIT 分裂事务(令牌包)
PING PING 测试(令牌包)

1、PRE 是通知集线器打开其低速端口的一种前导包。PRE 只使用在 全速模式中。平时,为了防止全速信号使低速设备误动作,集线器是没有将全速信号传递低速设备的。只有当收到 PRE 令牌包时,才打开其低速端口。PRE 令牌包与握手包的结构一样,只有同步域、PID 和 EOP。当需要传输传送低速事务时,主机首先发送一个 PRE 令牌包(以全速模式发送)。对于全速设备,将会忽略这个令牌包。集线器在收到令牌包后,打开其连接了低速设备的端口。接着,主机就会以低速模式给低速设备发送令牌包、数据包等。

2、PING 令牌包和 OUT 令牌包具有一样的结构,但是 PING 令牌包后并不发送数据,而是等待设备返回 ACK 或者 NACK,以判断设备是否能够传输数据。它只使用在 2.0 用于批量和控制传输的输出事务中。

3、SPLIT 令牌包时高速事务分裂令牌包,通知集线器将高速数据包转化为全速或者低速数据包发送给其下面的端口。

4、ERR 握手包是在分裂事务中表示错误使用。

发布了124 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/tyustli/article/details/103971704