USB PD规范 第二章浓缩了USB PD规范的精华,走马观花地讲了USB PD协议的工作原理。
假设你已经接触过USB PD协议,有一些基本的了解和相关知识,请先阅读本章,浅浅地尝一尝,试着找找感觉再决定要不要更加深入地了解和学习。
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 充电。
相关阅读
评论 (0)