DisplayPort Alt Mode === DP Alt Mode 與 DisplayPort 關係 --- DP Alt Mode 是將 DisplayPort protocol 在 Type-C 上傳輸 |特性| DisplayPort | DP Alt Mode | |:-----:| :-----: | :--------: | |Physical layer| DisplayPort 接口 | Type-C 接口 | |Protocol layer| DP 1.4/2.0/2.1 | Type-C上傳輸DP協議| |使用機制|直接輸出在螢幕|需透過PD協商進入 Alt Mode| |頻寬分配|全部使用|與U3/U2/Power共享| DP Alt Mode 的模式 --- 在 VDM 的 `Discover Modes` 中,==UFP(Device)== and ==Active Cable== 會回覆支援哪些 Pin Assignment 等 `Enter Mode` 後,==DFP(Host) 會決定==用哪種 Pin Assignment,使用 VDM 的 `DisplayPort Configure(11h)` Command 告訴對方 #### 2-Lane DP + USB 3.2 Mode 可使用 USB 3.2 Gen 2x1  #### 4-Lane DP + USB 2.0 Mode 剩下 USB2.0  進入 DP Alt Mode --- 在 USB Power Delivery 有規範如何透過 VDM [進入 DP Alt Mode](https://hackmd.io/gHb6GPHfRoadumYqJi2F2w?view=&stext=5322%3A24%3A0%3A1759918982%3ACH3b2h),以下 Base on PD3.2 #### VDM (Vendor Defined Message) VDM 由 [Message Header](https://hackmd.io/@tKhMONlATf6y7pWyO9bjwA/S1ZSuAcQkx?stext=3693%3A14%3A0%3A1759907884%3Aced7ca) + VDM Header + 0~6 個 VDO 組成    :::spoiler Structured VDM Header | Bit(s)| Field | Description| |:-----|:-----|:-----| |B31…16|Standard or<br> Vendor ID (SVID)|由 USB-IF 分配:<br>==PD SID (FF00h)==<br>==DisplayPort (FF01h)==| |B15|VDM Type|Structured VDM = 1| |B14…13| Structured VDM Version(Major)| ~~-00b: 1.0~~(Deprecated)<br>-01b: 2.x | |B12…11|Structured VDM Version(Minor)|-00b: 2.0(before PD 3.1.1.6)<br>-01b: 2.1(after PD 3.1.1.6)| |B10…8| Object Position|For the `Enter Mode`, `Exit Mode`, and `Attention` Commands:<br>-000b: Reserved<br>-001b...110b: VDO 的 index<br>111b: Exit all Active Modes<br>----------<br>For 0...3, 7...15 Commands:<br>-000b<br>-001b…111b: Reserved<br>----------<br>SVID Specific Commands 由 SVID 定義| |B7…6|Command Type|-00b: REQ<br>-01b: ACK<br>-10b: NAK<br>-11b: BUSY| |B5|Reserved|Shall be set to zero| |B4…0|Command|Standard<br>- 0 = Reserved<br>- 1 = Discover Identity<br>- 2 = Discover SVIDs<br>- 3 = Discover Modes<br>- 4 = Enter Mode<br>- 5 = Exit Mode<br>- 6 = Attention<br>- 7-15 = Reserved<br>DP專用(Vendor)<br>- 16= DisplayPort Status Update<br>- 17= DisplayPort Configure| :::spoiler Commands | Command | VDM Header SVID Field |SOP* used | | -------- | -------- | -------- | |Discover Identity|**Shall** only use the ==PD SID==.|**Shall** only use SOP/SOP’| |Discover SVIDs|**Shall** only use the ==PD SID==.|**Shall** only use SOP/SOP’| |Discover Modes|**Valid** with any SVID.|**Shall** only use SOP/SOP’| |Enter Mode|**Valid** with any SVID.|**Valid** with SOP*| |Exit Mode|**Valid** with any SVID.|**Valid** with SOP*| |Attention|**Valid** with any SVID.|**Valid** with SOP*| |SVID Specific Commands|**Valid** with any SVID.|**Valid** with SOP* (defined by SVID).| ::: :::spoiler ID Header VDO 提供產品的身份和能力資訊 | Bit(s) | Field/Description | Note | | -------- | -------- | -------- | | B31 | USB Communications Capable as USB Host | 是否有 USB Host 能力| | B30 | USB Communications Capable as USB Device | 是否有 USB Device 能力| |B29…27||在 ==UFP== 資料角色下的類型(無關當前的 Data Role),或 Cable Plug/VPD 的類型| |B26|Modal Operation Supported|表示在==UFP/Cable Plug== 是否支持 ++Alternate Modes++, **不管 UDP**| |B25…23||在 ==DFP== 資料角色下的類型(無關當前的 Data Role)| |B22…21||| |B20…16|Reserved|| |B15…0|USB Vendor ID|要跟 USB Device Descriptor 中的 VID 相同| ::: :::spoiler Cert Stat VDO 32-bit, **Assigned by USB-IF** ::: :::spoiler Product VDO  PID: 用來識別產品 bcdDevice: Device Descriptor 內的 bcdDevice ::: :::spoiler Product Type VDO 很多種,PD3.x 有棄用一些,要看 PD2.x 的 Spec * UFP VDO * DFP VDO * Passive Cable VDO * Active Cable VDO1 * Active Cable VDO2 * VPD VDO * Alternate Mode Adapter VDO The Alternate Mode Adapter (AMA) VDO has been ++Deprecated++ ::: :::spoiler Use of Commands  發起的結構: `Message Header` + `VDM Header` * Discover Identity 通常由 ==DFP== 或是 ==VCONN Source== 發起 Response: 最前面都會有 `Message Header` * ACK: `VDM Header` + `ID Header VDO` + `Cert Stat VDO` + `Product VDO` + `0-3 Product Type VDO(s)` * NAK/BUSY: `VDM Header` * Discover SVIDs 可識別已連接產品支援的 Alt Mode * Discover Modes 通常由 ==DFP== 或是 ==VCONN Source== 發起 Response: * ACK: `VDM Header` + `1-6 Mode VDOs`(==DP Capabilities (VDO in the Responder USB PD Discover Modes VDM)==) | Pin Assignment | Column 2 | | -------- | -------- | | C | 4 lanes for DP | | D | 2 lanes DP + 2 lanes USB3.x | | E | 4 lanes DP (反向 plug) | :::  ==完成 Status Update UFP 還會發 Attention MSG==(如果狀態有變的話) AUX_CH and HPD === HPD --- 在純 DP connector 裡,HPD 是一條從螢幕(Sink)拉回主機(Source)的線,用來做: 1. 插入 / 拔除通知 2. 顯示模式更新(IRQ_HPD)通知 Type-沒有放 HPD pin, 因此在 DP altmod 中用 PD MSG 夾帶 HPD(Status Update、 Attention) * UFP 在進入 DP Alt Mode 之後,只有當自己的 DP 狀態改變(例如 HPD 變化、DP Source/Sink attach 改變)時,才要送 Attention, 1. HPD_High 表示 `「DP Sink認為連線存在而且 ready」` 2. HPD_Low `「DP Sink認為 HPD 已經是低」` 3. HPD State (bit 7) / IRQ_HPD (bit 8) 只在 ==「DP Sink → DP Source 方向」有意義== * 並且要「儘快」送出。 Sideband Use --- 在進入 DP Alt Mode 後,會把 SBU1 / SBU2 重新分配為 DP AUX Channel (AUX+ / AUX–) * 「AUX_CH 是 DP 中用來傳控制/管理資訊的 sideband channel」,用來做能力詢問、連線管理等。  1. Native AUX 用於控制與設定 DPCD(Display Port Configuration Data)、HDCP、Link Training 3. I2C over AUX 速度較慢,可來用傳輸EDID Ref --- [Exploring DisplayPort Alt Mode over USB-C](https://newnex.com/technology-articles-dp-alt-mode-over-usb-c.php) [USB Power Delivery](https://hackmd.io/@tKhMONlATf6y7pWyO9bjwA/S1ZSuAcQkx) [DisplayPort over Type-C 2.0入門及規格更新](https://www.graniteriverlabs.com/zh-tw/technical-blog/displayport-over-type-c-2-0-specification-updates)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.