logo资料库

USB 3.0中文详解.doc

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
第一章    介绍
第三章    USB3.0 结构总览
链路层在第七章详细描述
协议层:
第四章    超速数据流模型
第五章    机械
第六章    物理层
第七章    链路层
第八章    协议层
BULK transactions:
Control Trnasfers:
Interrupt Transactions:
Isochronous Transaction:
第九章    设备框架
随笔,欢迎大家交流,共同学习研究。 笔记一 USB3.0 规范 1.0 版本定稿于 2008 年 11 月 12 日,并于 2008 年 11 月 17 日在 USB-IF 网 站 www.usb.org 正式发布。全文 482 页英文。 USB3.0 促进者是主要的规范制订者,由 Hewlett-Packard Company,Inter Corporation, Microsoft Corporation,NEC Corporation,ST-NXP Wireless,Texas Instruments 这些业界巨头 组成。 USB3.0 规范章节构成: 1. 介绍 2. 术语和缩略语 3. USB3.0 结构总览 4. SuperSpeed 数据流模型 5. 机械 6. 物理层 7. 链路层 8. 协议层 9. 设备框架 10.集线器、主机下行口,和设备上行口规范 11.互操作性和电源分派 附录 A,B,C,D 看上去章节组织和 USB2.0 规范及其类似。 第一章 介绍 USB3.0 是为了在 USB2.0 基础上实现更高速度的海量传输应用。USB3.0 开发者应当知 道并理解 USB2.0 规范,特别要一提的是 USB3.0 设备必须实现 USB2.0 规范中的设备框架 命令和描述符。 USB3.0 在 此 前的 低 速(1.5Mb/s)、 全 速(12Mb/s) 、 高 速(480Mb/s) 基 础 上增 加 了 超 速 (SuperSpeed)类型。 USB3.0 第一到第四章向读者提供一个预览性的介绍,而第五章到第十一章提供了详 细的技术内容。 USB3.0 设计目标:使终端用户像是使用 USB2.0 设备一样,只是更快。下面是实现这 个目标的几个设计关键: 保留智能主机和简单设备的 USB 模型。  为已存的 USB 设备提供一个杠杆,保持原有设备底层软件接口不变。  大大改善电源管理。  各种 USB 设备仍旧易于使用。  保护已存的投资。 第二章 术语和缩略语 SuperSpeed:超速,运行在 5Gb/s。 第三章 USB3.0 结构总览
读这一章的时候,由于对 USB3.0 的技术细节还完全不了解,而总览又会牵涉到 USB3.0 整体实现的描述,因此理解上还是有些难度。 本章对 USB3.0 的结构和关键概念做一个总览。 3.1 USB3.0 系统描述 USB3.0 使用双总线(dual-bus)结构,并向后兼容 USB2.0。 USB3.0 系统描述: 双总线结构: 在物理连接上,超速(SuperSpeed)总线和 USB2.0 总线并行组合在一起,这通过电缆和 连接器实现。USB3.0 的互联方式和 USB2.0 相同,仍然是星形拓扑,唯一的主机在第一层, 集线器在较低的层级提供其他设备总线连接。 D+/D-提供 USB2.0 信号路径;SSTX+/SSTX-,SSRX+,SSRX-提供超速信号路径,其中 一对为发送线路,另一对是接收线路。 电源方面的规定和 USB2.0 类似,但是增加了超速下设备的电源预算。 USB3.0 电缆在机械上主要有 8 个连接点:三对双绞信号线提供数据路径,和一对电源 线。见下图所示:
3.2 超速结构 超速总线是一个分层的通讯结构,如下图所示:
物理层: 第六章详细描述了超速物理层 电气上每个信号路径特性包括发送器、通道和接收器;每个差分信号连接通过发送器的 电容进行交流耦合;通道包括电缆和连接器的电气特性;每个差分信号连接的接收端使能其 接收终端,这样发送器可以检测到远端接收器是否存在从而指示总线连接信息。 当接收终端存在但是差分链路上没有信号时,这是电气空闲状态,此时低频周期性信号 (LFPS)用于表示一个电源管理信息。只需要使用非常微小的电源消耗就能产生或者检测到 LFPS。 每个 PHY 都有其自己的扩频时钟调制(SSC)的时钟域。USB3.0 电缆不包含参考时钟。本 地接收器通过锁相接收到的位流变化使其位恢复时钟对齐到远程发送器的时钟,位定时同步 依赖于此。 接收器需要足够的位变化才能可靠从位流中恢复时钟和数据,为此,发送器使用 8b/10b 编码数据和控制字。 链路层: 链路层在第七章详细描述 超速链路是两个端口的逻辑和物理连接。 逻辑部分有如下内容: 管理物理端接的状态机,包括物理层初始化和事件管理,如连接、移除、和电源管理。 管理端口信息交换的状态机和缓冲区。 数据和协议层信息缓冲区。
在发送时打包字节序列到正确的帧。 检测接收到的包,包括包间隔符、对接收到的头包进行错误检查。 提供合适的接口给协议层使得协议层包信息直通。 物理部分: 管理 PHY 状态; 发送、接收字节流 协议层: 协议层在第八章详细描述。协议层在主机和设备间定义了 end-to-end 通讯规则。超速协 议在主机和设备端点(endpoint)之间提供应用数据信息交换。这个通讯关系叫做管道(pipe)。 它是主机导向的协议,意味着主机决定什么时候在主机和设备间进行应用数据传输。设 备可以通过一个特定端点向主机发起异步请求服务,所以它不是一个轮询协议(USB2.0 为 轮询协议)。 数据可以背对背突发传输,提高总线效率。 对某些传输类型,协议提供流控支持。 设备可以异步发送通知给主机。 主机发送包含主机时间戳的特殊包头到总线上,该值可以用于保持设备和主机同步(如 果需要的话)。 鲁棒性: 超速 USB 的几个属性有助于其鲁棒性: 信号完整性上使用差分驱动器、接收器和屏蔽; CRC 保护头和数据包; 链路级头包重试保证可靠传送; 数据包的端到端(end-to-end)协议重试保证可靠传送; 检测、连接、解连接和系统级的资源配置; 数据和控制管道结构保证独立于功能设备间的非法互联 错误检测: 超速 USB 物理层位错误期望值是 1/10^12。包帧和链路通讯命令有足够的冗余使之能够 容忍单个的位错误。每个包包括一个 CRC 来对多个位错误提供错误检测。需要的时候,硬 件或者软件可以进行错误恢复处理。 在协议中,头包和数据包有各自的 CRC,此外,链路控制字(在每个包头)有其自己的 CRC。 头包或者链路控制字中的 CRC 错误是一个严重的错误,此时链路级的重试将从该错 误中恢复。数据包中的 CRC 错误用来指示一个损坏的数据,协议层可以请求重发该数据包。 错误处理: 硬件或者软件可以处理错误。 超速电源管理: 主机不能直接控制,也不可见各个链路的电源状态。 链路电源管理的关键点是: 设备向主机发送异步准备好通知 包是有路由路径的,这样就允许不参与数据通讯的链路进入或仍旧停留在低电源状态。 如果包送到一个处于低电源状态的端口,这个端口会切换到退出低电源状态并指示这 个切换事件。 设备:
超速需要支持 USB2.0 对默认的控制管道的规定。 外设设备: USB3.0 外设必须提供超速和最少一个非超速的支持。最小需求是,当在非超速下 时,外设能够被主机检测到以使软件能够指示用户把它连接到一个超速端口上。外设也可以 选择在非超速下实现其全功能。但是不允许外设同时操作在超速和非超速模式下。 ――想象一下:如果是一个海量存储类设备,在超速模式下可以达到惊人的传输速度, 如果不幸连接到了一个普通的 USB2.0 端口,那它仍然能够正常操作,不过速度只能是 USB2.0 的速度了。 单个外设也可以是组合设备(composite),也可以是复合设备(compound)。 HUB 设备: 为了支持 USB3.0 的双总线结构,USB3.0 HUB 在逻辑上是两个 HUB 的组合:一个 USB2.0 HUB 和一个 USB3.0 HUB。 主机(Hosts): 一个 USB3.0 主机通过主控器和 USB 设备互连。为了支持 USB3.0 双总线结构,USB3.0 主控器必须包括超速和 USB2.0 部分,这样可以同时管理每一个总线上主机和设备间的控制、 状态和信息交换。 主机含有几个根下行口实现: 检测 USB 设备的连接和移除; 管理主机和设备间的控制流; 管理主机和设备间的数据流; 收集状态和活动统计; 对连接的设备供电; USB 系统软件继承了 USB2.0 的结构,包括: 设备枚举和配置; 规划周期性和异步数据传输; 设备和功能电源管理; 设备和总线管理信息。 数据流模型: 数据流模型在第四章描述。超速 USB 集成了 USB2.0 的数据流模型,包括: 主机和设备间的数据和控制交换通过管道(pipe)进行 ,数据传输在主机软件和指定 的设备端点间进行。 大多数管道在系统软件对设备进行配置后才存在,但是一个消息管道即默认的控制管道 总是存在的。 一个管道支持四种传输类型中的某一种。 海量传输类型在超速中进行了扩展,叫做流(stream)。 第四章 超速数据流模型 本章是对超速数据和信息传输的一个概括性的描述,提出几个概念,详细描述在后续各 个章节中。 在框架上,超速是向后兼容 USB2.0 的,但是二者在协议上还是有一些重大的不同: USB2.0 的 transaction 有三部分(令牌、数据和握手(token,data,handshake)),超速也是 这三部分但是用法不同;
USB2.0 不支持突发(bursting),超速支持持续突发; USB2.0 是半双工(half-duplex)的广播总线,超速是 duan-simplex 的非广播总线并支持同 时进行 IN、OUT transaction; USB2.0 使用轮询模式,超速使用异步通知方式; USB2.0 不支持流能力,超速支持海量(bulk)端点的 Stream 方式; USB2.0 在等时传输(isochronous)间隔中没有进入低耗电状态的机制,超速则允许等时传 输服务间隔中自动进入低耗电状态; USB2.0 设 备 无 法 告 知 主 机 在 进 入 低 耗 电 状 态 前 可 容 忍 的 延 迟 时 间 , 超 速 则 提 供 Latency Tolerance 消息; USB2.0 以固定的 1ms/125us 间隔发送 SOF/uSOF(USB 2.0 高速和全速模式)。超速下, 设备可以发送 Interval Adjustment 消息给主机调整间隔+-13.333us; USB2.0 电源管理总是主机导向的,超速下链路两端都支持电源管理; USB2.0 仅在每个 transaction 进行 end-to-end 级别的错误检测、恢复、流控,超速切分 这些功能在 end-to-end 和链路级别。 比较 USB2.0 和超速 Transaction USB2.0 的包是广播方式,设备分析每个包的地址、端点、方向信息来决定自己是否应 该响应。超速包有路由信息,HUB 决定每个包要送达哪个设备,只有一个例外,等时时间 戳包(Isochronous Timestamp Packet, ITP)广播到每一个设备。 超速包: 有四种基本类型的包: Link Management Packet(LMP) , Transaction Packet(TP) , Data Packet(DP) , Isochronous Timestamp Packet(ITP)。 对传输(transfer)一般性的描述: IN transfer: Host 发 IN packet 之后,设备可以持续发送多个数据包,不需要等待每个包都得到 host 的认可包,因为超速是 dual-simplex 的,但是设备收到的总的认可包数量应该和设备发送的 数据包数量一样。IN transfer 在下列情况下完成: 所有数据已经成功传送; 设备发送了一个短包; 端点响应错误。 OUT transfer: Host 可以持续发送数据包,不需要等待设备的认可包,但是 Host 收到的总的认可包数 量应该和 Host 发送的数据包数量一样。OUT transfer 在下列情况下完成: 所有数据已经成功传送; Host 发送了一个短包; 端点响应错误。 四种 transfer 类型:control、bulk、interrupt、isochronous transfer。用意同 USB2.0,但 是 bulk 最大包大小增加为 1024B,control 端点最大包大小增加为 512B。control 端点不支持 burst,bulk 可 burst 1~16,interrupt、isochronous 可以 bust 1~1024。bulk 还增加了 Stream 能力。 第五章 机械 USB3.0 连接器:
USB3.0 标准 A 插头和插座; USB3.0 标准 B 插头和插座; USB3.0 供电 B 插头和插座; USB3.0 Micro-B 插头和插座; USB3.0 Micro-A 插头; USB3.0 Micro-AB 插座; 有些令人意外的是,在不久前把 Mini-AB 插座和 Mini-A 插头废除这后,USB-IF 这次干 脆把 Mini-B 插头和插座也废除了,看来今后几年 Mini 系列连接器要逐渐消失了,替代为 Micro 系列。 适配插头 插头和插座的互连关系: 插座 USB2.0 标准 A USB3.0 标准 A USB2.0 标准 B USB3.0 标准 B USB3.0 供电 B USB2.0 Micro-B USB3.0 Micro-B USB2.0 Micro-AB USB3.0 Micro-AB USB2.0 Micro-B,或 USB2.0 Micro-A 可以看到,USB3.0 为 OTG 应用已经设计好了连接器,也许不久就会出现一个新的 OTG USB2.0 标准 A 或者 USB3.0 标准 A USB3.0 标准 A 或者 USB2.0 标准 A USB2.0 标准 B USB3.0 标准 B 或者 USB2.0 标准 B USB3.0 供电 B,USB3.0 标准 B 或 USB2.0 标准 B USB2.0 Micro-B USB3.0 Micro-B,或 USB2.0 Micro-B USB2.0 Micro-B,或 USB2.0 Micro-A USB3.0 Micro-B,或 USB3.0 Micro-A,或 补充规范以支持 USB3.0。 USB3.0 定义了如下的电缆种类: USB3.0 标准 A 插头到 USB3.0 标准 B 插头; USB3.0 标准 A 插头到 USB3.0 Micro-B 插头; USB3.0 标准 A 插头到 USB3.0 标准 A 插头;--奇怪,这个是干什么用的? USB3.0 Micro-A 插头到 USB3.0 Micro-B 插头; USB3.0 Micro-A 插头到 USB3.0 标准 B 插头; 带 USB3.0 标准 A 插头的固定电缆; 带 USB3.0 Micro-A 插头的固定电缆; 各种插头、插座的机械图在本章中也给出了,Micro 系列的外形怪模怪样的,不过 USB3.0 可以做到那么高的速度,那我们也就欣然接受吧。 电缆内部线材构成、接插件引脚定义、超速接插件的 logo 等细节在本章给出了详尽规定。 电缆、连接器的设计让人很吐血……为了兼容而把一堆屏蔽双绞线塞进一个套管里…… 照这样看,USB 电缆的成本将会大大上升。须知成本很可能是一个方案的命门……个人目 前不太看好 3.0 的当前版本。 第六章 物理层 超速不再使用之前 USB2.0 的 NIZR 编码,而是使用 8b/10b 转换码。似乎和 PCI-E 物理 层 使用 相同 的方 式 ,在 USB3.0 和 PCI-E 规 范中 对编 码方 式 使用 了完 全相 同一 句 话: The definition of this transmission code is identical to that specified in ANSI X3.230-1994, clause 11。
分享到:
收藏