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

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

[复制链接]
攻城狮Melo 发布时间:2024-7-2 17:22
, Z! S. \2 a" l4 ?5 n1 x
01问题背景
6 M: B. X. H* C& j5 X客户在使用 STM32H565 开发新项目的时候遇到一个问题,PB14 在开漏时无法上拉到 3V3,且其输出的 PWM 频率比其它 GPIO 低。且多片芯片的表现类似。* P- w+ d6 Y1 }' H" c
检查客户的原理图并未发现明显的问题。( b7 O6 U( i: J: n" E

5 v  I0 E" D; u* Y" ?( f

9 W7 y: z6 d8 n( Z; G1 }, U" s02问题复现
; U, H. W6 D( f- c# x测试配置:硬件测试平台 NUCLEO-STM32H563ZI。8 `% l0 ?, W8 `+ U& N
软件工具版本: 0 k- X# u0 ?- ?+ d! b3 V* O
STM32CubeMX Version: 6.9.2 ; u6 `0 Q) T! a+ r
STM32Cubeide Version: 1.13.28 x4 Z5 u. k7 p) o, B
, Y& V- p3 d$ f; d
& c7 O8 p% q  r$ B& G9 u
2.1. 测试 1:PB14 开漏输出异常
) d& s8 e# C( K$ |. c' n3 v* u2.1.1. 测试配置
! @! V% E/ a7 S. }6 S0 _6 A# y+ x$ @3 E0 B5 }1 D

5 g: A+ w0 k7 s- f) {" T  X 微信图片_20240702171716.png
" X( m# W- E7 O( ]▲ 图1. PB14 配置/ V+ S) M% u0 ~

+ C+ W3 c2 B$ Q& H# c

+ c: c7 O6 ^& v2.1.2. 测试结果  ?- Q% f& P+ s
测试结果见图 2: , }4 g- x( x4 A
# D! i/ h2 v( R( S* z( t
微信图片_20240702171709.png ( E; r$ n# V1 b1 g( b: R
( A. }5 e6 K' d! _
▲ 图2. PB14 输出波形
8 C# b" H+ M0 z9 N. Z. g+ u( p- E( d, J  _

# E) c7 z- ]* d! R& o& A" i! u2 e0 F从测试结果看 PB14 无法上拉到 3V3,高电平只有 1.704V,似乎有个下拉电阻分了压。0 k9 E# d9 ~) S  ?& D! K% D
: ^6 d  p0 L0 N8 W7 b
- s( b  k! p$ ^: R
查看芯片的规格书 DS14258 Rev 1 Table 14. STM32H562xx and STM32H563xx pin/ball definition,关于 PB14 其 IO 定义如下图:
' h  |  y* c2 l' E. R  c) M% R3 A2 d. \9 m( n/ b4 ~7 ]; p* [

- |# p3 U. v# W 微信图片_20240702171706.png
% B" a5 `" e6 i! y

6 z: v1 x& w) i2 a# W  c$ V) @▲ 图3. PB14 定义
% o4 e$ A, B2 [1 ]; X* J- N% U% e* Q4 x; M  |$ P0 l$ Q
! Q: A! X# \  E* K
其中_c 表示该 pin 脚具有 USB type-c PD 功能。5 e) J# H* Y7 U) `

- A. Q" V9 |' A& E
* _* {" G! z8 m* u
查找 RM0481 Rev1,查看 10.11.8 PWR USB Type-C power delivery register (PWR_UCPDR)寄存器描述如下:
# J" M0 {3 i" h' r: J6 L) m' d9 l, N" m' v$ [, _% X. ]

: D+ q. i" A# c6 i% K/ ] 微信图片_20240702171703.png
. A3 n/ M$ e9 p1 u5 R+ V7 S# I) K$ F; D, G; W
▲ 图4. UCPD_DBDIS 描述
  C( A; L" n; }5 P8 y
  M  w% j/ Y7 y9 D4 B4 o

  r% C) F0 R" {0 t, w" H根据 UCPD_DBDIS 的描述,当芯片退出复位时,对于 CC1,CC2 pin 默认下拉。这 也就解释了客户遇到的,开漏模式时无法上拉到 3.3V 的现象。' r8 M6 B+ `2 W. i2 o

& }) b8 {3 B9 ^- y7 k: x9 H
  ^5 F2 [  s: q& U0 i4 ^1 {
修改测试代码,增加如下代码:! f) `$ ^0 M! {8 M% e/ v/ l  s% x
  1. /* USER CODE BEGIN 2 */
    ) Y4 u7 W! a8 W3 M. a" k7 k
  2. SET_BIT(PWR->UCPDR, PWR_UCPDR_UCPD_DBDIS);2 ~9 v- @* l1 X; o! x
  3. /* USER CODE END 2 */
复制代码
) d5 L5 B2 {0 _6 i
" \1 ?- y4 N- J) `, f% e
再次测试 PB14 输出,波形如下
% }7 K9 J2 |" F9 M& e* Z( P9 ?* F1 m* X

7 ], z  I' o6 Z 微信图片_20240702171659.png
, c  p: `) [5 ^! O4 b4 r
" Z" f" J. S5 R" I! {2 d
▲ 图5. PB14 输出的波形! M& Y; z" y: l) N' ^! k% N

2 o2 Q1 z! Z2 {4 `9 ?
) A, Z: g/ K# f% p9 h* u
此时的波形输出符合预期,测试正常。
+ P. H$ E2 c6 d1 l0 K: W
$ t- W/ W+ J* v5 \1 D

, L6 l7 d9 ]+ o- l) @' @  q+ U5 s; L2 N2 Z

. W, |1 d) e# }: \1 v8 r2.2. 测试 2:PB14 的 PWM 输出频率低于其他的 GPIO( }: d! S; }4 h, E
使用 TIM12 在 PB14/PB15 作为 PWM 输出。对比管脚为 PB15。' b, L  ?9 K- h7 m) Z( a' @

- s3 x3 f$ C- k' Q* f7 k

# g8 N  c9 E% f0 _( C% d% |2.2.1. GPIO 配置 1 : @9 Z5 X; e5 }7 i/ _6 C7 k
+ V9 K1 ~! c7 S& b: ?. h4 K
6 D, [! w. d7 D" t' m1 [! x
微信图片_20240702171655.png
  [  U& \2 E) k5 a- s" G
# C& F( ~# d' n) B3 ^$ W" v
▲ 图6. PB14/PB15 配置 1 - w8 s5 y3 X; q* m# O& g

: q/ f! G$ n( o3 @0 U

1 a& u1 x$ d& V& W! J1 t 微信图片_20240702171652.png
- A- p' d0 Z/ b6 N0 y
2 ?9 u9 y' p& l4 n8 p2 k
▲ 图7. TIM12 配置 1% w/ `: O6 Z3 Z5 h2 R

3 c9 T& T" d* P$ c! C8 |( C0 G

( G  y: @% u8 L7 p& V4 L2.2.2. 测试结果 1
% s* \  y+ h& o% M! }6 c. H# T2 g' M4 z& V6 d* O
" o- u3 `# F8 |( @
微信图片_20240702171649.png ' ?& L" i  m6 B) I# g# A

; @  x. l6 j! a( x2 O▲ 图8. PB14/PB15 输出波形图 1
8 ]% B" @( b' o* w+ Y$ @" q3 r/ k此时 PB14 的 GPIO 输出为 0。修改 TIM12 的配置降低 PWM 频率再次测试。
9 V+ i7 [9 ]  {: F1 S- L3 W8 I7 I9 h( N

+ F+ r, u' D; w 微信图片_20240702171644.png
# P2 c" a% Q% [; G$ F

( n$ f* N3 T: M5 j; ^1 t+ ^▲ 图9. TM12 配置 2 , d, [0 U- [9 o5 {" c

8 T1 b" R% E- J2 O! `1 N( i3 J- B2 h
/ H5 a: Z! D  C2 _/ \" Z+ {
2.2.3. 测试结果 2
" H/ T+ `5 t- L8 N1 }. L. x; `! P: B
3 H" M" l$ c; p0 K3 m( I+ X! [2 j) p1 h
+ L* ^* S2 p, s" x, |8 [
微信图片_20240702171641.png & x$ Y( W$ g$ a& H4 Q# Y8 Y
  V. {  u: z- D8 c4 A
▲ 图10. PB14/PB15 输出波形图 2 ( I) j$ E& |, G6 _! k# ?1 U

5 }3 h9 J' o+ Y7 e; k; i0 O  B

$ F6 s, g; S  S* y此时的 PB14 是有输出的但波形幅值变小,似乎是 GPIO 设置的速度的问题造成的,修改 GPIO 速度 Maximum output speed 为 medium,再次测试。波形图如下。* O" ]1 o/ B4 h+ |" @# l. f7 v

7 z0 e4 m/ Z, @, a! v1 I
! G" n( x" c9 S) R/ S( f
微信图片_20240702171628.png 6 i6 U( F3 n# F0 m  h

4 J) e, n1 _% {1 H3 p3 l▲ 图11. PB14_medium PB15_low 输出波形图 % k! ~% U* {% S+ }

7 h, N7 r- m! }8 N* U9 N

3 K  p5 l# l3 j, Z. C综合上述实验 1,2 可以看出 PB14 的输出 PWM 的最大频率确实是低于其它 GPIO 的。
  }' t  O  \0 S1 @, ?  [- h5 u% t; X/ M

. k1 m% ]& E: W1 r" u6 y- @03小结
" I8 J2 P  v4 z0 Y# V由于 PB13,PB14 都连接到 USB PD,对于 PB14,PB13 的最大 GPIO 输出速度也是有 限制的,GPIO 输出速度只支持 low 和 medium, 最大 medium 速度为 10Mhz。关于这 些描述会添加在下一版本的 DS14258 中。
; k  H' j! y* {$ S1 N) l0 x9 _$ B' @! E5 {. O

# [, z7 [& m4 x: o+ S如有侵权请联系删除: @0 v& y. B' A

+ B6 y% R- d% H% R, t- j转载自: STM32) X( ~# H: g5 `  ]( E" ^7 l

6 M4 q$ e% y% ~% h# k1 ?
赞 收藏 评论0 发布时间:2024-7-2 17:22

举报

0个回答

所属标签

相似技术帖

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