⚡ PD 协议 · 源码级实战
📘 30 章 从零到量产
📁
30 章节
🎯
USB PD 3.1 + PPS + EPR
🧩
STM32G0 · FreeRTOS
🔌
Source / Sink 双角色
01
PD协议概述
USB PD 3.1标准演进 · 快充生态 · Source与Sink角色
02
物理层基础
CC线功能 · BMC编码 · Chunking与数据包结构
03
协议层核心
SOP/SOP'/SOP''包 · Message Header · Data Object
04
状态机设计
SRC与SNK迁移 · PS_RDY · Wait · Hard Reset
05
Capability消息
Source_Capabilities · PPS扩展 · DP Alt Mode协商
06
电源协商流程
Request与Accept · GiveBack · Fast Role Swap · EPR
07
VDM (Vendor Defined Message)
Discover Identity · SVIDs枚举 · Mode Entry/Exit
08
PD协议栈架构
分层设计 · LL与PL接口 · 定时器管理
09
MCU选型与硬件设计
STM32G0系列 · CC引脚保护 · VBUS开关与放电
10
RTOS环境搭建
FreeRTOS任务划分 · 消息队列 · 软件定时器
11
PD协议栈移植
STM32CubeMX生成PD代码 · 适配BSP · 串口日志
12
CC检测与连接管理
CC1/CC2电平检测 · Rd/Rp配置 · 连接状态机
13
BMC编解码实现
硬件BMC配置 · 软件解码 · 位采样 · CRC校验
14
数据包收发引擎
GoodCRC自动回复 · Retry/NAK · FIFO与DMA
15
协议层消息处理
Message ID管理 · SOP'/SOP''路由 · Chunked重组
16
SRC状态机源码实现
PE_SRC_Startup · Send_Capabilities · Transition_Sink
17
SNK状态机源码实现
PE_SNK_Startup · Evaluate_Capability · Request_GiveBack
18
电源协商实战
构造Request Data Object · Accept/Reject · PS_RDY超时
19
PPS (可编程电源) 实现
APDO数据结构 · 电压/电流步进 · PPS_Status反馈
20
EPR (扩展功率范围) 开发
EPR Mode Entry · Adjust Request · EPR Keepalive
21
VDM (Alternate Mode) 实战
DP Alt Mode入口 · Pin Assignment · HPD中断
22
Fast Role Swap (FRS) 实现
FRS信号检测 · 角色切换状态机 · VBUS时序
23
PD协议测试工具
分析仪使用 · 逻辑分析仪抓CC · 一致性测试
24
常见问题与调试
CRC错误排查 · 状态机卡死 · VBUS过压/欠压
25
PD协议栈优化
内存优化 · 低功耗模式 · 快速角色切换优化
26
多端口PD控制器设计
端口复用 · 独立状态机 · 功率分配 · 热插拔
27
PD与快充协议共存
PD与QC兼容 · PD与VOOC/SCP切换逻辑
28
PD固件升级 (DFU)
PD数据通道更新 · Bootloader · CRC回滚
29
PD在BMS中的应用
充电曲线控制 · 电池健康监测 · I2C/SMBus交互
30
项目实战:65W PD充电器
STM32G0 · 需求分析到量产测试全流程
⚡ 点击卡片进入对应章节 · 30个文件均已就绪