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

基于STM32CUBEIDE的GPIO输出模式和速率经验分享篇三

[复制链接]
攻城狮Melo 发布时间:2023-4-9 22:30
概述
    本章主要GPIO输出模式下不同配置的说明。
   
生成例程
1 Z# R& a+ _+ [
   使用STM32CUBEMX生成例程,这里使用NUCLEO-L476RG开发板,因为我这只有这款板子的主频较快。
" z2 b" j% X# x" V. Z6 G
20.png

  J: k9 h1 b6 ^- U1 `: S1 U( w, v不同速率对应的波形
" ^3 r/ W: n% a0 Q' b4 x
    以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。
% J7 V4 C! l! |8 S
19.png
& t( z* ?6 X7 W6 k5 M: M: g
LOW速率
3 n" _$ ?2 u# W/ d/ b 18.jpg * k. t$ P/ `" @8 }. h' B
% T' o3 Q8 m( y6 I
Medium速率+ P. J$ e, |- V! ^: P
$ @! p8 s6 X; i/ j
17.jpg
  k' w- ?5 S& f
High速率/ P0 u: E9 V$ B$ B
- S8 B! @1 T$ H1 a2 ?; x: I8 [0 ~
16.jpg

1 d2 l# i7 b* e% P" SVery High速率/ h5 n! T+ }3 M! F+ E4 v
4 j; Y2 V8 r0 \4 M& U
15.jpg 3 E$ `9 b( n- s* F5 z$ }
  Y  s4 i' z& q& l
    可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。
1 u' F, {) O. b0 u
输出方式
# ~3 C* I! |1 P% D

2 r! z9 o/ a) E8 S- y' M
14.png

7 I  h4 I8 c8 J% j7 v
13.png
+ [2 c. n1 ^7 G# d, E, J
    在上图中,P-MOS带了一个⚪,说明是低电平导通。

4 b# k& o8 W" I% d5 f( b

12.png


3 a" T' K1 @8 Z' S0 w
    上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。
8 l/ u2 f' G; G8 }
11.png
/ |; [) k0 k; o! b- F$ k/ v5 e
推挽输出
    推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。
& U. X4 x0 |) I3 b$ g7 R
10.png

0 ~% d3 p, A/ M2 V/ N7 {) b! S
    当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。
, B) T# T+ j1 v1 x/ }) F
9.png

0 Y! M! _3 O( N9 A/ C# O$ }- G$ R( ?2 r/ V) L# N! C
    当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。

" d2 e$ k' t/ H3 `4 Z) w
8.png
# d$ _2 @" M0 S# e, }, K
线与
: L, i% _; Z; B- @
    推挽输出高电平与电源电压基本上没有压差
    高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。
    但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。
    看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。
9 n0 _4 A6 X+ l# L1 }
开漏输出
# S5 y" q! v' ?7 p4 P6 @
    开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。
( s, ]7 g8 L6 n* S9 Q2 D
6.png

/ y3 Y4 |; F# Z9 M8 r

# J4 e. |% G# z( F; `
    若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。
    可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。

0 w5 E+ L. k! }0 t/ J
5.png
; D: n2 P" K0 f; ^" J/ T
    此时需要增加一个上拉,这样的话上拉的电流就会流出去。
    所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。

# b  N! w/ g7 f2 ?4 y5 w, R
4.png
# x+ ]; ], E. Z6 {$ I
    对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。
! m2 _! i+ `3 K3 O
3.png
; B4 R( [8 U/ x  Z
    上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。
    电流通过N-MOS流回地中。

; ~% X' T% [7 b3 i- J
2.png

& u4 d" s$ P! E  j输出电压
+ z( e$ ?" F/ R& o, k
    由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。
    但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。
    下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。

6 F5 C; K7 G/ I% w+ u* Y3 Y' h
1.png
9 E# ?* x) ?4 d4 l% b
转载自:记帖
如有侵权请联系删除
% J& h* I) @9 i2 k  p

' Z6 g* t2 L% l( F3 T4 Q
7 g  g& M( n0 l4 V( ~' M& N: p! k, q7 q0 W. e3 B! V$ e7 p8 M5 p8 o
7.png
赞 收藏 评论0 发布时间:2023-4-9 22:30

举报

0个回答

所属标签

相似技术帖

官网相关资源

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