————— 往 期 回 顾 —————
第01期:USB PD规范(中文版) 第二章 第一节:USB PD介绍
第02期:USB PD规范(中文版) 第二章 第二三节:更新和兼容性
第03期:USB PD规范(中文版) 第二章 第四节:USB PD 支持设备
第04期:USB PD规范(中文版) 第二章 第五节:SOP* 通讯
USB PD规范 第二章浓缩了USB PD规范的精华,走马观花地讲了USB PD协议的工作原理。
假设你已经接触过USB PD协议,有一些基本的了解和相关知识,请先阅读本章,浅浅地尝一尝,试着找找感觉再决定要不要更加深入地了解和学习。
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 接口的控制。
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。
(本文为连载系列文章,后期会持续更新)
译者:李熙民@优微科技
————— 往 期 回 顾 —————
第01期:USB PD规范(中文版) 第二章 第一节:USB PD介绍
第02期:USB PD规范(中文版) 第二章 第二三节:更新和兼容性
第03期:USB PD规范(中文版) 第二章 第四节:USB PD 支持设备
第04期:USB PD规范(中文版) 第二章 第五节:SOP* 通讯
——— 充 电 头 网 精 选 专 题 ———