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

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

[复制链接]
STMCU小助手 发布时间:2022-7-26 20:50
前言
  B& h0 h5 X1 L1 o- ~- a本文档介绍了面向STM32Cube的STM32 USB-PD(电力传输)软件扩展,参考X-CUBE-USB-PD。) T. t3 y/ d+ F  Z. Z9 j2 D' a
USB Type-C™是最新的USB连接器生态系统,能够满足平台和设备不断变化的需求,同时保持USB的功能优势。
6 @" ~/ C+ P3 dUSB Power Delivery协议嵌入到了USB Type-C™连接器中,从而可以轻松连接/断开USB线缆,实现很多数据传输以外的功能。此协议能够传输超过常规5 V / 1.5 A的电压/电流,最大功率供应为100 W。# q: l. S* ]3 l: E3 \# k6 f! ]
STM32 USB-PD包(X-CUBE-USB-PD)包含一个库(二进制格式)和以STM32F0设备作为USB Power Delivery微控制器的应用示例。可扩展到其他STM32系列。0 L* `2 _& N; {9 L
该软件包包含的示例涵盖了大部分应用用例,允许用户基于USB-PD(供电方,受电方,和双角色端口)开发应用。
9 }* ]; J* v4 L0 @; ~该库及相关示例可用于STM32F0设备以及专用P-NUCLEO-USB001扩展板(包含模拟前端和USB Type-C™连接器)。4 R- g* Q( n2 o" [( T! Y
本文档介绍了如何使用USB-PD库实现常规用途,以及创建自定义应用。它包含了以下专题,以简化此库的使用:/ w1 m6 f4 T6 f9 L& ~
• USB-PD标准概述/ {2 G* \# W/ G) z, f) m8 \
• USB-PD库架构
+ v: `9 |/ J" Y: \' G+ W2 e• USB-PD堆栈使用描述
3 s! w8 q6 Z! o/ H1 z• 如何使用此库设置USB-PD应用。
9 v9 ]* }" g; u1 }$ `& {
5 E- D! b* S0 X8 O) w. r* r8 U- y" ^

8 E- T  Y% r8 W' C# D1受电方概述
7 g" w- u% a' c& o( d) A1.1缩写和缩略语
( ~; {- p5 ~% U% J ) N* z5 j5 \- ~
1.2参考
! C: d( Z9 V( c$ Z  F2 \•通用串行总线电力传输规范,版本2.0,2016年3月25日$ Q6 Z) B9 E. m3 x
•通用串行总线Type-C线缆和连接器规范1.2,2016年3月25日$ ~+ d3 s. v( Z/ Y4 C# ?
表1. 缩略语列表" d/ ^: Y+ x& k) p$ }
术语 意义3 f, t" t: g/ l/ K( G2 n7 b2 c1 }8 l( b
API . x( x8 c; r$ J' W" g) g7 B
应用编程接口8 S' o! o/ w3 b* i
CAD
$ ^2 Y( B2 r# z) g( Y& x线缆检测模块* t$ b2 Z4 p7 j
CLI 0 W4 Q' Y  B$ a' |3 B, a. w
命令行接口
, u- x& C& u4 Y4 f  [DFP + S. z' |" n3 Q9 e3 g' f  o
下行端口' u' Y$ i. f) ~. G6 v9 V- Y
DPM * C/ k: d: E- J9 L! [" ~
设备策略管理器
; J3 `3 l4 k4 p! V7 g2 BDRP
0 W% w: b0 r" q. A! l双角色端口7 ~- S; ]8 o7 E% M5 u
FW . z1 N7 U4 t6 X* s
固件- l" e0 d1 a1 Y' a
HW
5 K/ B3 b3 X, [- r) }硬件
2 j- [' M8 z. J$ [PD
& W0 u1 ?4 ^! i) @$ c8 d. Z供电
1 X" `: O( t* Y4 D, ^' HPE 7 {3 `& h% ~9 E9 E( H
策略引擎
8 h" |8 t) @; B' W! s, J/ d& U, g" QPRL % b1 O0 h; b, l0 U  `. i! X
协议层% E/ _/ J4 a% h7 ~* _5 Q+ _
UFP # \3 ?$ c. M& I1 o- x  n% x
上行端口; w/ ?8 ?" z( r; }% n
USB
1 Y* n5 O8 J% \4 E+ @/ U通用串行总线; W) f  k6 N9 y( y0 a1 j2 }: m# S! y
VDM ) M0 T, J! V5 ?% Y. i
供应商定义信息DocID029258 Rev 1 [English Rev 2] 7/35
, b' R# j1 u9 e& J  X; q( CUM2063
6 H$ T. ^* g& c# B% RUSB-C PD架构
! @4 P% n4 L2 V34; z" Z& \% z/ R+ p, n
2 USB-C PD架构7 ^6 D2 w4 \' r2 S- f
2.1 * N: s5 `; ?+ Z- P# U
架构概述  i- F+ o+ F' {+ m( t+ v$ ^" G
USB电力传输规范文档定义了PD设备(供电方或受电方)的通信层,如图 1中所示。$ d/ E: y& e, a
图1. USB电力传输架构1 Y9 z8 }; p; N5 I- s+ q
假定一个具有PD功能的器件至少具有一个端口,可以是:7 v  t, }; `2 D3 i  U, m
• 9 v) {3 Q! j, v" X6 U
上行端口(UFP)5 m" M' [' t& l0 f) g, k
– Sink电源(受电方)。% t' f5 I7 ~8 c# V8 M6 o4 {5 [
–
/ P8 }# P& \8 l可选source电源(受电方 / 供电方)。0 L! s9 e3 Q; ]' `
–
% ?% z& {- |9 y可选择通过USB进行通信
  l& |) z+ x. Y- r, m–
5 G1 a5 A8 E2 M5 z$ [  j利用SOP包通信。8 Y" y9 l" C' Z9 ^9 R
• & }  O: v1 v/ v) ?3 P; j) R
下行端口(DFP):8 i4 l/ C/ |4 r  \8 u2 W7 P* }
– Source电源(供电方)。  s' F4 k+ n. V* C
–
2 N4 R4 `7 F! S( V& o& B5 T8 w可选Sink电源(供电方 / 受电方)。7 |3 e& d, j9 E2 z6 W
–   z; X% ]6 F5 l1 M- e, V- ]4 {
可选择通过USB进行通信。: N# r" c- l( r
–
7 P6 r' X6 Z5 {0 c9 C利用SOP包通信
  U6 q! t8 i1 S( D) k– % z* a4 L' l8 _
可选择利用SOP包通信
( u' |- w0 Q# b6 x" Q' iMS41457V15 g! r9 B/ Q% s: Y2 e9 P- s
ᯯ⭫ב' M+ h1 d* S6 V. d+ I6 Y
਍⭫ᯯ/ D% A' p( W" }+ X
VBUS/CC0 Y) L- d  O. J: h  J7 V% z
䇴༽ㆌ⮛㇗⨼ಞ- |0 F( _1 H$ b4 O% @; j
ㆌ⮛ᕋᬄ$ _. A3 H" d4 f. E7 i6 C$ S
অ䇤2 c9 A4 u  Q/ o) O. ^
⢟⨼ቸ
. C7 C/ |: F9 k: d- ?) D" Z6 r䇴༽ㆌ⮛㇗⨼ಞ
3 g) x! F7 \; R, Yㆌ⮛ᕋᬄ! p7 J- ]! }1 G2 M$ {3 A! s
অ䇤
/ v' Y3 R  _4 ~9 F$ X) B⢟⨼ቸUSB-C PD架构 9 M4 o8 d) d1 ?& Q: G1 o# I
UM2063
- r) i* O5 P; E2 v8 [, E8/35 DocID029258 Rev 1 [English Rev 2]
, @8 K. q3 \( c, Z, K1 Z: _在USB产品可支持USB Power Delivery协议的场合中,USB DFP最初是Source,而USB UFP0 I; X1 X; q6 {: ?. t& B$ O
最初是Sink,尽管USB-PD可以实现Source/Sink和DFP/UFP的功能交换。
& k: Z2 _+ J, c' Y注: 在一对端口之间,每个PD通信中只有一个Source端口和一个Sink端口。  K: H& \% B0 B* M, [( J& v! `
2.2 USB-PD层 9 E9 h: ^' _3 F/ q* D- y; S
•
" q9 t& y$ V  G' u7 \& P2 N3 C# k: P8 v设备策略管理器(DPM) , m$ E5 n9 ~2 l# G: j
DPM的作用是管理USB Power Delivery端口所用的电源。在供电方应用中,它为受电方2 S4 X: k1 q0 b5 y6 ?: c
送电,而在受电方应用中,则向供电方要电。 " l8 ?8 s! x  F9 A
一旦建立了Explicit Contact,DPM还允许交换VDM消息。Device Policy Manger是
( ], L' f. j( U; H& V/ T5 FUSB-C Power Delivery Stack的上一层级。
! q  |  T. S/ E9 G, F- A•
, G1 H" @$ H$ o策略引擎(PE)层 . `% [2 t% _, L5 U6 @" c0 I
Policy engine(PE)的作用是根据发送的消息及其预期响应来驱动消息序列。它支持$ `- t5 H7 c5 s7 }5 L, o3 Y
协商电源,为电力交换建立Explicit Contract。
* j: s# O  m2 f& {2 H' \接受或拒绝请求取决于DPM对特定电源配置文件的响应。
7 k6 Y* H0 ?6 _4 X+ k& ?PE还可以处理Vendor Defined Messages流,允许根据供电方和受电方所支持的功能,
3 Y$ _& X0 g6 K$ v发现、进入或退出指定模式。0 t6 _1 F: |0 o  y0 Q" Z% T+ F
•
6 H. F  I; ]0 [协议(PRL)层 , z3 z( L. N8 L9 z$ o) t5 T7 Y
PRL层的作用是驱动消息构建、发送和接收(与消息性质无关)。它允许对消息流进行
+ K/ |, i/ i# {1 |+ h检查,以检测通信错误。
, E2 F; k& C, m" I: d- CPRL层是PE和PHY之间的包装层。
8 f) Y8 b7 P% E7 G6 ]•
2 p  s' i9 \1 F8 }8 |, uPHY层
1 n  B% O& g" V# E9 Z/ L* uPHY层负责通过CC线发送和接收消息。它具有信号收发器,可在电线上叠加一个信号。# J5 g. n$ J# o& h! u; b+ _9 D
它负责管理线路上的数据并避免冲突,利用CRC检测消息中的错误。& r9 X) N' O1 E# }
注: 关于USB Power Delivery协议的更多信息,请参考第 1.2节中的官方规范文档。DocID029258 Rev 1 [English Rev 2] 9/35
2 t& ?6 A# s6 |1 Q0 nUM2063 5 }. V7 c% q" i" e, }4 |  S/ y5 h" S  |
USB-C PD架构
* a9 s) c/ v! Y+ @8 j2 f6 u34! c0 F2 D' f: f, l5 F
2.3 / f# h3 j8 x% E
消息流
# L! L- J) V6 y; Q从设备发送的每个消息都应该由GoodCRC消息应答。这使得接收方可向发送方确认:其消息
$ n; H7 O5 V6 K- }+ M已被正确接收,并将由上层进行处理。
6 q: S% Y( H& h接收到的错误消息应被忽略,在持续发生通信错误的情况下,软件复位可重置协议参数,以$ ~; k1 h0 U+ h: K# {
重新建立通信。如果错误仍然存在,则执行系统的硬件复位。
* w4 B4 z( L% ?* P: X+ P正常情况下,协商供电合同应按照图 2中所示的顺序进行。4 B& }5 x  k2 }5 G" @

: j8 @( e4 V9 Y9 P- D2 {2 q2 q& o+ b4 E1 x1 r) B; G1 g4 G6 u* U
赞 收藏 评论0 发布时间:2022-7-26 20:50

举报

0个回答

所属标签

相似技术帖

官网相关资源

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