一次 Type-C 显示器连接的背后:LDR6020 协议时序全拆解

发布时间:2026/10/11 14:43:17

一次 Type-C 显示器连接的背后:LDR6020 协议时序全拆解 一、从插线到出图到底发生了什么用户把一根 Type-C 线插进显示器通常 1~2 秒内屏幕亮起。这背后不是 “插上就通”而是 LDR6020 在 CC 线上完成了至少5 个阶段、十余轮报文交互。本文按时间顺序拆解每一步。二、阶段 1物理层连接检测t 0 ~ 100 ms2.1 CC 引脚上的 “第一次握手”Type-C 线插入瞬间LDR6020 同时监听 CC1 和 CC2 两路笔记本(Source) ──Rp(上拉)──┐ ├──► CC1 或 CC2 检测到电压 ≈ 0.66V~1.1V 显示器(Sink) ──Rd(下拉)──┘笔记本 Source 端通过 Rp 上拉默认 56kΩ~22kΩ 对应不同电流档位显示器 Sink 端通过内部 Rd 下拉5.1kΩLDR6020 检测到 CC 电压落在 Rd 区间 → 确认对端是 Source且判断出线缆插在 CC1 还是 CC2即正反插方向。这一步决定了方向正插时 CC1 有效反插时 CC2 有效。LDR6020 据此切换内部高速 MUX 的 Lane 极性后续 DP 信号才能正确对齐。2.2 VCONN 供电如果线缆带 E-Marker 芯片高带宽线缆必备线缆会在 CC 上拉 Ra 下拉信号。LDR6020 检测到 Ra 后在有效的那路 CC 上输出VCONN 3.3V给线缆内 E-Marker 供电随后读取线缆的电流能力和支持的带宽是 USB3.2 还是 DP4K。三、阶段 2PD 功率协商t 100 ~ 500 ms3.1 角色与功率广播桌面显示器场景下 LDR6020 配置为TRY.SRC自己当 Source插入后主动LDR6020 (Source) ──► 发送 Source_Capabilities 报文 广播自己支持的 PDO: PDO1: 5V/3A (固定) PDO2: 9V/3A PDO3: 15V/3A PDO4: 20V/3.25A (65W)笔记本收到后根据自己的充电需求发Request报文请求某个档位笔记本 (Sink) ──► Request: 选 PDO4 20V/3.25A Object Position 4 GiveBack 0 CapabilityMismatch 03.2 电源切换与 GoodCRCLDR6020 收到 Request 后回Accept报文打开 VBUS 通路外部 MOSVBUS 从 0V 缓启动到 20V等待 tPSSourceOff≤100ms后输出稳定电压回PS_RDY通知笔记本 “电已到位”。至此显示器通过这根线以 65W 给笔记本供电完成。3.3 便携屏场景的反向LDR6020 当 Sink便携屏从笔记本取电时角色反过来笔记本 (Source) ──► Source_Capabilities: 5V/9V/15V/20V LDR6020 (Sink) ──► Request: 9V/3A (便携屏双节电池) 笔记本 ──► Accept → VBUS 9V 上电 → PS_RDYLDR6020 内部 Buck 把 9V 降到电池充电电压同时点亮屏幕背光。四、阶段 3DP Alt Mode 进入t 500 ms ~ 1 s功率协商完视频还没开始。LDR6020 必须让笔记本把高速 Lane 从 USB 模式切换成 DP 模式 —— 这通过VDMVendor Defined Message在 CC 线上完成。4.1 VDM 协商序列① LDR6020 ──► Discover Identity (查询对端身份) ② 笔记本 ──► Identity ACK (回复产品ID) ③ LDR6020 ──► Discover SVIDs (查询支持的标准ID) ④ 笔记本 ──► SVIDs ACK: 0xFF01(PD), 0xFF01是DP... (正确: DisplayPort SVID 0xFF01) ⑤ LDR6020 ──► Discover Modes (SVIDDP) ⑥ 笔记本 ──► Modes ACK: 支持 4 Lane DP Mode ⑦ LDR6020 ──► Enter Mode (Mode4Lane) ⑧ 笔记本 ──► Enter Mode ACK4.2 Lane 配置的含义DP Alt Mode 下Type-C 的 4 条高速 Lane 可以按不同模式映射表格Mode配置视频能力全 USB4 Lane 全给 USB无视频2 Lane DP 2 USB2 Lane DP4K30Hz 或 1080P144Hz4 Lane DP4 Lane 全给 DP4K60HzLDR6020 请求 4 Lane DP Mode 后笔记本把 4 条高速 Lane 全部切给 DPUSB3 数据暂时不可用只剩 USB2.0 的 D/D- 还在跑给键鼠用。五、阶段 4视频信号路由与 HPDt 1 s ~ 1.5 s5.1 MUX 切换进入 DP Mode 后LDR6020 控制内部 MUX高速 Lane1~4 从 USB PHY 断开接到 DP RX 通道SBU1/SBU2 作为 DP AUX CH 通道跑辅助通信读 EDID、DPCD根据插入方向CC1/CC2自动翻转 Lane 极性。5.2 HPD 热插拔通知LDR6020 通过 HPD 引脚给笔记本一个高电平脉冲HPD: ──────┐ ┌────── └─────┘ (脉冲 ≈ 1ms)这个脉冲告诉笔记本“显示器已经就绪可以输出视频了”。笔记本随即通过 AUX CH 读取显示器 EDID分辨率、刷新率、色深开始输出 DP 信号。六、阶段 5运行期与异常处理t 1.5 s6.1 拔插检测运行中 LDR6020 持续监测 CCCC 电压跌落到 Rd 以下 → 线缆拔出关闭 VBUS MOSHPD 拉低MUX 切回 USB 模式笔记本检测到显示器断开自动退出扩展屏。6.2 异常保护表格异常LDR6020 动作VBUS 过流采样电阻电压超限立即关 VBUS MOS发 Hard ResetVBUS 过压22V关断 VBUS保护后级屏幕驱动板过温ADC 监测芯片结温降功率输出或关断对端不支持 DP ModeBillboard 设备枚举OS 弹出提示线缆拔出后重插重新走完整 5 阶段流程七、双盲插场景下的时序差异便携屏双 C 口场景LDR6020 同时监听 C1 和 C2 两组 CCC1 CC ──┐ ├──► 谁先检测到连接谁就是活动口 C2 CC ──┘如果用户把线插到 C2LDR6020 在 C2 的 CC 上完成上述全部 5 阶段内部 MUX 把 C2 的 DP 信号路由到唯一的 Scaler 输入C1 此时仍保持低功耗扫描等待下一个设备插入。两个口的协议栈完全独立这就是 “双盲插” 在协议层的本质 —— 不是两个口并联而是 LDR6020 内部跑了两套独立的 PD 状态机。八、时序总览时间轴 ──────────────────────────────────────────────► 0ms 100ms 500ms 1s 1.5s 运行期 │ │ │ │ │ │ ├─CC检测───┤ │ │ │ │ │ 方向识别 │ │ │ │ │ │ VCONN │ │ │ │ │ │ ├─PD功率协商─┤ │ │ │ │ │ SourceCap │ │ │ │ │ Request/Accept │ │ │ │ │ PS_RDY(20V上电) │ │ │ │ │ ├─VDM AltMode┤ │ │ │ │ │ Discover ID │ │ │ │ │ SVID/Modes │ │ │ │ │ Enter Mode │ │ │ │ │ ├─MUXHPD┤ │ │ │ │ │ DP信号路由 │ │ │ │ │ HPD脉冲 │ │ │ │ │ ├─视频输出─┤整个过程用户无感知看到的就是 “插上线1 秒多屏幕亮”。
延伸阅读

更多相关文章

2026/10/11 14:43:17

Linux内核do_signal深入解析:信号递送、sigreturn与寄存器魔法

内核开发里有个很有意思的函数,叫 do_signal 。很多人第一次听到它是在看系统调用返回路径的代码时,被 exit_to_user_mode_loop() 里那个显眼的调用点吸引住,然后就一头雾水:为什么一个“发信号”的函数,要在每次系…

2026/10/11 14:43:17

在Python中操作MongoDB的详细教程和案例分享

前言 先把最容易搞错的一点说清楚:MongoDB 不是关系型数据库。 它没有 SQL、没有表、没有「行」和「列」、没有 JOIN、没有固定表结构。它是文档型数据库:数据以 BSON 文档(一种类似 JSON 的二进制格式)存储,一层层嵌套…

2026/10/11 14:43:17

5分钟上手GithubLauncher:新手快速开始完整指南

【免费下载链接】GithubLauncher A Launcher that Downloads and Updates Applications from Github Releases 项目地址: https://gitcode.com/gh_mirrors/n6/GithubLauncher 点击查看 免费下载 GithubLauncher 是一款免费、开源的应用启动器,帮你从 Gi…

2026/10/11 16:58:25

非LVM根分区爆满怎么办?四步救急与迁移实战指南

半夜两点被电话叫醒,登录服务器敲命令,结果连 history 都写不了,满屏 “No space left on device”,这种感觉干运维的都懂。而更尴尬的是,这台机器的根分区当初装系统时就是默认分区,不是 LVM,也…

2026/10/11 16:58:25

朱雀查AI率太高怎么办?盘点3款免费好用的朱雀降AI与AI降重工具

长假熬夜写完了一篇精心准备的深度运营复盘,满心欢喜地点击了发布,结果苦等半天阅读量卡在个位数。我不信邪地拿去朱雀查AI系统一测,满屏幕刺眼的红色让人血压飙升,AI率直接顶到了百分之百。 现在各大平台的风控机制越来越严格&a…

2026/10/11 16:53:25

SMU02C站点监控单元配置与避坑指南:从手册到实战

简介:SMU02C V500R001C50 站点监控单元用户手册面向销售工程师、技术支持工程师与维护工程师,用于掌握华为盒式及柜式电源系统的监控管理方法。手册围绕监控模块SMU02C展开,涵盖LCD与Web用户界面操作、用户接口模块UIM02C、网络IO模块NIM02D、…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑