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

基于STM32H5 PB14输出波形异常分析经验分享

[复制链接]
攻城狮Melo 发布时间:2024-7-2 17:22

1 O) J( J8 f0 d3 M. Y01问题背景
: h& I1 R$ ]% x; r5 O; p5 w. Y$ b客户在使用 STM32H565 开发新项目的时候遇到一个问题,PB14 在开漏时无法上拉到 3V3,且其输出的 PWM 频率比其它 GPIO 低。且多片芯片的表现类似。
$ o- l7 X/ p$ W- Z检查客户的原理图并未发现明显的问题。
0 u$ b) W( V7 `0 A
, I( F0 b& C$ j. J9 D4 T6 o: N

+ B( V0 R9 y& b- ^. ?; `02问题复现
1 H& A$ e+ v" I1 b4 v$ K* D测试配置:硬件测试平台 NUCLEO-STM32H563ZI。
* t: t% B2 \' R软件工具版本: 1 ?! F4 v/ s; N$ @7 R  ]
STM32CubeMX Version: 6.9.2 % r% w$ m# @7 [( f
STM32Cubeide Version: 1.13.2  Q: f8 z. g( X7 E9 _

1 G) @9 x5 C+ I  S6 z/ u( g1 S

1 O1 [0 N$ Q; X- G) S2.1. 测试 1:PB14 开漏输出异常
) D$ D/ ^2 m% V. _; K2.1.1. 测试配置
* c  V# J" Y7 i4 n; o  ^% h0 e+ z+ E4 M* w0 D
" z4 l1 f! I0 S9 J' [# \
微信图片_20240702171716.png
- R, B) |1 a  _( U# ]▲ 图1. PB14 配置
8 N6 R% D% o8 K7 C) \) N
, I- d8 L2 Z1 Y( L+ B1 T
2 [! [' m, o8 z+ Z; Z4 X+ |. w
2.1.2. 测试结果
6 L( \5 r' E  w$ G5 r测试结果见图 2:
: p2 Q# [/ W" G0 F, [- g- ^  a* ^5 H) h9 K6 |2 q2 {% U
微信图片_20240702171709.png
/ j! d$ V7 Z* a+ p# N- ~% \' g; O: g7 \+ j3 s2 T2 w
▲ 图2. PB14 输出波形% ?$ }0 Y% ]* v5 Y1 g3 B: {
" [6 Z2 C! l' Y

, Z3 r, a2 n2 p% C从测试结果看 PB14 无法上拉到 3V3,高电平只有 1.704V,似乎有个下拉电阻分了压。5 l3 d+ p* N! A) Y/ q8 x6 m  b" y
7 G% _1 N& I, ^% s2 q
' B8 o( F+ S, y  k* s
查看芯片的规格书 DS14258 Rev 1 Table 14. STM32H562xx and STM32H563xx pin/ball definition,关于 PB14 其 IO 定义如下图:
7 L" K. A) ^9 G' H- l5 W$ z
7 H5 ~, G9 B5 X* X- G" ]. M( S

* }* M/ P6 I) L) n$ u 微信图片_20240702171706.png
) W* P$ K; v3 R. B) V" k( F
( |1 r! I6 W2 }2 N- a+ _! H9 j
▲ 图3. PB14 定义 " X5 y8 ~  k: C+ B4 v% Y

4 p) X9 ^; Z( y7 W8 q3 J: V' L
, ^. r# n8 [# h4 H* O% K
其中_c 表示该 pin 脚具有 USB type-c PD 功能。5 t$ C  E/ ^! y) S' \
- w. o7 y7 w' _, U0 _! v
0 H! J# b9 A) _
查找 RM0481 Rev1,查看 10.11.8 PWR USB Type-C power delivery register (PWR_UCPDR)寄存器描述如下:; ?: |  U4 j6 D% _

! H% D. G  a  o, z
, `7 i' r2 j. P6 j  C8 Y/ @
微信图片_20240702171703.png
7 {0 `; |: S! w( K
2 Y: H* @1 c5 e$ t8 B- f, `▲ 图4. UCPD_DBDIS 描述
# o: {* O& c: n3 ~9 y$ h, e( o, {, G+ ^9 x
* q. a9 U; O  u/ l) d: b
根据 UCPD_DBDIS 的描述,当芯片退出复位时,对于 CC1,CC2 pin 默认下拉。这 也就解释了客户遇到的,开漏模式时无法上拉到 3.3V 的现象。
1 \& f7 o4 z( ]: M2 v# y
2 y$ O4 e6 k- K# e! B

0 r4 Z/ t( q9 O' U4 w修改测试代码,增加如下代码:' ^' h3 Q4 _0 @/ N2 l0 J
  1. /* USER CODE BEGIN 2 */
    0 p, E. h; ~8 Z6 j$ Z4 j
  2. SET_BIT(PWR->UCPDR, PWR_UCPDR_UCPD_DBDIS);7 a2 ]8 l, {3 r  X1 R3 f9 b
  3. /* USER CODE END 2 */
复制代码

# C3 V: k3 a- }, E8 p* o$ a
6 g7 z' i6 [& }再次测试 PB14 输出,波形如下
4 R0 D! O' {9 ?! N; c# y3 I) D- V8 g# \& W5 N" a
3 E9 x8 N1 L. q* K/ r
微信图片_20240702171659.png / W: \& ]: n7 r6 E, T1 h0 L1 b

7 [3 o2 N) R, `9 g▲ 图5. PB14 输出的波形
. ]- s4 C& C9 g  o
. W" x* j& k% w& j. D
' |& S7 H/ Z0 Z8 H
此时的波形输出符合预期,测试正常。
0 F) a( @2 ~8 ?3 {5 L, E1 }
- |& Q! s+ ~: U4 V( a! J: z
' u" p7 \5 q9 }" O: l' x; R

6 V# E6 M( [% D! _6 r$ A
6 j* Z5 V5 y6 a0 e9 J
2.2. 测试 2:PB14 的 PWM 输出频率低于其他的 GPIO
- W' S$ J& A  @4 j& Q: o" g使用 TIM12 在 PB14/PB15 作为 PWM 输出。对比管脚为 PB15。
# T8 b8 D) b  s, B4 N7 D: L
& }8 Z* N" W# H6 D/ J

+ ~5 `0 A* ^1 [2.2.1. GPIO 配置 1 6 |9 n7 P  R; S

' c9 X) H( w, D% l" a$ e

, X$ L( T. y+ N  J& ^) g 微信图片_20240702171655.png 2 P- s4 X6 s( \2 v
2 n! Q9 ?, V" o- [7 V- @
▲ 图6. PB14/PB15 配置 1 ' B/ u# W; P0 G2 }( t- Q
  t% g; E/ W% D7 B5 {/ D" j
9 X$ f, Y/ i: s4 v& o& Y
微信图片_20240702171652.png 8 `: y. N# r" w/ v# ?$ e- C
# _! y( v8 J  |  J' N. [- G
▲ 图7. TIM12 配置 1$ k2 v9 i6 @: E2 i! O# ]5 c6 j

% ^  d6 @* X/ \2 d! M

" a# M# X" |$ l5 r+ p: @2.2.2. 测试结果 1 7 E- P& e% k; v3 t, p
3 F  D. w3 t. _- R" F# o

. Y1 v( L' C) W0 d7 `+ _* H$ O 微信图片_20240702171649.png $ d4 |( s4 }  r1 H1 [
( w4 r0 B/ A) |1 J
▲ 图8. PB14/PB15 输出波形图 1
# @; w+ y( s/ [6 A5 v) n% ^5 _此时 PB14 的 GPIO 输出为 0。修改 TIM12 的配置降低 PWM 频率再次测试。
- q/ K% m7 j$ Y3 B0 ~/ k
4 f# G  Q0 I3 C

2 G! Y  p! g9 c4 k  z2 C- F# k 微信图片_20240702171644.png
& P, _) Y, I$ h1 B. J+ N6 u+ z
/ ]* k3 {( t# F
▲ 图9. TM12 配置 2   v) s; {& [0 m! n* w$ r

; H' \- L1 U* O+ }2 c) K
. H+ C. u9 C* Q' a1 J; @3 p
2.2.3. 测试结果 2 $ a, C/ M) y+ @9 K  |

3 T* q9 _5 U. U/ G
8 E1 w9 Y& L5 ^+ M
微信图片_20240702171641.png
5 F4 i4 {+ b9 I5 z! D2 E: y& f; J! A

# I6 H) S: P/ N% p9 n7 D' s▲ 图10. PB14/PB15 输出波形图 2 : `0 K9 D) I% t
$ c) M3 g5 t' [' E& i* v6 b

( `1 R& E  o# o& C+ B此时的 PB14 是有输出的但波形幅值变小,似乎是 GPIO 设置的速度的问题造成的,修改 GPIO 速度 Maximum output speed 为 medium,再次测试。波形图如下。" ?# M+ h1 q- l7 \. p

& v- Y0 Z2 n7 E0 m
/ t! Y# h0 y/ h2 T2 B' b
微信图片_20240702171628.png ! Z$ l, ]3 `3 ]  A# H$ |0 Z" e, C
- {9 q& }: H  ]; E  x5 E. w
▲ 图11. PB14_medium PB15_low 输出波形图 7 z$ I9 q2 Q# ^2 e1 _  b
( U4 k/ m& P# M6 X8 O+ Q$ h
1 V1 w5 A& [6 b( ?$ a
综合上述实验 1,2 可以看出 PB14 的输出 PWM 的最大频率确实是低于其它 GPIO 的。
! `  f1 M; N: V1 v3 F; k8 d4 _5 ~$ [9 [- m$ n
2 N" P( c& G7 n$ [& ^5 Z8 F/ Q
03小结
) K- o, `; q  w8 ~  @由于 PB13,PB14 都连接到 USB PD,对于 PB14,PB13 的最大 GPIO 输出速度也是有 限制的,GPIO 输出速度只支持 low 和 medium, 最大 medium 速度为 10Mhz。关于这 些描述会添加在下一版本的 DS14258 中。
" ^- X* Y3 V4 L/ ~* C
1 H& `% o* v9 e0 y9 L- U7 h; n

- C. P* g6 D6 F如有侵权请联系删除4 b  Q% i5 u; w4 I7 F

8 @4 E( I2 `& N. [转载自: STM323 }( q1 i* A" D
) M% D! g2 P! }; ~! k$ s
收藏 评论0 发布时间:2024-7-2 17:22

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版