你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

面向STM32Cube的STM32 USB-PD(电力传输)软件扩展

[复制链接]
STMCU小助手 发布时间:2022-7-26 20:50
前言
! B! p4 m  H) S4 o- z/ Q! ?本文档介绍了面向STM32Cube的STM32 USB-PD(电力传输)软件扩展,参考X-CUBE-USB-PD。; `8 O, u- C6 W& _' X1 J  N
USB Type-C™是最新的USB连接器生态系统,能够满足平台和设备不断变化的需求,同时保持USB的功能优势。
3 i" u' W- b9 ^) q: ]USB Power Delivery协议嵌入到了USB Type-C™连接器中,从而可以轻松连接/断开USB线缆,实现很多数据传输以外的功能。此协议能够传输超过常规5 V / 1.5 A的电压/电流,最大功率供应为100 W。: C7 c7 i: C# R# k
STM32 USB-PD包(X-CUBE-USB-PD)包含一个库(二进制格式)和以STM32F0设备作为USB Power Delivery微控制器的应用示例。可扩展到其他STM32系列。
" e2 L% O) r) T1 @  b: f该软件包包含的示例涵盖了大部分应用用例,允许用户基于USB-PD(供电方,受电方,和双角色端口)开发应用。
/ ~$ ~8 f/ p6 d. X7 k6 U3 }该库及相关示例可用于STM32F0设备以及专用P-NUCLEO-USB001扩展板(包含模拟前端和USB Type-C™连接器)。2 P4 L. i( n$ F/ F0 ^/ i
本文档介绍了如何使用USB-PD库实现常规用途,以及创建自定义应用。它包含了以下专题,以简化此库的使用:
! [; R: U) [% |% O' C. J• USB-PD标准概述
+ i4 Z/ @, ]9 J• USB-PD库架构
3 \/ s" L8 P+ U- K* V: G• USB-PD堆栈使用描述
1 s. E7 \( Z* N- k4 Q; Y1 s7 j$ y0 E• 如何使用此库设置USB-PD应用。, I+ ^, x% |) f0 q3 s: v  Q

3 o# N+ f7 v7 Y/ [+ M/ @" E; G
2 y1 h* o; V" ?) Y8 y
1受电方概述
/ U4 u3 _# C; |3 P1.1缩写和缩略语
8 M. f3 [9 x2 i2 q# T- v& ~ / i7 `3 i! K' \! o
1.2参考8 D. e5 R/ U8 i/ v8 n3 X! @( }8 i
•通用串行总线电力传输规范,版本2.0,2016年3月25日: v8 M/ h& o! A/ k2 Y. i- H- h" S) r
•通用串行总线Type-C线缆和连接器规范1.2,2016年3月25日
, ~4 a2 a7 P& v1 p/ h7 O/ Y& q" M表1. 缩略语列表
0 f1 I0 ~  \1 c) B, U1 Z! Y术语 意义+ @: {3 I" Y; @  ]2 D
API % }' K. \4 m3 O( }
应用编程接口: G" i# P/ d0 o; J8 F$ y: ^
CAD
' ^# q2 A5 t7 w8 A* v线缆检测模块
' G, M2 M4 O9 H% j* dCLI
) k$ G9 s6 x( L( C命令行接口% Q: j0 Z% F# l6 g' p* E, Q/ }
DFP $ ?% |  Z, J2 M5 ?/ s' l
下行端口1 [* k2 y: @9 E7 V
DPM
/ K- o& D) W5 k  q2 p设备策略管理器/ a& k- I( {! F4 r- U2 M' C
DRP 9 O+ Y0 Z: x, B( Q0 j
双角色端口
$ |/ a1 x- d) {: k; L1 C* tFW
  |( Z- y# ]1 [" L固件$ Z/ s7 |+ O6 t
HW
6 K) q" V' j- B2 x6 `硬件! j  V) x, B! d, S0 p: u
PD
. o3 t  |; A, B/ j; z供电7 |# s4 g: c) N" t6 H* @. ]
PE
) q7 k; c+ Y, l0 ~策略引擎( p5 T# i$ P7 e6 \" I; d* s& d
PRL 2 i- X8 p: c; o' v) J0 b! r
协议层
4 A. a6 b, u! z2 J/ ?! v0 mUFP , w8 O$ X" T6 z) n* G6 M
上行端口" O* d5 d2 _+ I4 d8 S
USB # [+ H+ a, l& a" x  N
通用串行总线( a: S6 ^! [; C* N1 P- F1 X
VDM
" t6 D- O- L, H) G供应商定义信息DocID029258 Rev 1 [English Rev 2] 7/35
" P  I4 y0 }7 O9 o  q1 MUM2063 & ?2 g" x7 u4 a8 c: @2 s  n4 I3 _& n
USB-C PD架构
- F$ r9 a# c1 C1 c" o8 \! e+ B34
+ O! B4 t. l+ U+ r/ s' Q( |9 r2 USB-C PD架构, x% Z# w4 N6 T. a$ }
2.1
9 p1 b; I5 w: X. [  q0 D架构概述
. d  `, g4 F, J2 VUSB电力传输规范文档定义了PD设备(供电方或受电方)的通信层,如图 1中所示。
+ w2 b- `# N/ @& G. _. V图1. USB电力传输架构$ l- d' p" j- R" t+ L) V% k
假定一个具有PD功能的器件至少具有一个端口,可以是:" I! |7 n' t7 n
• ) h: P) n/ x& ?
上行端口(UFP)8 e- P, b' q' M/ d* W
– Sink电源(受电方)。& @1 z: X& D* i2 Y
–
" X' \" R' I% Y可选source电源(受电方 / 供电方)。
! O3 A" r9 K2 Q– 6 E# v3 O) X  O8 s" X, l  x  n
可选择通过USB进行通信4 l4 L" S- T: N4 L4 g
– 8 `( O, K9 u' n* }* Q4 D
利用SOP包通信。8 ?' l: R* |% D
•
2 g: g: k8 u+ _/ p  @: Y# M8 M! ]* }下行端口(DFP):$ F, j/ t8 W! y6 _* z
– Source电源(供电方)。
% t- E/ d9 t+ Q–
' b1 M8 V! U, v8 }  o可选Sink电源(供电方 / 受电方)。. m: @4 {( G: t) |& e( y  M% |
–
1 l6 E; \. E# K+ x& v) R可选择通过USB进行通信。
" v7 j' l9 R* j5 s5 L– 0 U# D. E7 h6 @* O0 Z9 \
利用SOP包通信0 X4 a4 N6 G. \( u
–
" c. ?1 H1 t( a  C可选择利用SOP包通信8 @- M4 v  x2 G% a: [& _* K$ |4 F: Y
MS41457V1
) R# ~( e9 h0 o; O9 v2 uᯯ⭫ב* K* D3 \  q: C- }/ V* ^
਍⭫ᯯ
3 }& y5 O' o% A, LVBUS/CC6 m2 p" i6 g/ }1 [
䇴༽ㆌ⮛㇗⨼ಞ
7 V# C$ u7 S, V  @- Wㆌ⮛ᕋᬄ
* C: B; N" ]# U" J8 q" Oঅ䇤. s6 X+ n* k$ J
⢟⨼ቸ- S/ a! n9 t& {% ^& K& c, n" I1 G
䇴༽ㆌ⮛㇗⨼ಞ: o1 l0 g7 ~8 f$ y5 {& D3 k8 c
ㆌ⮛ᕋᬄ
% _1 L. ^4 |( s% ~% s5 v* k0 Mঅ䇤
/ k( l( C! J# ?$ H8 U+ f8 Q6 Y⢟⨼ቸUSB-C PD架构
% _1 V) s* r: r" {UM2063+ I9 n& q2 B9 z" G- ]' [( v7 e
8/35 DocID029258 Rev 1 [English Rev 2]3 k) H0 Q+ b. ^0 b! H
在USB产品可支持USB Power Delivery协议的场合中,USB DFP最初是Source,而USB UFP
" R8 u! n9 W% g  \9 L1 B! O* g% ~最初是Sink,尽管USB-PD可以实现Source/Sink和DFP/UFP的功能交换。- p2 W& t( j3 z) W. B6 w
注: 在一对端口之间,每个PD通信中只有一个Source端口和一个Sink端口。# f% j- K9 G3 @6 }9 Q. C% V
2.2 USB-PD层
! V9 ~2 w3 M6 r: ^•
6 {! E" n  Z( r% T7 v) R设备策略管理器(DPM)
* ?$ X, c+ c1 ]DPM的作用是管理USB Power Delivery端口所用的电源。在供电方应用中,它为受电方
2 t" T8 F4 F! H' ~送电,而在受电方应用中,则向供电方要电。 + ~8 d* X! U# O7 a5 _6 R
一旦建立了Explicit Contact,DPM还允许交换VDM消息。Device Policy Manger是$ F( K6 K5 Y. E' f$ [  R6 {9 F
USB-C Power Delivery Stack的上一层级。
2 b0 `) I' c" L+ i4 _• " ^  @. Z/ h* A6 E/ M4 R  V2 ]
策略引擎(PE)层
7 X( t0 ^' T0 e+ j2 _Policy engine(PE)的作用是根据发送的消息及其预期响应来驱动消息序列。它支持
$ L% X* ?" D0 [5 D! X; H9 ]协商电源,为电力交换建立Explicit Contract。   ?+ }, t3 Q8 y7 f. W7 G
接受或拒绝请求取决于DPM对特定电源配置文件的响应。 - W6 i& u8 u# a" h
PE还可以处理Vendor Defined Messages流,允许根据供电方和受电方所支持的功能,
8 s% p2 A! V+ m( V0 Z发现、进入或退出指定模式。. X% N9 D( ?" G+ w- D( w
• 0 Y5 G$ j6 }. `/ j  _
协议(PRL)层
' b8 |' r) H% F7 N% j( RPRL层的作用是驱动消息构建、发送和接收(与消息性质无关)。它允许对消息流进行
% u9 h4 d! ^, u! }1 Y: d检查,以检测通信错误。
% r( C6 c, ]  }8 R, U& bPRL层是PE和PHY之间的包装层。: p9 C0 p8 u3 H5 }6 Y# Y2 m% w
• . O  z' u0 J5 P% r( _3 Q
PHY层
% W1 m5 z, W& E& q5 CPHY层负责通过CC线发送和接收消息。它具有信号收发器,可在电线上叠加一个信号。
; V8 q' y5 p: i, R1 ?% |* |+ I) G它负责管理线路上的数据并避免冲突,利用CRC检测消息中的错误。
) [. g2 P  N6 P7 W5 H注: 关于USB Power Delivery协议的更多信息,请参考第 1.2节中的官方规范文档。DocID029258 Rev 1 [English Rev 2] 9/35
3 Y) b6 Y# f8 h' K8 |5 oUM2063
1 s" l6 Y3 h7 y  o( G* N5 A$ s! s% A# AUSB-C PD架构2 [' i* `$ q0 E5 o8 e
348 Q& s( J. V) n: T2 ?# S4 Z1 f
2.3 % A' C! n3 h0 ~' ]# A! [
消息流
( B. w) u+ Y1 V! f. a从设备发送的每个消息都应该由GoodCRC消息应答。这使得接收方可向发送方确认:其消息; `& h6 `( E; B8 m. S) |8 z
已被正确接收,并将由上层进行处理。
0 T$ {# n( m: }接收到的错误消息应被忽略,在持续发生通信错误的情况下,软件复位可重置协议参数,以
& U5 k- A4 l; Q$ ?2 f重新建立通信。如果错误仍然存在,则执行系统的硬件复位。. ~, F5 f+ b  t
正常情况下,协商供电合同应按照图 2中所示的顺序进行。
/ |% ^( O- Y: H$ f  A. `6 h% o. C
2 D" \" H2 |0 l9 O! U# U' n
' u# z$ F- U0 M/ C( _" Y; t
赞 收藏 评论0 发布时间:2022-7-26 20:50

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版