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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-9 22:30
概述
    本章主要GPIO输出模式下不同配置的说明。
   
生成例程, e6 N) n5 A& V. F
   使用STM32CUBEMX生成例程,这里使用NUCLEO-L476RG开发板,因为我这只有这款板子的主频较快。
* x" w. E# ^0 r6 E- q7 x
20.png
8 S, R) V. [% ?. m: \
不同速率对应的波形: K9 R/ M+ M+ R, B4 n
    以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。
% j! @$ M7 U. J* P; Q2 \7 u) b
19.png
$ F4 H& M& |  k% }  P
LOW速率
3 ^/ K6 Q6 q$ f) y' A 18.jpg
0 ^* d, x( j/ L+ p0 E( C  q/ ]
5 y) E- J8 D3 @$ Q; x2 V
Medium速率% d6 v9 m- h$ Q$ t9 U

2 }' v' {1 N& u# M
17.jpg
. T' |$ M: `; Y2 X
High速率3 |  r; M$ i* M. S. m  \: p! X

+ t; a; p! p! u- E9 t
16.jpg

5 [  R/ f  T2 ]1 ZVery High速率
) @" X9 f  f+ C; d) d3 r# [
% B* t! n" w8 S" I. |( z 15.jpg 9 c/ O& n7 z: t7 J7 `

$ [% X, j$ g" N8 k$ n* \6 J
    可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。
/ K. x3 X9 h* z* ^. L& N% a3 k/ O, x
输出方式
7 U5 W+ g& x$ f5 o1 t5 ~: a( e
9 P, s% q! b& p2 [: N
14.png

$ a9 V" w2 k) w
13.png
6 \7 u. f( K4 ~: r6 k
    在上图中,P-MOS带了一个⚪,说明是低电平导通。
9 ^0 e7 }+ X* G# {6 S& g. f& A1 u' x

12.png

4 T1 a# n* Y- T# E$ a
    上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。

; ^+ t; y5 f2 ~: V: k- e4 {, b, _
11.png
9 q9 |& R4 f+ Z* t: D, K9 o
推挽输出
    推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。

5 y  X( u, V- b' o& M% Y5 \* h  v
10.png

+ b! x* Z) R0 \
    当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。
, V0 b, i6 n" L5 C; g) q. `
9.png
( X2 R  B. x/ I! p9 Z8 W

3 \5 H! z' E, Z: \0 v* S) x; U" G$ ~
    当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。
4 M& I/ b( c4 D: U" `8 l( h
8.png

6 c7 D5 y6 T9 f线与
2 Y' {- q/ X% N+ f8 R
    推挽输出高电平与电源电压基本上没有压差
    高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。
    但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。
    看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。
" @6 S" u0 O( z9 I) B) U- [4 o3 F
开漏输出
+ i. o2 e, ]$ s2 C8 V- I9 |
    开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。

( d) w' G  U) U! ]/ |4 b
6.png

2 N: Z2 a, G6 @: x" N6 n
/ f7 u+ Z, k+ f) ]8 ?, X
    若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。
    可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。

  H+ V8 }9 J* X8 _8 [: H6 c
5.png

# e2 r" a+ u; b  h) a& G
    此时需要增加一个上拉,这样的话上拉的电流就会流出去。
    所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。
8 F9 g/ g+ W+ J5 T0 B. f
4.png
- ?$ m* Y& B5 v' Z! O6 d
    对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。

! X' T" J% z; |
3.png

" t6 N. x5 @3 T$ ?+ e: I9 [+ P! G
    上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。
    电流通过N-MOS流回地中。

% V3 w& l( e3 J' r3 `8 Z8 Z
2.png

, a8 W  L4 L4 y8 w( w输出电压
7 ]( F7 A  q: o2 W, U" g
    由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。
    但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。
    下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。

, v. v. \6 \, B& J0 f
1.png
* Q2 X; A9 }' @" t+ }+ i0 K
转载自:记帖
如有侵权请联系删除- `3 V- X8 H: R& n
9 v* i2 n$ H8 M: a# }0 ^6 U

& P0 i3 I2 o8 a. s$ @
2 z. u, o- V! g; d' }6 F7 p
7.png
赞 收藏 评论0 发布时间:2023-4-9 22:30

举报

0个回答

所属标签

相似技术帖

官网相关资源

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