8 h, l: L$ }- ^# Q2 A 01问题背景 客户在使用 STM32H565 开发新项目的时候遇到一个问题,PB14 在开漏时无法上拉到 3V3,且其输出的 PWM 频率比其它 GPIO 低。且多片芯片的表现类似。 检查客户的原理图并未发现明显的问题。 / `- G* ^' M0 x1 B 4 E3 w! E9 q) I: Z( c$ v 02问题复现' C* i. a! F3 m5 k+ i* _ 测试配置:硬件测试平台 NUCLEO-STM32H563ZI。+ A4 w' f6 e. s ?4 V- O! t* B' J 软件工具版本: STM32CubeMX Version: 6.9.2 STM32Cubeide Version: 1.13.2 H# x7 i! D5 [ S/ ]; C " o2 c, g$ ^( L0 Y, _" t " g5 I1 e0 W% D 2.1. 测试 1:PB14 开漏输出异常 9 j0 N$ c5 N' R3 X# {5 p 2.1.1. 测试配置 $ v" n0 _8 x4 {+ c ▲ 图1. PB14 配置 ( @* q( u" v: l+ A& n* t* h0 D8 b 0 o0 I: r8 u) g9 L9 M3 |0 z: c& v 2.1.2. 测试结果! U1 E- G" K2 K0 n E; d" W# _ 测试结果见图 2: + \) I& v; V; d" R- ]4 n# @ ▲ 图2. PB14 输出波形; A& u, [& J" e 9 [+ S2 T4 Z' K5 Z) ?+ E u 从测试结果看 PB14 无法上拉到 3V3,高电平只有 1.704V,似乎有个下拉电阻分了压。8 f# r |7 i/ t# k3 z+ w & Z6 v h# d- r4 L/ j9 j6 c - K' V1 |0 O3 z 查看芯片的规格书 DS14258 Rev 1 Table 14. STM32H562xx and STM32H563xx pin/ball definition,关于 PB14 其 IO 定义如下图:7 c4 d! k( W& g( f# I X g/ F/ f' }- X4 b7 l0 h! o ▲ 图3. PB14 定义 * f1 u! R) r0 Q& i( R8 { 其中_c 表示该 pin 脚具有 USB type-c PD 功能。 9 q: F: B) A6 S$ K: o4 y 查找 RM0481 Rev1,查看 10.11.8 PWR USB Type-C power delivery register (PWR_UCPDR)寄存器描述如下: 3 [1 y* [2 o1 w s0 Z8 t1 B, S ▲ 图4. UCPD_DBDIS 描述 , Y( ?: M' u K2 Y& N9 j 根据 UCPD_DBDIS 的描述,当芯片退出复位时,对于 CC1,CC2 pin 默认下拉。这 也就解释了客户遇到的,开漏模式时无法上拉到 3.3V 的现象。 3 O! i7 x. [, Q 修改测试代码,增加如下代码:
9 f r; Q8 M( S$ F8 z! L. Z 再次测试 PB14 输出,波形如下 1 s p( ^6 F' L' x ▲ 图5. PB14 输出的波形 ) \. Q) P. j" T# S ( u- f3 d& ^( K' i 此时的波形输出符合预期,测试正常。 . {4 E& k7 | i $ ^+ d# S. }% e* e : V. Y$ K& m! \7 } + N& \- i2 S9 S6 h$ K" b8 b* B. A$ } 2.2. 测试 2:PB14 的 PWM 输出频率低于其他的 GPIO 使用 TIM12 在 PB14/PB15 作为 PWM 输出。对比管脚为 PB15。 4 A+ X/ G3 \; w- G' `6 R 2.2.1. GPIO 配置 1 ▲ 图6. PB14/PB15 配置 1 ' }! u7 r/ n: t0 ]7 {% b 6 S6 g% N r" f! D+ Z" z ▲ 图7. TIM12 配置 16 t6 | U z4 H- D( ] q8 A - r2 u# |% | w4 }! E3 b0 x 3 H4 e8 R; X+ W) j. [$ e7 c# ~ 2.2.2. 测试结果 1 ▲ 图8. PB14/PB15 输出波形图 1 此时 PB14 的 GPIO 输出为 0。修改 TIM12 的配置降低 PWM 频率再次测试。 3 Q; h, C" \5 \! E3 S; E 8 i- l- {6 I: C" m 5 o" F! \, Z; e4 D9 { ▲ 图9. TM12 配置 2 & @. N6 F! n$ @: t [* O- m + p" k4 @$ y3 ?5 q g 2.2.3. 测试结果 2 " t L3 K& z' l) N 2 X: ~ i d0 {& A9 { ▲ 图10. PB14/PB15 输出波形图 2 $ f" B c5 D# I1 d 此时的 PB14 是有输出的但波形幅值变小,似乎是 GPIO 设置的速度的问题造成的,修改 GPIO 速度 Maximum output speed 为 medium,再次测试。波形图如下。! F* B* q* Z" u9 v( M( T, |, V * x# Q0 }$ ?# i% e& h. Z) v1 B9 C : |" E( B- }" |9 v9 O ▲ 图11. PB14_medium PB15_low 输出波形图 综合上述实验 1,2 可以看出 PB14 的输出 PWM 的最大频率确实是低于其它 GPIO 的。 03小结5 c" L( D& [& j" ^1 t 由于 PB13,PB14 都连接到 USB PD,对于 PB14,PB13 的最大 GPIO 输出速度也是有 限制的,GPIO 输出速度只支持 low 和 medium, 最大 medium 速度为 10Mhz。关于这 些描述会添加在下一版本的 DS14258 中。2 m% [+ t9 a( f9 h* A6 k . k) T2 n8 _% R; g7 h: K 如有侵权请联系删除 转载自: STM32 6 Q+ V1 w$ D; L$ r2 l6 ^ |
【NUCLEO-H533RE评测】4、移植TouchGFX
【NUCLEO-H533RE评测】3 SPI驱动st7735
基于STM32H7 SPI NSS 功能的灵活应用经验分享
【NUCLEO-H533RE评测】coremark 跑分
【NUCLEO-H533RE评测】2、低功耗模式电流测量
【NUCLEO-H533RE评测】-01-开箱及资料准备
【NUCLEO-H533RE评测】1、i3c与X-NUCLEO-IKS4A1A亲密接触
行业应用篇 | AI 浪潮带火光通信,STM32H5 助力高速光模块应用
基于STM32H563ZI官方评估版使用经验分享
基于STM32H5 DA证书链之体验经验分享