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

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

[复制链接]
攻城狮Melo 发布时间:2024-7-2 17:22
' c1 C9 z( G. U, V* r$ n% k# m
01问题背景
  R( R8 a- Y" k# B# k9 h  _0 `客户在使用 STM32H565 开发新项目的时候遇到一个问题,PB14 在开漏时无法上拉到 3V3,且其输出的 PWM 频率比其它 GPIO 低。且多片芯片的表现类似。, O/ F3 O7 y2 w" K3 |7 b) m
检查客户的原理图并未发现明显的问题。
8 q: ?) H/ [/ U/ G4 N/ q/ r( u' ], {2 C4 Q' F9 c1 q# N
2 ]2 G+ h" T: Z- t2 P9 _
02问题复现
: @1 f; g6 b" E+ O测试配置:硬件测试平台 NUCLEO-STM32H563ZI。  m2 s9 d. a0 |3 }3 S. Y& b
软件工具版本: # n- e$ S( f- c9 s2 ~- {
STM32CubeMX Version: 6.9.2
! h2 G+ ?4 }0 K, t4 s3 k3 e0 bSTM32Cubeide Version: 1.13.2( E' g! O- L" p
% E" f6 Q0 L3 N% B7 G* z+ N& _

' u& q5 v6 l5 ^3 x, x2.1. 测试 1:PB14 开漏输出异常
; o& |7 H* ~& s( f' T2.1.1. 测试配置 ' K# ]# y9 R# A+ z9 {7 P; D3 g. O: X

" Q2 {3 M' x4 I
; q8 L) U) f9 V
微信图片_20240702171716.png 2 [; x1 w  Y! X$ I: P
▲ 图1. PB14 配置8 S3 U4 a& x3 d; p  `( `

0 m, E) ]8 f5 X" \+ u! V
7 M& J- X1 l9 o0 t/ X* E
2.1.2. 测试结果
- w2 _! w1 G) H5 o( i测试结果见图 2:
0 W' z, n( N5 p/ o6 e7 V) _! e: e
微信图片_20240702171709.png 1 \1 \! @! G7 s6 S% T

% c- q: F3 l; c% t& R, S* v▲ 图2. PB14 输出波形' n3 E6 R- ^) i8 a: h- Z3 g
7 D, K5 M. w* Z: K5 M
. l6 Q& a* o4 }9 E, z  ~' ~
从测试结果看 PB14 无法上拉到 3V3,高电平只有 1.704V,似乎有个下拉电阻分了压。
. d$ j6 o% l; I" W) t4 V/ j
, V# P5 `7 T* r# @  ?0 F4 b
( B# H9 N' m- s. J) K7 T
查看芯片的规格书 DS14258 Rev 1 Table 14. STM32H562xx and STM32H563xx pin/ball definition,关于 PB14 其 IO 定义如下图:
5 G8 S7 q1 X+ T+ }5 D, s3 U7 J5 A" I$ ^5 @7 D% Z% Y
$ p% ~9 [+ v' i# T- o  B2 y# i) r
微信图片_20240702171706.png ! F' t/ r0 Z, s' b% j4 e
) W% H8 o" p/ Q  C
▲ 图3. PB14 定义 1 q- `: [) r# C) k4 C( B' M

0 W. g1 F0 K+ ]

+ J7 [9 Y' C* I其中_c 表示该 pin 脚具有 USB type-c PD 功能。* P# v+ n) E* I

6 j8 D+ z6 S7 ~$ z* g; H; s5 X

! P) I: V% d4 X. I1 h查找 RM0481 Rev1,查看 10.11.8 PWR USB Type-C power delivery register (PWR_UCPDR)寄存器描述如下:
# s, e7 K) k6 e9 t- @3 [1 ^: `+ P7 U

5 I; G* y0 R$ I2 |; s 微信图片_20240702171703.png ' O1 e7 i% G% r: b6 J

8 Y8 U. L/ t/ l5 r▲ 图4. UCPD_DBDIS 描述
$ \% L9 s8 U2 O8 h) ?* w7 ~8 ?
/ X& M* Z9 u/ u

3 N3 `+ r  B3 w2 j# A/ ]根据 UCPD_DBDIS 的描述,当芯片退出复位时,对于 CC1,CC2 pin 默认下拉。这 也就解释了客户遇到的,开漏模式时无法上拉到 3.3V 的现象。, z; d& G$ i: i+ O, }/ `% I6 p

& P- x% i1 x  ]$ A/ J/ ^

; H) A0 \7 E1 p修改测试代码,增加如下代码:2 h9 T8 Z# m2 _9 l7 V
  1. /* USER CODE BEGIN 2 *// k$ L" O) Q. }; \& t' O% J
  2. SET_BIT(PWR->UCPDR, PWR_UCPDR_UCPD_DBDIS);/ t0 ^' S; h: w' |2 V* `
  3. /* USER CODE END 2 */
复制代码
, f4 I$ ~- {( ?1 S7 @4 o
: ?1 i+ M6 O1 A4 `  q/ Z  X
再次测试 PB14 输出,波形如下 " X6 F% H; j3 K+ X$ y9 r4 W

4 O6 n9 o7 D- \0 x3 p

6 u, u! C5 f  y4 {  t 微信图片_20240702171659.png % z/ v" z/ Y- C
4 {3 X$ I( _; z0 I9 ~
▲ 图5. PB14 输出的波形
) d, c  \+ Z5 z" e" Z1 ?  j
5 o/ c) G. w* H" E1 K

3 D8 V" X$ A; c- S此时的波形输出符合预期,测试正常。 4 w  {8 A$ }2 L9 R
; t; P& p8 S8 ^) D- v
' X4 P* ]7 t7 _% M: Z% n

; p1 X3 [/ J; ?2 ], v
* E% Y5 [& g2 x- H( u  j2 o7 p- b
2.2. 测试 2:PB14 的 PWM 输出频率低于其他的 GPIO9 ~+ d( B' q* }: t! T0 f" E
使用 TIM12 在 PB14/PB15 作为 PWM 输出。对比管脚为 PB15。2 a8 e1 V7 E% B  R, m6 }

  q1 `' g, n  e1 i0 L4 p

% C: E/ t; y. u& X0 k/ y2.2.1. GPIO 配置 1 + {8 m$ {' `$ G- k# c: ~: ]4 i6 X! Y
1 `  S8 X6 c8 \! f, F/ D) _% Y

4 ^- y% q1 Y# P* N' q 微信图片_20240702171655.png ! V5 ]: e7 X$ B8 E# D: E1 V  a
8 f% Z6 e3 Z( _
▲ 图6. PB14/PB15 配置 1
' M6 \4 x6 s, O' t
% O- M3 @7 M# K" n: X

/ \9 v5 |" w$ ?4 n+ v% N3 x 微信图片_20240702171652.png
, Z2 O8 A9 [2 X7 {

3 _' y0 a$ U: J! s▲ 图7. TIM12 配置 1& ^8 X  K  T; G7 g

' z  ]$ A6 ]" p0 u% M& V
! c6 q; v  N/ h6 E+ f
2.2.2. 测试结果 1
3 N4 l& f( P. F9 K4 `
8 z. L) `) I9 B* M$ S% X7 A) W5 p

: }1 |: s1 a- I- S" V. W) ] 微信图片_20240702171649.png
* x8 X& s) ^, q

2 S8 m9 W6 f8 y▲ 图8. PB14/PB15 输出波形图 1 9 d2 ^/ i0 S2 Z* x; p! I6 U* C# k
此时 PB14 的 GPIO 输出为 0。修改 TIM12 的配置降低 PWM 频率再次测试。4 \6 a3 h' F7 G" a7 M4 h8 s# M
) u" @  M+ }, S) Y' Q0 K% h
' ^: _0 ]# Y! P6 r1 w9 u
微信图片_20240702171644.png , I6 I+ N) R  n% ]9 @

& ~8 J1 I6 x; `* a- P7 _3 P▲ 图9. TM12 配置 2
6 C- S5 v* c3 I/ l7 v. Z! B% ?1 @) j1 H2 ], E2 j' K0 k
4 }/ J( r  q5 V8 `
2.2.3. 测试结果 2 ; b8 z. T% Z3 w; p  S& `

. p! {! H5 o- ^
) [  W2 x( k( V% c
微信图片_20240702171641.png
5 K6 I0 r- t( |# J# |
3 x! E  s1 ]" {" ]+ E9 _; c: C
▲ 图10. PB14/PB15 输出波形图 2 + N3 [/ I9 Y' w9 F( n# Y

9 ]5 N, H3 }& L3 G: b$ N2 ]
1 h+ g/ b  g/ }0 L
此时的 PB14 是有输出的但波形幅值变小,似乎是 GPIO 设置的速度的问题造成的,修改 GPIO 速度 Maximum output speed 为 medium,再次测试。波形图如下。$ P* m/ D; E) r  s- j

5 g, |6 o3 W3 ^- p
& o8 H* H8 ]+ y3 u) Y9 D
微信图片_20240702171628.png " {. T/ i: h  ]

# {1 @2 g7 G9 ]9 r# R% B▲ 图11. PB14_medium PB15_low 输出波形图
3 p; @, k1 m) C' o4 l# I# ?/ }5 e# a7 z+ G, L  u) j6 I4 M

! j+ f% [& N( ~& F) N# R综合上述实验 1,2 可以看出 PB14 的输出 PWM 的最大频率确实是低于其它 GPIO 的。( K* l# D; z- q. M

( X' ^0 D" h# J. |: e2 h, q+ f- t5 Y
% ^: X4 O2 p; D' K/ I
03小结
, V- z0 f$ Z4 q由于 PB13,PB14 都连接到 USB PD,对于 PB14,PB13 的最大 GPIO 输出速度也是有 限制的,GPIO 输出速度只支持 low 和 medium, 最大 medium 速度为 10Mhz。关于这 些描述会添加在下一版本的 DS14258 中。- G+ T. j  K3 J0 g$ M
. b/ |0 t, W5 h( F
  l1 u3 c) Z' L3 M9 ?$ p/ h* |. n
如有侵权请联系删除' n6 t# A3 [3 }+ _

! X1 a4 a7 [: n转载自: STM32& N9 `6 p/ R( a$ l, @
: C" f) m4 S" ^3 ~  E6 `  Q
赞 收藏 评论0 发布时间:2024-7-2 17:22

举报

0个回答

所属标签

相似技术帖

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