4
4.3.1 与 USB2.0 的区别:
在框架上,超速是向后兼容 USB2.0 的,但是二者在协议上还是有一些重大的不同:
·USB2.0 的 transaction 有三部分(令牌(token)、数据(data)和握手(handshake)),超
速也是这三部分但是用法不同(令牌包集成在头包和 DPH 中,各种类型的握手包都是 TP
包形式);对于 OUT 事务,令牌被合并在数据包中;对于 IN 事务,令牌被握手包代替。
·USB2.0 不支持突发(bursting),超速支持持续突发;
·USB2.0 是半双工(half-duplex)的广播总线,超速是 dual-simplex(全双工)的非广播
总线,支持同时进行 IN、OUT transaction;
·USB2.0 使用轮询模式,超速使用异步通知方式;
·USB2.0 不支持流能力,超速支持海量(bulk)端点的 Stream 方式;
·USB2.0 在同步传输(isochronous)间隔中没有进入低耗电状态的机制,超速则允许同步
传输服务间隔中自动进入低耗电状态(不服务的时间段进入低功耗);SS 主机在服务间隔前
发送一个 PING 包到目标同步设备允许开始同步传输之前转变成电源活动状态。
·USB2.0 设备无法通知主机自己在进入低耗电状态前可容忍的延迟时间(设备通知主
机自己进入低功耗状态的最长延迟时间),超速则提供 Latency Tolerance 消息;
·USB2.0 以固定的 1ms/125us 间隔发送帧包/小帧包(USB 2.0 全速和高速模式)。超速
下,设备可以发送 Interval Adjustment 消息给主机调整间隔 125us 一直到+/-13.333us;
·USB2.0 电源管理总是主机导向(主机初始化)的,超速链路两端都支持电源管理;
因此不管何时需要空闲,需要退出,需要通信,每个链路能独立的进入低电源状态。
·USB2.0 仅在每个 transaction 进行 end-to-end 级别的错误检测、恢复、流控,超速在
end-to-end(数据包重试)和链路级别(头包重试)分割这些功能。
4.3.2 比较 USB2.0 和超速的事务处理(Transaction)
超速全双工总线物理层允许同时进行双向的通信。超速协议允许收到握手包之前发送多
个数据包(突发)。对于 OUT 传输,包含在 USB2.0 令牌包中的信息(设备地址和端点信息)
被合并在数据包头里面,因此不需要额外令牌包。对于输入传输 IN,超速主机发送一个握
手包(ACK)给设备以请求数据(和指示数据是否正确)。设备可以通过返回数据或者返回
STALL 握手包来应答,或者返回一个没准备好(NRDY)握手包延迟传输直到设备准备好了。
USB2.0 的包是广播方式,每个连接的设备解析每个包的地址、端点、方向信息来决定
自己是否应该响应。超速包有路由信息,HUB 决定每个包要送达哪个设备,只有一个例外,
等时时间戳包(Isochronous Timestamp Packet, ITP)广播到每一个设备。
USB2.0 的查询方式已经被异步通知代替。超速传输通过主机发出一个请求来开始传输,
后面跟随着设备的应答。如果设备能接受请求,它就接收数据或者发送数据;如果端点停止
了,设备应该以 STALL 握手包响应;如果设备由于缺少缓存空间或者没有数据而不能接受
请求,应该以 NRDY 应答告诉主机现在还不能处理请求。当等到设备能接受请求时,设备
会主动发送一个端点准备好(ERDY)异步通知给主机然后主机会重新安排传输事务。
单路传送和有限制的多点广播的包以及异步通知,都允许没有活跃传输包的链路进入一
个降低功耗状态,上游和下游端口共同决定它们的链路进入一个低功耗状态,集线器会传递
到上游端口。通过允许链路伙伴独立控制它们的链路电源状态,集线器将任意下游端口可见
的最高链路电源状态传递到上游端口,使总线快速进入最低允许电源状态。
4.3.1.2 超速包介绍:
评论0
最新资源