USB2.0协议解析:错误EOP的处理机制

需积分: 41 4 下载量 60 浏览量 更新于2024-07-10 收藏 5.99MB PPT 举报
"错误的EOP-USB2.0协议深入解读" USB2.0协议是计算机与外设间通信的一种高速接口标准,由COMPAQ、Hewlett Packard、Intel、Lucent、Microsoft、NEC和PHILIPS等公司联合制定。USB2.0在USB1.1的基础上进行了性能提升,将数据传输速率提升了40倍,达到480Mbps,相当于60MB/s。这种兼容性使得旧版设备能在新接口上运行,但速度不会超过其原生规格。 错误的End-of-Packet (EOP) 是USB通信中可能出现的问题。EOP错误通常发生在数据包处理未完成,而主机或设备尝试发送新包时,这会导致总线冲突并可能破坏连续两个数据包。错误的EOP检测依赖于类似CRC错误的截短包。数据包的最后16位如果是正确的CRC,错误发生的概率非常低。 主机和设备对错误EOP的处理方式不同。设备在接收到损坏的数据包后,不会响应,而是等待主机发送下一个令牌,以防止在主机还在发送时返回握手导致冲突。若设备发送的数据包出现错误EOP,主机将忽略这个包,不发送握手。设备在等待握手信号超时后会进行处理。 主机在接收错误的全速或低速数据包时,假设会出现错误的EOP,并等待16个位时间。如果在这期间没有检测到总线变化且总线保持空闲,主机将继续发送下一个令牌。这种16位时间的等待确保了两种情况:一是设备完成包的发送(通过确保超时大于最差情况下的位填充间隔),二是防止发送设备的总线转向定时器超时。这个等待时间对速度敏感,全速处理时应使用全速位时间,低速处理时使用低速位时间。 USB协议中的核心组件是端点(Endpoints),它们是设备的可识别部分,作为主机和设备间通信的终点。每个逻辑设备有多个独立端点,每个端点都有唯一的端点号。通信流通过管道(Pipes)进行,这是简化通信过程的抽象概念。接口(Interfaces)是端点的集合,进一步组织和定义了设备的功能。 USB2.0协议规范包括总线属性、协议定义、处理类型、总线管理以及编程接口,旨在支持高速传输的同时保证兼容性,提供高效且灵活的连接方案。