此文散装更新。
笔者目前使用的USB PD PHY是FUSB302,考虑使用STM32G4。但是STM32G4的PD PHY就是个PHY,目前ST官方还没有很好的支持,需要自己撸协议栈。(NO Wheel)
参考资料说明
因为PD的协议非常复杂。视用途,比如我就是想诱骗出对应电压。那么就会相对简单一些。PD协议非常复杂而且几乎没有靠谱的中文资料,建议直接啃英语资料,不要看网上散装的解读!!!直接看对应的官方文档,这篇文章相当于读书笔记,会给出官方手册对应位置,希望读者以官方文档为准。
建议阅读:
PD2.0官方规范《USB_PD_R2_0 V1.3 – 20170112》
PD3.0官方规范《USB_PD_R3_0 V2.0 20190828》
STM32的UCPD培训《en.STM32G0-Peripheral-USB-Type-C-Power-Delivery-UCPD》
阅读顺序:STM32的官方培训,因为全彩所以看着舒服,信息量没有那么大,首先建立一些基本的认识。USB IF已经考虑结束了PD2.0的生命周期,已经无法认证,但是PD3.0仍然会检测PD2.0的特性
PD2.0与PD3.0的区别
PDO报文解读
请参见USB PD规范的6.4.2节中的表6-18、6-19和6-20。可以在此处找到“Request”消息的更多详细说明。