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

一个与STM32 GPIO输出速率相关的话题

[复制链接]
STMCU小助手 发布时间:2021-2-4 13:32
一个与STM32GPIO输出速率相关的话题
3 ^1 r; \5 o' z; r
对于STM32芯片,其GPIO输出可根据不同的应用需求而灵活选择不同档次的输出速率。一般分为低、中、高或者很高几个档次,具体速率视不同的STM32芯片而定。

. O8 L( A* w9 x1 a/ C
不妨以STM32F407为例,它分四个输出档次,具体的数值范围参考芯片数据手册的I/O的交流特性部分。

7 G/ S$ e/ Y$ d( o) N
5.1.jpg

% z; G0 z& U  b
5.2.jpg
$ ], S5 }1 z; |! c* `5 d0 N
这个输出速率主要体现I/O驱动电路的输出反应能力,通过选择不同的输出驱动速率,实现最佳的噪声与和功耗控制。不难理解,选择输出驱动速率越高,噪声也越大,相应的芯片功耗也会越大。所以对于这个输出频率的选择,不要太随意,合适就好。在满足应用的需求的前提下,就不要随意往高端速率选择。

1 N/ @% Q+ ?8 [4 P  W; J9 k
这里说几个简单的应用案例,以加深印象和理解。
' h: Q" Q" L* w( p5 J; G% n! A
1、LED闪烁快慢不一致
* i; i4 N& S( b0 r: T
某客户使用STM32F4芯片做产品开发,其中用到 while( count++ > 0xffffff) 做软件delay,然后让LED闪烁。相关代码甚为简单,却发现产品的一致性不好,LED 闪烁有的快有的慢。

+ j5 b' T8 W' }, f! I0 C0 _
反复排查代码原因,未发现程序逻辑错误。后来尝试将LED 驱动脚的Output Speed设置从very high调整为 low 后一切正常。

7 \3 D7 ?7 E, C, t$ V  \/ T' f# R- q
2、Audio 噪声

* e: S/ D0 r* q# K" A
某客户使用STM32芯片做产品开发。其中有I2S的音频播放功能。客户在调试时用到Printf串口打印,发现使用printf输出时会出现噪音,如果关闭printf则正常。
1 @7 S2 l+ O+ d" H5 K7 J$ Q+ I  u, R5 u
后来,反复查看代码,直到将UART的TX输出端口的管脚输出速率由very high改为Low后噪声消失。
. n. S; [% P4 y% H
3、SPI通信异常

3 ?* i4 r: M) u' c  [4 y4 m# Y7 ^) @
有人使用STM32芯片开发产品,其中用到SPI通信。STM32做主,其它外围器件做从,有时发现SPI读取数据总是出错。

! K; @* P% {. N; u0 S  ?
对于这里的通信出错,如果SPI通信端口脚的输出速率选择跟实际通信速率不合适的话也会出现。相比实际速率需求,过高或过低了都会导致通信出错。
好,抛砖引玉似地罗列上面几个案例。这里顺便聊下跟GPIO输出速率有关的I/O补偿单元。
( k" N5 m; T' A5 K; ^0 e$ N
目前STM32家族的9大系列里面,其中高性能的STM32F2/STM32F4/STM32F7系列的芯片,都带有GPIO补偿单元。
0 v9 d3 h6 l2 o& C% C" Z; C/ }" j
5.3.jpg

- a4 d$ e3 R* O, k' J
该补偿单元的功能就是对GPIO的输出摆率进行合理控制以降低I/O噪声和功耗。当你在产品开发中需要配置50M或更高的输出速率时,强烈建议开启该补偿单元。
- E# q$ R* K; X
总之,对于STM32 GPIO输出速率的选择问题,我们在开发应用中要多加注意。如果因为这个输出速率选择导致麻烦,原因往往比较隐晦,很难直接从代码语句或程序逻辑上找到突破。在满足实际应用需求的前提下,速率就低不就高,这对降低功耗、减少噪声、改善EMI都有好处。当然,如果选择过低于实际需求的输出速率也不可取,那样会导致输出失真、通信异常等问题,自然也违背了ST设计多档位输出速率的初衷。

1 O' Q! ^* \8 p7 }* @
文章出处: 茶话MCU
% L$ O$ F" ]5 s& Q
赞 收藏 评论0 发布时间:2021-2-4 13:32

举报

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