首页 文章

USB - 对协议的怀疑

提问于
浏览
1

我目前正在研究USB的工作原理 . 我读过,有些事务是从较小的部分构建的 - 数据包 . 我读到了各种数据包 .

我无法理解一件事 . 正如书中所说 - 每笔交易都包含 3 packetstoken, data and hanshake .

我理解我的书的方式如下图所示 .

enter image description here

在我看来:

我认为第一个事务应该只包含令牌IN和数据包,但没有hanshake数据包(握手为什么?) .

我认为,该响应应该只包含ACK hanshake数据包(数据被正确写入设备) .

请帮助我以正确的方式理解它 .

最好的问候,汤姆 .

1 回答

  • 1

    事务是一系列一个或多个数据包 .

    没有数据的典型IN事务如下所示:

    • 主机发送IN令牌 .

    • 设备发送NAK握手数据包,这意味着它没有任何数据要发送 .

    具有数据的典型IN事务如下所示:

    • 主机发送IN令牌 .

    • 设备发送带有数据的DATA0或DATA1数据包 .

    • 主机发送ACK握手 .

    典型的OUT事务如下所示:

    • 主机发送OUT令牌 .

    • 主机发送带有数据的DATA0或DATA1数据包 .

    • 设备根据是否接受数据发送NAK或ACK握手 .

    请注意,我只是谈论全速(12 Mbps)USB 2.0设备,对于更高速的设备来说,事情可能会变得更加复杂 .

    请注意,由于噪声问题,任何这些数据包都可能丢失 . USB规范专门解决了这个问题,确保数据包丢失不会导致设备或主机的错误操作 .

相关问题