USB2.0协议解析:NAK流控制与PING机制

需积分: 32 178 下载量 93 浏览量 更新于2024-08-20 收藏 5.99MB PPT 举报
"通过PING流控制限制NAK-USB2.0协议深入解读" USB2.0协议是计算机和外部设备间通信的一种高速接口标准,由COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS等厂商共同制定。它在USB1.1的基础上,将数据传输速度提升至480Mbps,约为60MB/s,提升了约40倍的传输速率。USB2.0向下兼容USB1.1,但速度不会因接口升级而自动提升,反之亦然。 在USB2.0协议中,针对全速/低速设备和高速设备的通信优化,引入了通过PING流控制限制NAK的机制。NAK(Not Acknowledged)是一种握手信号,表示设备当前无法接收数据,因为端点没有足够的缓冲区空间。在全速/低速设备中,频繁的NAK响应会导致总线利用率下降,因为总线时间被用来发送这些NAK信号。 为了解决这个问题,高速设备支持一种改进的NAK机制,称为PING协议。这种机制允许设备告诉主机控制器它是否准备好接收新的数据。主机控制器会发送一个PING特殊令牌来查询设备端点的状态。如果端点没有空间,设备可以返回NAK、STALL或ACK响应。STALL表示设备无法处理请求,ACK则表明设备准备接收数据。 PING特殊令牌包类似于标准的令牌包,它使得主机控制器可以在确认设备端点有可用空间后才执行OUT传输,避免了无效的总线使用。这种方法提高了总线效率,因为它允许主机控制器选择延迟处理,转而处理其他端点的数据,从而优化了整体系统的性能。 USB设备通过端点(Endpoints)进行通信,每个设备可以有多个独立的端点,每个端点都有唯一的端点号来标识。通信流通过被称为“管道”(Pipes)的逻辑通道进行,简化了理解USB系统中信息传输的方式。 USB2.0协议通过优化NAK机制和引入PING控制,提升了数据传输的效率和总线利用率,同时保持了与前代USB版本的兼容性。这一协议的详细规范涵盖了总线属性、协议定义、处理类型、总线管理和编程接口等方面,为设计和构建USB2.0设备提供了全面的指导。