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。
(本文為連載系列文章,后期會持續更新)
譯者:李熙民
相關閱讀