完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
QQ图片20181019141751.png (104.22 KB, 下载次数: 0) 3.png (130.53 KB, 下载次数: 0) |
|
相关推荐
3 个讨论
|
|
4. 如果 SRC 端口是一个多口的系统 (1)当需要输出备用功率时,将产生 Gotomin 的 Request。 1. 当 SRC 检测到线路断开后,会在 tSafe5V 的时间内将电压降到 Vsafe5V, 在 tSafe0V 的时间内降到 Vsafe0V(SRC 通过检测 ADC 的值来看线路有无断开)。 2. 当 SRC 在 tReceive 时间内,收到为响应 Message 而发出的 GoodCRC包,在此过程中检测到了错误。 (1)由于 CRCReceiveTimer 的期满,在 tSoftReset 时间内,产生了 Soft Reset。 (2)如果 Soft Reset 没有按时完成的话,就会在 CRCReceiveTimer timer out 之前,在 tHardReset 时间内产生 Hard Reset。同时在 1-1.5S 内将 VBUS 调到 USB 的默认电压 5V。 (3)当端口 SRC 同时也是 VCONN SRC 时,在发生 Hard Reset的过程中 VCONN 也是会掉电的。 3. SRC 为了进一步尝试通讯但没有收到响应表示出现了错误。 4. 在 Power 协商过程中出现的错误会自动地产生 Hard Reset 为了将Power 维持在默认的等级(5V)。 1. 当协议层出现错误时,会引起端口中的任意一个发出 Soft Reset.从而复位 counters, timers 和 states,但这个动作不会改变协商好的电压,电流或端口的模式(比如 SRC,DFP/UFP,VCONN SRC)也不会导致退出现有的工作模式。 2. 当线路中出现严重错误的时候,两个端口中的任意一个都可能会发出Hard Reset 的信号。 (1)和 Soft Reset 一样,Hard Reset 会 reset protocol,同时为了保护 S NK,将 Power Supply 降到 vSafe0V 或 vSafe5V 输出。 (2)使端口的数据模式维持在最初状态的 DFP。 (3)当 SNK 为 VCONN SRC 时,此过程会关闭 VCONN 供电。同时将SRC 维持在 VCONN SRC 的状态。 3. 在 Hard Reset 产生后,寄望于对端可以在 tNoResponse 的时间内对 Hard Reset 请求做出响应。如果未有响应,进行 Hard Reset 累加(最大为 2)直到 SRC 进入 Error Recovery 状态。 2.6.2 SNK Operation 在连接状态时(没有 PD 的连接) 1. SNK 会通过对端有无输出 vSafe5V 来判断连接。 2. 对 DRP 端口来说会切换使其变成 SNK 以完成和 SRC 的连接。 3. 一旦 SNK 在 VBUS 上检测到 vSafe5V 的存在,它通过等对端是否发出 SRC_CAP 来判断对端为具有 PD 能力的 SRC。 4. 如果 SNK 没有在 tTypeCSinkWaitCap 时间内收到 SRC 发出的SRC_CAP,通过发出 Hard Reset 信号寄望于 SRC(具有 PD 能力)可以发出 SRC_CAP。 5. SNK 不会生成 SOP’或 SOP"的包,也没有必要检测 SOP’或 SOP"的包,同时不会去识别它们。 建立 PD 的连接(PD 连接没完成或没有建立明确的契约关系) 1. SNK 收到了 SRC_CAP 的 Message,然后用 GoodCRC 响应。 2. SNK 不会生成 SOP’或 SOP"的包,也没有必要检测 SOP’或 SOP"的包,就算检测到也要将其丢掉。 建立显性契约关系(PD 连接但在 PRS 或 FRS 之后的契约关系还没建立) 1. SNK 从 SRC 那边收到 SRC_CAP Message,然后用 Request Message向 SRC 发出供电请求。如果是一个合法,有效的 Request, SNK 收到了对端的 Accept Message,当准备好供电给 SNK 协商好的 Power 之后,同时会收到 SRC 发出的 PS_RDY Message,这个时候显性契约就建立了: (1)SNK 申请的电压应该是 SRC 发出的电压能力中的一个,即使它是被 USB2.0,USB3.1,USB Type-C 1.2 或 USBBC 1.2 所支持的vSafe5V 输出,为的能够协商更高的电压。如果用了 Request Message 将会导致错误,SNK 就不会向申请任何的供电请求。 (2)假如 SNK 申请的电压能力不在 SRC 所能提供的范围内,那么将以默认的第一个进行申请,SNK 将它改变申请的动作通知最后一个。 (3)SNK 不会生成 SOP’或 SOP"的包,也没有必要检测 SOP’或 SOP"的包,就算检测到也要将其丢掉。 在 PD 连接过程中(建立了显性契约关系状态到 PE-SNK-Ready 状态) 1. SNK 会处理和响应(如果需要的话)所有收到的包,无论何时,当它本地策略需要的时候会发送恰当的包。 2. 当 SNK 的申请能力需要改变的时候,会通过发新的 Request Message 来通知 SRC。SNK 申请的电压应该是 SRC 发出的电压能力中的一个,即使它是被 USB2.0,USB3.1,USB Type-C 1.2 或 USBBC 1.2 所支持的 vSafe5V 输出,为的能够协商更高的电压: (1)在一个错误的状态中,SNK 不会用 Request Message 来申请任何的电压能力。 (2)假如 SNK 申请的电压能力不在 SRC 所能提供的范围内,那么将以默认的第一个进行申请,SNK 将它改变申请的动作通知最后一个。 3. SNK 在 CC 线路上总是 asserted RD。 4. 当端口电力模式为 DRP 时,SNK 可以发起或收到电力模式转变的请求。在 PRS 之后,SNK 将会变成 SRC,在明确的契约关系形成之前,由默认的契约关系暂时代替其工作。 5. 当端口数据模式为 DRD 时,SNK 可以发起或收到数据模式转变的请求。在 DRS 之后,DFP 会变成 UFP.端口的电力模式还是 SNK,同时 VCONN SRC 也不会发生改变。 6. SNK 可以发起或接收转换 VCONN SRC 供应的请求.在 VCONN 交换期间,是可以被两端所运用的(中断之前)。此时端口的电力模式和数据模式没有发生改变。 7. 当 SNK 也是 VCONN SRC 的时候,在没有其它 SOP 通讯时,可以在任何时候用 SOP’或 SOP"与 Cable Plug 进行通讯。 (1)当 SNK 收到 SOP 的包,就算此时进行 SOP’或 SOP"通讯也要立即结束,优先开始 SOP 通讯(Cable Plug 超时,不会重试了)。 (2)如果 SNK 正在进行 SOP’或 SOP"通讯的时候需要发起 SOP 通讯(比如供电能力的改变),SOP’或 SOP"的通讯都将被终止。 (3)当端口 SNK 同时也是个 DFP 时,可以通过对 Cable Plug 发包来控制 Mode 的进入和退出以及可以控制工作的模式。 8. 当端口既是 SRC,同时也为 DFP 时 (1)SNK 可以发起结构化和非结构化的 VDM 的 Message。 (2)SNK 可以在 SRC 端口上控制 Mode 进入与退出和用结构化 VDM 的 Message 来控制其工作的模式。 1. 当 SNK 检测到线路上没有 VBUS 输出时,这就意味着 PD 连接的结束,除非是由于 Hard Reset, PRS,FRS 中的一个导致状态回到 vSafe0V。 2. SNK 检测到插头的移除,然后开始进行放电。 3. 当 SNK 在 tReceive 时间,收到了为响应 Message 而发出的 GoodCRC 包的过程中检测到了错误。 (1)由于 CRCReceiveTimer 的期满,在 tSoftReset 时间内,产生了 Soft Reset。 (2)如果 Soft Reset 没有按时完成的话,就会 CRCReceiveTimer timer out 之前,在 tHardReset 时间内产生 Hard Reset。同时在 1-1.5S 内将 VBUS 调到 USB 的默认电压 5V。 (3)SNK 为了进一步尝试通讯但没有收到响应表示出现了错误。 1. 当协议层出现错误时,会引起端口中的任意一个发出 Soft Reset。从而复位 counters, timers 和 states,但这个动作不会改变协商好的电压,电流或端口的模式(比如 SRC,DFP/UFP,VCONN SRC)也不会导致退出现有的工作模式。 2. 当线路中出现严重错误的时候,两个端口任意一个都可能会发出 Hard Reset 的信号。 (1)和 Soft Reset 一样,Hard Reset 会 reset protocol,同时为了保护SNK,将 Power Supply 降到 vSafe0V 或 vSafe5V 输出。 (2)使端口的数据模式维持在最初状态的 UFP。 (3)当 SNK 为 VCONN SRC 时,Hard Reset 会关闭 VCONN 供电.此时将回到最初 SRC 也是 VCONN SRC 的状态。 (4)将会导致退出所有的模式,比如 SRC 会退出现有的工作模式。 在 Hard Reset 产生后,寄望于 SRC 可以在 tTypeCSinkCap 的时间内对Hard Reset 请求做出响应。如果 SRC 未有回应,在 UFP 还维持在 PESNKWaitforCap 状态的时候,再发出两个 Hard Reset 信号。 2.6.3 Cable Plug Cable Plug 是由 VCONN 供电的,但不需要清楚此时的状态关系。 Cable Plug 不会主动发起 Message 的序列,只有为了响应 VCONN SRC 发的包才会发起 Message。 1. 在任何时候,通讯都可以被中断。 2. 在 VCONN SRC(DFP/UFP)与 Cable Plug 的通讯的时候,没有时间超时的说法。 3. Cable Plug 准备响应可能的重复请求。 1. Cable Plug 检测到 Hard Reset 信号后来判定 SRC 和 SNK 已经 Reset,之后 Reset 自身(相同的掉电过程)。 (1)Cable Plug 自身不能生成 Hard Reset 信号。 (2)Hard Reset 会使 VBUS 和 VCONN 同时掉电,这一点也就相当于 Reset Cable Plug 自身。 2. Cable Plug 检测到 Cable Reset 的信号来决定是否需要 Reset 它自身(相同的掉电过程)。 2.7 Architectural Overview 架构概述 逻辑架构并没有打算作为一种实现架构。按照定义,实现架构是产品定义的一部分,即它是在这个标准的范围之外的。 在每个具有 USB PD 能力的设备里面,USB PD 架构是由大量主要成分组成的。通讯堆栈在 Figure 2-3 可以看到包括了: A Device Policy Manager(see Section 8.2)存在于所有的设备当中,通过一个或多个端口的 Local Policy 用来管理 USB PD 内部的资源。 A Policy Engine(see Section 8.3)存在于每个 USB PD 的端口中来执行 Local Policy。 A Protocol Layer(see Chapter 6)使 Source 和 Sink 端口之间的 Message 进行交换。 A Physical Layer(see Chapter 5)操控通讯线路上 bits 的传送与接收,同时也操控数据的传送。 此外,具有 USB PD 能力的设备同样可以作为 USB 设备在 USB 中实现通讯(see Figure 2-4)。一种任意的系统策略管理器(see Chapter 9)存在于 USB Host 与 PD设备之间的通讯中,经过 root 端口,可能地遍布在一棵树上的 USB 集线器上。在每个设备上,设备策略管理器与 USB 接口相互作用为了可以在域中提供和更新 PD 的相关信息。Note:PD 设备不需要有一个像 USB 设备那样的接口。 Figure 2-5 描述了两个连接 PD 端口的逻辑模块。另外,通讯协议 stack 部分上面也有描述包括了: 作为一个 SRC 或者 DRP 的设备:一个或多个的 SRC 向一个或多个的端口供电。 作为一个 SNK 或者 DRP 的设备:一个 SNK 吸收电能。 一个 USB-C 接口的控制模块(see Section4.4)会用 USB Type-C 1.2 中定义的协议来检测线缆的连接或断开。 USB PD 用的是 USB Type-C 1.2 定义的标准线缆。 设备的策略管理器会和通信 stack 进行通讯,SRC/SNK 和 USB-C 的控制模块来管理 Provider 和 Consumer 中的资源。 Figure 2-5 说明了一个 Provider 和 Consumer 内部通讯的框架结构。DRP 的设备结合了 Provider 和 Consumer 的功能要素。Provider 也可以包括多个的 SRC端口,它们每一个都有自己的通讯 stack 和 USB-C 接口的控制。 [size=0.83em]3.png [color=rgb(102, 102, 102) !important](130.53 KB, 下载次数: 0) 下载附件 [color=rgb(102, 102, 102) !important]2018-10-19 14:26 上传 |
|
|
|
|
|
2.7.1 Policy
存在两种可能等级的策略: 1) 系统策略应用在系统范围内来管理多个的 Providers 和 Consumers。 2) 本地策略通过 DPM 作用在一个 Provider 或一个 Consumer 中。 策略包括了一些逻辑模块: System Policy Manager(整个系统范围内) Device Policy Manager(每一个 Provider 或 Consumer) Policy Engine(每一个 SRC 和 SNK 端口) 2.7.1.1 System Policy Manager 既然 USB PD 的协议本质上是端口对端口,系统策略的启用需要另外的通信机制即 USB 来实现通讯。系统策略管理会监控和控制通过 USB 连接上的各个Provider 和 Consumer 的状态。系统策略管理存在于 USB Host 当中,每一个连接上的设备用设备策略管理器通过 USB 口进行通讯。没有 USB 数据通信能力的或者没有数据连接的设备将不能参加策略的管理。 任何给定的系统,系统策略管理是可选择的,非强制的。所以在没有系统策略管理的时候,USB PD Providers 和 Consumers 也可以正常工作。这一点包括了在系统中,USB Host 没有提供系统策略管理或者系统中没有任何的 USB Host。在不存在 Host 的情况下,USB PD 只是用来起到充电的目的,或给设备充电。 一个 USB Host 在没有系统策略管理的情况下,Provider 和 Consumers 可以基于 USB 的电源规则,自己独立协商出 Power, 使得在可用的电源管理选项上没有过多的限制。 2.7.1.2 Device Policy Manager Device Policy Manager 在一个特定的 Consumer 或者 Provider 中提供机制来监测和控制 USB PD 的系统。Device Policy Manager 通过和系统策略进行通讯能够使 Local Policy 在系统中被强制执行。Local Policy 被制定在每一个依据于Device Policy Manager 控制下的 SRC/SNK 端口之中,用 Policy Engine 进行通讯且 USB-C 的端口控制。 2.7.1.3 Policy Engine Providers 和 Consumers 在它们直连的 SRC 或 SNK 中可以自由地执行 Local Policies。对端口来说是支持通过 Policy Engine 进行协商和状态机制的执行的。 Policy Engine 会直接与 Device Policy Manager 相互作用为了来确定当前的 Local Policy 被执行。无论何时,当 Local Policy 发生改变的时候,Device Policy Manager 都会通知给 Policy Engine。 2.7.2 Message Formation and Transmission 2.7.2.1 Protocol Layer The Protocol Layer 会组织好端口间用来通讯的 Message。比如 Capabilities Messages,request Message 和 acknowledgements。此外,它也会组织用来进行转换角色的 Message 和保持存在的状态。它从 Policy Engine 收到输入的Message,然后表明具体发送哪个 Message,同时向 Policy Engine 表明响应的Message。 The basic protocol 使用推送模式即 Provider 向 Consumer 通告自己的能力,相应地会用 Request 来响应。但是,the Consumer 可以异步申请 the Provider 能够提供的能力,即选择另一种电压/电流。 2.7.2.2 PHY Layer PHY Layer 是负责通过 USB Type-C CC 来进行收发和管理数据的。它尽可能的在线路上避免冲突,而且当发生冲突时,矫正它。它也会用 CRC 来检测 Message 是否错误。 2.7.3 Collision Avoidance 2.7.3.1 Policy Engine 在 SRC 端的 PE 状态机表明了 Protocol Layer 上由 SRC 发起的每个 AMS 序列初始和结束的状态。在 SNK 端的 PE 状态机表明了 Protocol Layer 上由 SNK 发起的每个 AMS 序列的初始状态。这一点能够协调由两端发起的 AMS 的序列。 2.7.3.2 Protocol Layer 在 SRC 端的 Protocol Layer 会请求 PHY 将 Rp 的值设置成 SinkTxOk 表明 SNK可以通过发送序列中第一个 Message 来发起 AMS。既然 SRC 打算发起 AMS,那么在 SRC 端的 Protocol Layer 会请求 PHY 将 Rp 的值设置成 SinkTxNG,表明 SNK 此时不能发起 AMS。 在 SNK 端的 Protocol,当 Policy Engine 表明 AMS 是可以发起的时候,在发送序列中第一个 Message 来发起 AMS 序列之前将会等 Rp 的值被设置到 SinkTxOk。 2.7.3.3 PHY Layer 在 SRC 端的 PHY Layer 会依照 Protocol Layer 的请求把 Rp 的值设置成 SinkTxOk 或 SinkTxNG。而 SNK 端 PHY Layer 将会检测当前的 Rp 的值然后通知 Protocol Layer。 2.7.4 Power supply 2.7.4.1 Source 每一个 Provider 包含一个或多个 SRC 端口及相应的一个或多个 Power 源。这些 SRC 由本地策略所控制。SRC 开始 USB 的默认工作状态,端口在 VBUS 上 提供 vSafe0V 或 vSafe5V,在一个 Hard Reset 之后也会回到这个状态。如果 SRC将 vSafe0V 作为默认状态,检测到连接的时候,将它的输出调整到 vSafe5V。 2.7.4.2 SNK Consumers 被认为有一个和端口连接的 SNK。这个 SNK 也由自己的本地策略所控制。当端口工作在 vSafe5V 和 USB 定义的默认电流等级,此时 Sink 开始工作在 USB 的默认状态。且在连接断开或发生 Hard Reset 之后会回到这个状态。 2.7.4.3 Dual-Role-Power Ports DRP 既可以作为 SRC 也可以作为 SNK 来工作而且可以通过用 PRS 或 FRS 来改变端口间的工作模式。 2.7.4.4 Dead Battery or Lost Power Detection USB Type-C 1.2 中定义了一套机制打算用 Dead Battery 来给 SNK 或 DRP 充电。 2.7.5 DFP/UFP 2.7.5.1 Downstream Facing Port (DFP) 在 USB 拓扑结构中,下行端口或 DFP 和 USB-A 起到的作用是相当的。DFP 就相当于 USB 中的 Host 而且只有当它是一个 DFP 的时候才支持 USB 的通信。 一个类似于墙插的产品可以是 DFP,然而却没有进行 USB 通信的能力。DFP 也可以作为主总线来控制交替模式。 2.7.5.2 Upstream Facing Port (UFP) 在 USB 拓扑结构中,上行端口或 UFP 和 USB-B 起到的作用是相当的。UFP 就相当于 USB 中的 Device 而且只有当它是一个 UFP 的时候才支持 USB 的通信。 Products which charge 可以是一个 UFP 然而却没有进行 USB 通信的能力。 2.7.5.3 Dual-Role Data Ports DRP 既可以作为 SRC 也可以作为 SNK 来工作而且可以通过 DRS 来转换数据模式。Note:产品的数据模式是 DRD,但不是 DRP。例如从逻辑上讲,它们可以在 DFP 和 UFP 之间转变自己的数据模式,即使它们是 SRC-Only 或是 SNK-Only。 2.7.6 VCONN Source 一个端口,最初为 SRC,同时也是 VCONN SRC。Cable Plug 的线缆根据 VCONN供电来判断 SOP’。在 SRC 和 SNK 端口之间谁来给 VCONN 供电是可以转换的,以此来确保可以持续给 Cable Plug 供电。为了确保和 Cable Plug 之间进行可靠的通讯,只有 VCONN SRC 允许和 Cable Plug 进行通讯。在 PRS,DRS 或 FRS 之前,如果它们需要在转换角色之后可以和 Cable Plug 进行通讯,端口需要确保自己是 VCONN SRC。 2.7.7 Cable and Connectors 2.7.7.1 USB-C Port Control USB-C 端口的控制模块提供了机制来通知 Device Policy Manager 关于线缆的连接与断开。USB PD 的标准认为经过论证的 USB 线缆和相关的检测机制都定义在 USB Type-C 1.2 的标准中。 2.7.8 Interactions between Non-PD/BC/PD devices USB PD 只有在两个具备 PD 能力设备直连的时候才会正常工作的。当一个设备发现它处于混合环境当中时,即另一个设备不具备 PD 的能力,那么现有提供 vSafe5V 的规则就是根据 USB2.0, USB3.1, USBBC1.2 or USB Type-C 1.2 等标准制定的。 将会有两种情况需要考虑到: (1)The Host(DFP/Source)是 Non-PD,自己不会向 SNK 发送任何的通告能力。与其连接上并且具备 PD 能力的设备不会看到任何的通告能力,将会采用基于 USB2.0,USB3.1,USBBC1.2 或 USB Type-C1.2 标准的模式来工作。 (2)The Device(UFP/Sink)是 Non-PD,自己不会看到任何对端发来的通告能力,也就不会响应对端的通讯。The Host 将会按照 USB2.0,USB3.1,USBBC1.2 或 USB Type-C1.2 中定义的持续输出 vSafe5V 给 VBUS。 2.7.9 Power Rules Power Rules 定义了由 USB PD 中的 SRC 提供和 USB PD 的 SNK 所使用电压,电流的范围。详细的介绍请看第十章。 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3100 浏览 3 评论
1551 浏览 3 评论
4704 浏览 1 评论
2041 浏览 1 评论
3295 浏览 2 评论
535浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:36 , Processed in 0.671385 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号