为什么有些USB硬件模拟的属性中多一项Power management

1.本站不保证该用户上传的文档完整性不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者

3.登录后可充值,立即自动返金币充值渠道很便利

}

本文为CoryXie原创译文转载及有任何問题请联系

本章呈现USB 3.0体系结构和关键概念的概览USB 3.0与前面版本的USB类似,因为它是线缆总线支持在主机计算机和广大范围的可同时访问嘚外围设备之间进行数据交换。所附着的设备通过主机调度协议来共享带宽总线允许设备在主机和其他外设的操作过程中被挂上(attached),配置(configured)使用(used),以及拔出(detachedUSB 2.0速度)的同时操作。本章组织成两个关注领域首先关注跨越双总线(span the dual buses)相关的元素的体系结构和概念。其次关注超高速(SuperSpeed)特定的体系结构和概念

后面的章节以更多的细节来描述超高速(SuperSpeedUSB的不同组件和特定要求。期望读者具有对USB 2.0體系结构和概念的基本理解参考的Universal Serial

USB 3.0是一个物理超高速总线与一个物理USB 2.0总线并行组合而成(见图3-1)。 它具有与USB 2.0类似的体系结构组件也就昰:

interconnectUSB 2.0继承了核心的体系结构元素,尽管好些都被修改以容纳双总线架构

基线结构拓扑与USB 2.0一样。它包含一个分层的星形拓扑其中有一個主机在第1层,而集线器在更低的层级中提供对设备的总线连接。

USB 3.0连接模型可容纳后向和前向兼容性以连接USB 3.0或者USB 2.0设备到USB 3.0总线上。类似嘚USB 3.0设备可以连入到USB 2.0总线上。USB 3.0的机械和电气后向/前向兼容性是通过形成该双总线架构的复合线缆以及相关连接器组件(composite cable and 3.0设备通过同时包括超高速(SuperSpeed)和非超高速(non-SuperSpeed)总线接口来完成后向兼容性USB 3.0主机也包括超高速(SuperSpeed)和非超高速(non-SuperSpeed)总线接口,它们本质上是并行的总线可鉯同时活跃。

USB 3.0连接模型允许根据设备支持的最高信号速度主机和设备之间所有集线器的最高速度,以及当前主机能力和配置来发现和配置USB设备。

USB 3.0 集线器是一类特定的USB设备其目的是给总线提供主机控制器所提供的连接之外的更多连接点。在本规范中非集线器设备被称為外围设备(peripheral devices),以便区分于集线器设备(hub device)在本规范中,功能是设备中的一个逻辑实体见图3-3

2.0规范第7章)机械规范(第5章),以忣超高速(SuperSpeed)物理规范(第6章)所组成超高速(SuperSpeed)物理层在第3.2.1节描述。

USB 3.0线缆和连接器组件的机械规范在第5章中提供主机和集线器(定義在下面)有一个或者多个下游连接。上游和下游连接器机械上不可互换因此排除了在集线器上的非法回环连接(loopback

线缆具有8个主要的传导體(conductors):3个双绞信号对用于USB数据通路,以及一对用于电源图3-2显示了USB 3.0线缆的基本信号安排。除了USB 2.0 数据通路所需的双绞信号对之外还有两個双绞信号对用来提供超高速(SuperSpeed)数据通路,一个用于传送(transmit)路径另一个用于接收(receive)路径。

3.0的线缆和插头并没有意图要保持与USB 2.0 的上遊插座兼容作为对用户的帮助,USB 3.0 USB 3.0的插头和插座强制要求标准着色(mandates standard

assemblies)而定义的并且针对后面两类建立了基于工业测试规范的兼容性偠求。类似地也定义有关于机械方面(插入/拔出力量(insertion/extraction gas),等)的要求并通过公认的工业测试规范建立了兼容性要求。

本规范覆盖电源相关的两方面:

? USB总线上的电源分布(Power distribution)涉及关于USB设备如何消耗它们所连接的下游端口所提供的电源方面的问题USB 3.0的电源分布于USB 2.0类似,呮是对于在超高速(SuperSpeed)下操作的设备增加了供给预量(supply budgets

2.0总线部分的电源管理没有改变。在附录C中描述了超高速(SuperSpeed)总线的电源管理使鼡模型

3.0。结果系统软件必须容许物理总线拓扑的动态改变。USB 3.0上有关发现设备连入(attachment)和删除(removal)的体系结构元素(architectural elements)与USB 2.0相同提供了┅些增强,用于管理超高速(SuperSpeed)总线的配置和电源管理的特定方面(specifics

独立的双总线架构允许单独激活每条总线,并支持将USB设备连入到對于设备可用的最高速度总线上

半双工(Half-duplex),二线差分信号;

单向数据流具有协商方向总线事务

2个:2个都用于低速/全速/高速数据通路

主机引导(Host directed),轮询式通信流;包交换(Packet traffic)是广播给所有设备

多级链路电源管理,支持空闲(idle)睡眠(sleep),以及挂起(suspend)状态链路(Link),设备(Device)以及功能(Function)层级的电源管理。

端口级挂起具有两级进入/退出时延(entry/exit

latency);设备电源管理。

时具有更低的电源限制

端ロ硬件检测连接事件,并将端口带入可操作状态准备好进行超高速(SuperSpeed)数据通信。

端口硬件检测连接事件系统软件使用端口命令来将端口转换进入使能(enabled)状态(也就是,可以进行USB数据通信流)

4种数据传输类型:控制,批量中断,等时

超高速(SuperSpeed)总线是一个分层通信架构有下列元素组成:

interconnect)是设备连接到主机并与之通过超高速总线通信的方式。这包括设备连接到总线的拓扑通信层次,它们之间嘚关系以及它们如何互相交互来完成主机和设备间的信息交互。

设备Devices超高速(SuperSpeed)设备是信息交换的源头(sources)或目的(sinks)。它们实現必要的设备端超高速通信层来完成在主机端的驱动和设备端的逻辑功能之间的信息交换

主机Host)。超高速(SuperSpeed)主机是信息交换的源头(source)或目的(sink)它实现必要的主机端超高速通信层来完成通过总线的信息交换。它拥有超高速数据活动性调度(SuperSpeed

interconnect)的参考图通过主机,05级集线器以及设备构成的拓扑结构所呈现的通信层次。

图中的各行(设备或者主机协议,链路物理层)实现超高速互连(SuperSpeed interconnect)的通信层次。第3.2.13.2.3节提供了对每个通信层次的体系结构的概览三个最左边的列(主机,集线器和设备)展示了连接到超高速总线上的设备の间的拓扑关系参考3.2.63.2.7之间的概览章节。最右边一列展示了各通信层次受电源管理机制的影响;参考3.2.5

6章详细描述超高速(SuperSpeed)物理層规范。物理层定义端口的PHY部分以及下游面端口(在主机或集线器上)和设备上的上游面端口之间的物理连接。超高速物理连接包括两個差分数据对一个传输路径以及一个接收路径(见图3-2)。标称信号数据率是5

电气方面每条路径是以发送器(transmitter),通道(channel)以及接收器(receiver)为特点的。这些联合起来代表一条单向差分链路每条差分链路都与在差分链路的发送器一端的电容作交流耦合(AC-coupled)。通道(channel)包括线缆和连接器的电气特性

在电气层次上,每条差分链路都是通过使能接收器终端阻抗(receiver termination)而被初始化的发送器负责检测远端接收器終端阻抗(far end receiver termination),作为总线连接的指示并通知链路层,从而连接状态可以被纳入(be factored into)链路操作和管理

当有接收器终端阻抗(receiver termination)但差分链蕗上没有信号发生时,认为处于电气空闲状态(electrical idle state)当处于这个状态时,低频周期信号(LFPS)被用于指示初始化和电源管理信息LFPS相对容易生成囷检测,且使用很少电源

3.0线缆不包括参考时钟(reference clock),因此物理连接两端的时钟域没有被明确连接比特层(Bit-level)的时序同步(timing transitions),实现本哋接收器的bit恢复时钟与远端发送器的时钟对齐

接收器需要足够的转换(transitions)来从比特流(bit stream)中可靠地恢复时钟和数据。为了确保比特流中囿足够的转换而不依赖于被传输的数据内容,发送器(transmitter)使用8b/10b码(8b/10b code)来将数据和控制字符编码成符号(symbols)控制符号用于完成字节对齐,并被用于分帧(framing)数据以及管理链路特殊的特性使得控制符号可以从数据符号中唯一识别。好几个技术都被用来增强通道性能例如,为了避免驱动过度(overdriving)并增强接收器端的眼图边界(eye margin)当多个具有相同极性的比特位被发送时,可以应用发送器信号弱化(transmitter de-emphasis)同样,可以在接收器端使用均衡(equalization)其中均衡剖面(equalization profile)的特性是在链路训练(link training)的过程中自适应地建立起来的。超高速链路的信号(时序(timing)抖动容忍性(jitter

物理层从链路层接收8位数据,并将数据加扰(scrambles)以降低EMI的放射(emissions)接着将加扰过的8位数据编码成10位符号,用于通过物悝链路传输结果的数据被以扩频速率(at descrambled),生成8位数据并进一步被送给链路层进行进一步处理。

7章定义超高速(SuperSpeed)链路层规范超高速链路(SuperSpeed link)是两个端口的逻辑和物理连接。被连接的端口(connected ports)被称为链路伙伴(link partners)一个端口具有物理部分(参考3.2.1节)和逻辑部分。链蕗层定义了端口的逻辑部分以及链路伙伴之间的通信

? 用于管理它这一端的物理连接的状态机(State machines)。这些包括物理层的初始化(initialization)以及倳件管理(event

? 用于管理与链路伙伴进行信息交换的状态机(State machines)和缓冲机制(buffering)它实现协议,以用于流控制(flow control)包头的可靠交付(reliable delivery)(端口到端口),以及链路电源管理不同的包类型定义在第7章。

? 用于数据和协议层信息元素的缓冲机制(Buffering

端口的逻辑部分还完成:

? 检测接收到的包,包括对接收到的头包进行包分隔符以及错误的检查(为了可靠交付)

? 向协议层提供了一个恰当的接口,用于协议層包信息交换的穿过(pass-through

物理层向逻辑端口提供了一个接口,通过该接口可以:

? 管理PHY的状态(即它这端的物理连接),包括电源管悝以及事件(连接(connection)删除(removal),和唤醒(wake))

? 发送(Transmit)和接收(receive)字节流,其中具有附加的信号用于限定(qualify)字节流是控制序列(control sequences)还是数据。物理层包括离散的(discrete)发送和接收物理链路因此,端口可以同时发送和接收控制和数据信息

链路伙伴之间的协议使鼡特定编码的控制序列(specific encoded control sequences)。注意控制序列被编码成可以容许单个比特错误(single bit error)。控制序列用于端口到端口的命令协议包的分帧(framing)(包分隔符),等等有一个用于电源管理的链路伙伴协议,使用了包头

8章详细描述超高速(SuperSpeed)协议层规范。这个协议层定义了在主機和设备之间"端到端(end-to-end)"的通信规则(间图3-3)超高速协议为主机和设备端点之间提供应用数据信息交换。这个通信关系被称为管道(pipe)这是由主机导向的协议(host-directed protocol),意味着主机决定何时应用数据在主机和设备之间被传送超高速(SuperSpeed)不是轮询协议(polled protocol),因为设备能够代表特定的端点异步地向主机请求服务

所有的协议层通信都是通过包的交换(exchange of packets)来完成的。包(Packets)是数据字节序列具有特定的控制序列(作为分隔符由链路层管理)。主机发送的协议包被中间集线器(intervening hubs)直接路由给外围设备它们不会穿越不在主机和目标设备直接路径上嘚总线路径。外围设备期望自己已经被当做接收到的包的目标设备发送的协议包只是简单地通过集线器向上流向主机。

它们是固定大小嘚包具有类型(type)和子类型(subtype)字段编码,用于特定的目的包头(packet headers)被通过链路层(端口到端口)可靠地传送。剩余的字段被用于端箌端(end-to-end)协议

payloads)在链路层不是被可靠传输的(但是,伴随的数据包头是被可靠传输的)协议层支持的可靠数据包传送是通过明确的确認包(包头)以及在丢失或者数据损坏时的重传来实现的。不是所有的数据信息交换都使用数据确认

bursts)被发送(依赖于主机的调度)。協议允许通过同时在链路上发送和接收来实现总线的有效利用例如,发射器(主机或设备)可以背靠背地突发多个包同时接收器可以發送数据的确认而不中断数据的突发。在一个特定的突发中有多少个数据包是由主机来调度的进一步,在一个IN突发进行的时候主机可鉯同时调度多个OUT突发活跃起来。

协议对一些传输类型提供了流控(flow control)支持设备发起的流控是由设备通过已定义好的协议包来示意的(signaled)。主机发起的流控事件是通过主机调度实现的(主机将会不向管道调度信息流除非其有数据或者缓冲可用)。在接收到流控事件的时候主机会将管道从其调度中删除。对管道的调度信息流(scheduling flows)的恢复可以被主机或者设备发起设备端点会通过一个异步传输的"准备好(ready)"包来通知主机它已经准备好(readiness)(来发送(source)或者接收(sink)数据)。在接收到"准备好(ready)"通知时主机会将管道加入到它的调度中,假设其仍然具有数据或者缓冲区可用

streams)。这意味着通过一个管道实例,源端(source)可以标记(tagged)多于一个的数据流(data stream)并被接收端(sink)识別出来。协议提供让设备引导(direct)在管道上哪一个数据流活跃的能力

设备可以异步(asynchronously)传送通知给主机。这些通知用于传达设备或者功能状态的改变

主机发送一个特殊的包含了主机的时间戳(timestamp)的包头到总线。在这个包中的值被用来保持设备(那些有此必要的)与主机哃步与其他包对比,时间戳包(timestamp packet)被向下转发给不处于低功耗状态的所有路径时间戳包(timestamp packet)的发送是被主机以规范定义的周期来调度嘚。

超高速(SuperSpeed USB的好几个属性都有助于其健壮性:

? 对连入(attach)和拔出(detach)的检测以及系统级别的资源配置

超高速物理层比特误差率(bit error rate)被期望可以低于每10^12个比特出现1个错误。为了针对偶然的误差提供保护包分帧(packet errors)。每个包都包含有CRC用于提供对多个比特出错的检测。当需要数据完整性(data integrity)时可以调用硬件或者软件的出错恢复过程。

word)都有其自己的CRC包头或者链路控制字中(link control word)的失败CRC都被认为是严重错誤,将会导致链路层重试以从错误中恢复。数据包负载(data packet payloads)中的失败CRC被认为是指示毁坏的数据并可以被协议层请求重传(resend)数据包来處理。

transmission)物理层提供(平均地)每10^12个比特不超过1个错误比特的出错率。链路层使用出错校验来捕捉错误并且包头的重传(retransmission of the packet

错误可以被硬件或者软件处理。硬件的出错处理包括报告以及重传失败的头包(failed header packets)在通知客户端软件传输失败之前,USB主机控制器会尝试重传遇到错誤的传输多达3次客户软件可以以实现特定的方式恢复。

architecture)链路(link),设备(device)以及功能(function)不同的领域都提供了对电源管理的支持(參考图3-3 这些电源管理领域并不是紧耦合的,但是的确存在相互依赖关系他们大多是基于对链路(links),设备(devices)以及功能(functions)的电源狀态(power

state)可以由设备所驱动或者由下游端口上的可被主机软件编程的不活动定时器所驱动。链路电源状态(link power states)由集线器向上传导(propagated upwards)(唎如当所有下游端口都处于低功耗状态时,要求集线器将其上游端口也转换到低功耗状态)改变链路电源状态的决定是在本地(locally)做絀的。主机并不直接跟踪单个链路的电源状态在给定的数据交换中,由于只涉及那些在主机和设备之间的链路那些没有被使用来做数據通信的链路可以被置于低功耗状态。

主机对单个链路的电源状态并不直接控制也没有可见性。这就暗含当主机在总线上发起一次通信時在主机和设备之间的路径上的一段或者多段链路可能正处于降低功耗状态(reduced power state)。具有带内的(in-band)协议机制可以强制这些链路转换到可操作的电源状态并通知主机转换已经发生。通过这些机制主机知道(可以计算)将到任何特定设备的路径带回到活跃的,准备好的状態所需要的最差转换时间(worst-case transition time)类似地,当其上游链路处于降低功耗状态(reduced power state)的设备要发起一次通信时将会将其链路转换进可操作状态,这就会将在它和主机之间的所有链路进入可操作状态

链路电源管理的关键点在于:

? 设备发送异步"准备好"通知给主机。

? 包被路由(routed)允许未涉及数据通信的链路转换进入或者保持在低功耗状态。

? 遇到处于低功耗状态的端口的包会导致这些端口转换出低功耗状态,并具有转换事件的指示

就像USB 2.0总线一样,通过类似的端口挂起(port-suspend)机制设备可以被明确地挂起。这将把链路设置到最低链路电源状态并且对设备的电源汲取要求(power draw

(composite) devices】,每个功能都可以被独立地置于更低功耗状态注意,当被主机通过端口命令(port command)控制时设备会转换進入被挂起(suspended)状态。当设备内所有独立的功能都被挂起时设备并不会自动转换进入被挂起状态。

设备的功能可以具有作为远程唤醒源(remote wake sources)的能力功能的远程唤醒特性(remote-wake feature)必须被主机明确地使能。类似地有协议通知(protocol

2.0共享基本的体系结构。它们被要求携带用于自我标識(self-identification)的信息和通用的配置它们也被要求呈现与定义的超高速设备状态(SuperSpeed Device States)一致的行为。

所有的设备都被主机在枚举时赋予一个USB地址烸个设备都支持一个或者多个管道(pipes),通过这些管道主机可以与设备通信所有的设备都必须在端点0上支持一个特定的管道(designated pipe),设备嘚默认控制管道(Default Control Pipe)就附着于此所有的设备都支持一个共通的访问机制,用于通过这个控制管道访问信息参见第9章中关于控制管道完整的定义。

USB 3.0规范定义了两组设备可以连接到超高速(SuperSpeed)主机上 他们在下面被简要描述。

2.0主机上能被检测到并允许系统软件引导用户将設备连入可支持超高速的端口(SuperSpeed capable port)。当操作在非超高速(non-SuperSpeed)时设备的实现可以提供恰当地全功能支持。对于外围设备不允许超高速(SuperSpeed)和非超高速(non-SuperSpeed)同时操作。

portion)的规范在第10章详细描述集线器一直以来都是USB的即插即用(plug-and-play)架构的关键元素。主机提供实现特定(implementation-specific)个数的丅游端口设备可以连入其中。集线器提供了更多的下游端口因此它们为用户提供了简单地连接性扩展机制,用于更多设备的连入

为叻支持USB 3.0的双总线架构,USB 3.0集线器在逻辑上是两个集线器的组合:一个USB 2.0集线器和一个超高速(SuperSpeed)集线器(参见图3-1中的集线器)在USB 3.0集线器内部,连接到上游端口的线缆的电源和地线(power and ground)在两个单元之间共享USB 2.0集线器单元连接到USB 2.0数据线,而超高速(SuperSpeed)集线器单元连接到超高速(SuperSpeed)數据线USB 3.0集线器作为两个设备连接到上游,一个超高速总线上的超高速(SuperSpeed)集线器以及一个USB 2.0总线上的USB 2.0集线器。

2.0集线器的详情集线器检測下游端口上的设备连入(attach),删除(removal)以及远程唤醒(remote-wake)事件,并使能到下游设备的电源分布

router)。它也有对复位(reset)以及挂起/恢复(suspend/resume)信号的硬件支持超高速控制器响应标准的,集线器特定的状态/控制命令(status/control commands)由主机来配置集线器,并监视和控制其端口

超高速集线器以几种方式积极地参与到(端到端的)协议中,包括:

? 路由出向(out-bound)的包到明确的下游端口

? 聚集入向in-bound)的包到上游端口。

? 传导时间戳包(timestamp packet)到所有的不处于低功耗状态的端口

? 检测何时包遇到处于低功耗状态的端口。集线器将目标端口转换出低功耗状态并把该包遇到处于低功耗状态的端口这一情形通知主机和设备(入向(in-band))。

USB 3.0主机通过一个主机控制器与USB设备交互为了支持USB 3.0的双总线架构,主机控制器必须同时包含超高速和USB 2.0元素可以同时在每条总线上管理主机和设备之间的控制,状态以及信息交换

主机包括一个实现特萣的个数的根下游端口,用于超高速和USB 2.0通过这些端口,主机:

? 管理主机和USB设备之间的控制流

? 管理主机和USB设备之间的数据流。

? 收集状态和活动性统计

? 提供电源给连入的设备。

USB系统软件从USB 2.0中继承其体系结构方面的要求包括:

2.0继承数据流模型,包括:

? 主机和设備之间的数据和控制交换是通过一组单向或者双向管道来完成的

数据传输在主机软件和特定的设备端点之间发生。端点和设备上的特定功能(function)相关这些在主机软件到特定的功能相关的端点之间的相关性被称为管道(pipes)。设备可以具有多于一个活跃的管道具有两种管噵:流式(stream)和消息式(message)。流数据(Stream data)没有USB定义的结构而消息有。管道在数据带宽传输服务类型(见下),以及端点特性(如方向囷缓冲大小)方面具有关联

? 大多数管道是在设备被系统软件配置之后才开始存在(come into existence)。但是有一个消息管道,即默认控制管道(Default Control Pipe)一旦设备被加电并进入默认状态就一直存在,用来提供对设备配置状态,控制信息的访问

超高速(SuperSpeed)对于批量(bulk)传输类型具有一個扩展,称为流(Streams)流(Streams)通过一个标准的批量管道(bulk

}

除bios设置外还需要主板支持才能洎动开机启动

每个电脑都有电源管理的选项,只是名字不同进入bios后自己一项一项的找看看

本回答由电子数码分类达人 史晓广推荐

你对这個回答的评价是?

}

我要回帖

更多关于 USB硬件模拟 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信