|
概述 本章主要GPIO输出模式下不同配置的说明。 使用STM32CUBEMX生成例程,这里使用NUCLEO-L476RG开发板,因为我这只有这款板子的主频较快。 * x" w. E# ^0 r6 E- q7 x
不同速率对应的波形: K9 R/ M+ M+ R, B4 n 以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。 % j! @$ M7 U. J* P; Q2 \7 u) b
$ F4 H& M& | k% } P
5 y) E- J8 D3 @$ Q; x2 V
High速率3 | r; M$ i* M. S. m \: p! X
Very High速率
可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。 / K. x3 X9 h* z* ^. L& N% a3 k/ O, x 输出方式9 P, s% q! b& p2 [: N
在上图中,P-MOS带了一个⚪,说明是低电平导通。 9 ^0 e7 }+ X* G# {6 S& g. f& A1 u' x
上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。
推挽输出 推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。
当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。 , V0 b, i6 n" L5 C; g) q. `
当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。 4 M& I/ b( c4 D: U" `8 l( h
线与 推挽输出高电平与电源电压基本上没有压差 高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。 但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。 看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。 " @6 S" u0 O( z9 I) B) U- [4 o3 F 开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。
/ f7 u+ Z, k+ f) ]8 ?, X 若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。 可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。
此时需要增加一个上拉,这样的话上拉的电流就会流出去。 所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。 8 F9 g/ g+ W+ J5 T0 B. f
对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。
上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。 电流通过N-MOS流回地中。
输出电压 由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。 但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。 下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。
转载自:记帖 如有侵权请联系删除- `3 V- X8 H: R& n 9 v* i2 n$ H8 M: a# }0 ^6 U |
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】内存读写性能 - STM32H5E5实测Flash,SRAM读写速度,用DMA搬运大块数据
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【NUCLEO-C562RE】OLED 显示
保姆级教程:CMake 工程导入 STM32CubeIDE 步骤
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
《MCUBoot课程》学习笔记+从信任链原理到量产实践
微信公众号
手机版