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

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

[复制链接]
攻城狮Melo 发布时间:2023-4-9 22:30
概述
    本章主要GPIO输出模式下不同配置的说明。
   
生成例程
* l7 Q' G# O% z$ r0 S- E
   使用STM32CUBEMX生成例程,这里使用NUCLEO-L476RG开发板,因为我这只有这款板子的主频较快。
7 x+ n; A; w  a$ f- P/ s
20.png
9 g4 w3 b: T. b$ Z1 J: L2 [
不同速率对应的波形
; I4 P' t1 D, H1 u" v' v
    以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。

" a( y7 O- s4 C* A9 q% o+ {
19.png
) E6 o' f) m5 T$ S! V) l
LOW速率
5 }* d2 {, X. Z6 U3 b, ^* U 18.jpg ! r8 ?8 B; g2 ?3 N% W/ o! F% ]

% B8 `! g! m  e. y
Medium速率
; S' w2 j7 d! Z, L2 @1 n: B2 I
- B+ J' o  e" Z
17.jpg
, a5 Z+ V7 E( V/ K
High速率
6 y* h: Z! q; h2 s( a

% y4 J8 a  t5 m) L( M
16.jpg

! i8 `% p8 w& EVery High速率! \! _, f; R6 q8 t
& N* P, d! u) W1 q6 i1 b
15.jpg ( u2 @* |& `% {- d

( F% A8 P: G1 J5 S
    可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。

& S8 A; n0 w) F/ ~/ `/ T1 e
输出方式
5 L/ ]; m* p7 L- Z% ~* V2 N) [; T
2 _6 l9 H( Q5 E  P6 l
14.png

  ^( g& I! ^3 X8 a$ v. {: r* H! f, I
13.png
# p& Z, }5 h' |' i7 f
    在上图中,P-MOS带了一个⚪,说明是低电平导通。

6 h% @' ^! U6 K6 j9 s! I

12.png

# l$ ?, N0 ]4 h) N7 \
    上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。

7 K% v; A+ U0 [: t  V! L# F6 v
11.png
# `8 C& |" U% b: p8 W# p6 U
推挽输出
    推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。
. b5 c7 d: j' X7 C( S; \; {4 `3 [
10.png

" e& B) R( y4 f, n' }: |' \( Z9 S
    当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。
# {0 {$ F+ w. V7 j. s* X/ o8 P
9.png

' Z* W. ]  A$ I' E
; I$ m4 b! h' o7 m( K1 q
    当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。
& C9 a. l4 x/ [+ @9 c6 r
8.png
7 \; F3 J; X7 x4 K, [( H) C8 J
线与
) b+ Q: `6 M# n8 i4 s6 v7 T% _
    推挽输出高电平与电源电压基本上没有压差
    高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。
    但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。
    看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。
8 m+ ?) K1 N* D$ [
开漏输出7 Y& T, ^3 e2 \+ q% @- U- K2 \" h
    开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。

( }% R' b  |* ?0 Y$ V: Q! L
6.png

- k* K6 T: ?* z" \

) }8 u5 D5 ~$ D" `8 i
    若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。
    可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。
0 I; m& _& o, }6 k/ S& T; ]
5.png
/ {' E( A& j/ j# P) Z4 c9 @
    此时需要增加一个上拉,这样的话上拉的电流就会流出去。
    所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。
! A5 N- r1 V8 t& l1 ]4 U$ m
4.png
6 T1 ?# E- W$ P9 q
    对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。

) s4 M9 c, b2 r) t
3.png
" V( p1 f$ v% @# e" n
    上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。
    电流通过N-MOS流回地中。

8 G, }8 }' m1 a, c) D* W
2.png

& n: Q! q' @7 o, V2 [输出电压0 w  m3 F' ~$ H( \
    由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。
    但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。
    下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。

% P9 D3 t! b8 Q  w
1.png

1 i# ~7 U9 z. \$ y8 i
转载自:记帖
如有侵权请联系删除
8 \# k5 y# I8 r$ I4 S
* }: p* {) Y, C8 I

! i) N# S7 b! J- }* q7 P7 t# d& [( z+ Y9 z" {
7.png
收藏 评论0 发布时间:2023-4-9 22:30

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版