USB PD規(guī)范 第二章濃縮了USB PD規(guī)范的精華,走馬觀花地講了USB PD協(xié)議的工作原理。
假設你已經(jīng)接觸過USB PD協(xié)議,有一些基本的了解和相關知識,請先閱讀本章,淺淺地嘗一嘗,試著找找感覺再決定要不要更加深入地了解和學習。
2.7 Architectural Overview 架構概述
邏輯架構并沒有打算作為一種實現(xiàn)架構。按照定義,實現(xiàn)架構是產(chǎn)品定義的一部分,即它是在這個標準的范圍之外的。
在每個具有 USB PD 能力的設備里面,USB PD 架構是由大量主要成分組成的。通訊堆棧在 Figure 2-3 可以看到包括了:
- A Device Policy Manager(see Section 8.2)存在于所有的設備當中,通過一個或多個端口的 Local Policy 用來管理 USB PD 內(nèi)部的資源。
- A Policy Engine(see Section 8.3)存在于每個 USB PD 的端口中來執(zhí)行 Local Policy。
- A Protocol Layer(see Chapter 6)使 Source 和 Sink 端口之間的 Message 進行交換。
- A Physical Layer(see Chapter 5)操控通訊線路上 bits 的傳送與接收,同時也操控數(shù)據(jù)的傳送。
此外,具有 USB PD 能力的設備同樣可以作為 USB 設備在 USB 中實現(xiàn)通訊(see Figure 2-4)。一種任意的系統(tǒng)策略管理器(see Chapter 9)存在于 USB Host 與 PD設備之間的通訊中,經(jīng)過 root 端口,可能地遍布在一棵樹上的 USB 集線器上。在每個設備上,設備策略管理器與 USB 接口相互作用為了可以在域中提供和更新 PD 的相關信息。Note:PD 設備不需要有一個像 USB 設備那樣的接口。
Figure 2-5 描述了兩個連接 PD 端口的邏輯模塊。另外,通訊協(xié)議 stack 部分上面也有描述包括了:
- 作為一個 SRC 或者 DRP 的設備:一個或多個的 SRC 向一個或多個的端口供電。
- 作為一個 SNK 或者 DRP 的設備:一個 SNK 吸收電能。
- 一個 USB-C 接口的控制模塊(see Section4.4)會用 USB Type-C 1.2 中定義的協(xié)議來檢測線纜的連接或斷開。
- USB PD 用的是 USB Type-C 1.2 定義的標準線纜。
設備的策略管理器會和通信 stack 進行通訊,SRC/SNK 和 USB-C 的控制模塊來管理 Provider 和 Consumer 中的資源。
Figure 2-5 說明了一個 Provider 和 Consumer 內(nèi)部通訊的框架結構。DRP 的設備結合了 Provider 和 Consumer 的功能要素。Provider 也可以包括多個的 SRC端口,它們每一個都有自己的通訊 stack 和 USB-C 接口的控制。
2.7.1 Policy
存在兩種可能等級的策略:
1) 系統(tǒng)策略應用在系統(tǒng)范圍內(nèi)來管理多個的 Providers 和 Consumers。
2) 本地策略通過 DPM 作用在一個 Provider 或一個 Consumer 中。
策略包括了一些邏輯模塊:
- System Policy Manager(整個系統(tǒng)范圍內(nèi))
- Device Policy Manager(每一個 Provider 或 Consumer)
- Policy Engine(每一個 SRC 和 SNK 端口)
2.7.1.1 System Policy Manager
既然 USB PD 的協(xié)議本質(zhì)上是端口對端口,系統(tǒng)策略的啟用需要另外的通信機制即 USB 來實現(xiàn)通訊。系統(tǒng)策略管理會監(jiān)控和控制通過 USB 連接上的各個Provider 和 Consumer 的狀態(tài)。系統(tǒng)策略管理存在于 USB Host 當中,每一個連接上的設備用設備策略管理器通過 USB 口進行通訊。沒有 USB 數(shù)據(jù)通信能力的或者沒有數(shù)據(jù)連接的設備將不能參加策略的管理。
任何給定的系統(tǒng),系統(tǒng)策略管理是可選擇的,非強制的。所以在沒有系統(tǒng)策略管理的時候,USB PD Providers 和 Consumers 也可以正常工作。這一點包括了在系統(tǒng)中,USB Host 沒有提供系統(tǒng)策略管理或者系統(tǒng)中沒有任何的 USB Host。在不存在 Host 的情況下,USB PD 只是用來起到充電的目的,或給設備充電。
一個 USB Host 在沒有系統(tǒng)策略管理的情況下,Provider 和 Consumers 可以基于 USB 的電源規(guī)則,自己獨立協(xié)商出 Power, 使得在可用的電源管理選項上沒有過多的限制。
2.7.1.2 Device Policy Manager
Device Policy Manager 在一個特定的 Consumer 或者 Provider 中提供機制來監(jiān)測和控制 USB PD 的系統(tǒng)。Device Policy Manager 通過和系統(tǒng)策略進行通訊能夠使 Local Policy 在系統(tǒng)中被強制執(zhí)行。Local Policy 被制定在每一個依據(jù)于Device Policy Manager 控制下的 SRC/SNK 端口之中,用 Policy Engine 進行通訊且 USB-C 的端口控制。
2.7.1.3 Policy Engine
Providers 和 Consumers 在它們直連的 SRC 或 SNK 中可以自由地執(zhí)行 Local Policies。對端口來說是支持通過 Policy Engine 進行協(xié)商和狀態(tài)機制的執(zhí)行的。
Policy Engine 會直接與 Device Policy Manager 相互作用為了來確定當前的 Local Policy 被執(zhí)行。無論何時,當 Local Policy 發(fā)生改變的時候,Device Policy Manager 都會通知給 Policy Engine。
(本文為連載系列文章,后期會持續(xù)更新)
譯者:李熙民
相關閱讀