STM32CUBEMX开发GD32F303(4)----GPIO输出模式,速率测试、开漏和输出说明

概述

以STM32CUBEMX创建STM32F103工程,同时移植在GD32F303中,同时通过GD32303C_START开发板内进行验证。需要GD样片的可以加群申请:615061293。

视频教学

听不到声音的请点击跳转进行观看。
https://www.bilibili.com/video/BV1Fv4y1T7GK/

GPIO输出速率测试、开漏输出及推挽输出

csdn付费课程

付费课程更加详细。
https://download.csdn.net/course/detail/37152

硬件准备

这里准备了2块开发板进行验证,分别是GD32303C_START开发板。
在这里插入图片描述

开发板管脚配置

在GD32303C_START中的LED管脚配置如下所示。
在这里插入图片描述

不同速率对应的波形

以PC3为例,在推挽输出无上下拉情况下,输出速率主要有4种,一般的低端MCU只有3种,没有Very High。
下面是ST的配置图。
在这里插入图片描述
在固件库中,定义如下所示。
在这里插入图片描述

LOW速率

在这里插入图片描述

Medium速率

在这里插入图片描述

High速率

在这里插入图片描述

Very High速率

在这里插入图片描述

可以看到,在不同速率下,端口的反应速度不一样,设置最大输出速率越大,响应越快,对应的噪声也就越大。

输出方式

在这里插入图片描述
在这里插入图片描述
在上图中,P-MOS带了一个⚪,说明是低电平导通。
在这里插入图片描述

上图是GPIO的示意图,有输入和输出,如果简化为输出,则如下所示。
在这里插入图片描述

模拟文件下载

https://download.csdn.net/download/qq_24312945/85250172

推挽输出

推挽输出的内部电路大概是下图这个样子,由一个P-MOS和一个N-MOS组合而成,同一时间只有一个管子能够进行导通。
在这里插入图片描述
当输出高电平时候,P-MOS导通,N-MOS截至,此时电源电流入R5。
在这里插入图片描述
当输出低电平时候,N-MOS导通,P-MOS截至,此时电流流入R5的为0。
在这里插入图片描述

线与

推挽输出高电平与电源电压基本上没有压差
高低电平的驱动能力较强,推挽输出的电流都能达到几十mA。
但是无法进行线与操作,做进行线与操作,那么电源和地就会短路,因为mos管电阻很小。
看下图可以得知,电流通过Q3的P-MOS流到Q2的N-MOS,最终回到地。
在这里插入图片描述

开漏输出

开漏输出又叫漏极开漏输出简化后可以看作如下的示意图。
在这里插入图片描述
若还是使用上面推挽的电路图,当N-MOS为低电平时候,那么他的输出就是一个高阻态。
可以看到,R5没有电流通过,电压也是接近于0,所以GPIO无法对外输出高电平。
在这里插入图片描述
此时需要增加一个上拉,这样的话上拉的电流就会流出去。
所以在开漏输出情况下,需要增加一个上拉才能进行输出高电平。
在这里插入图片描述
对于输出低电平,他和推挽输出差不多,电流通过N-MOS流到地中。
在这里插入图片描述
上图是没有增加上拉,但是开漏输出模式都需要增加,增加上拉之后如下图所示。
电流通过N-MOS流回地中。
在这里插入图片描述

输出电压

由于推挽输出在输出的时候是通过单片机内部的电压,所以他的电压是不能改变的。
但是开漏输出是通过外部上拉的电压,所以可以改变开漏输出模式下的电压大小。
下图是当上拉为5V时候,也是可以驱动出去的,这个上拉电压最大值需要看单片机的耐压。
在这里插入图片描述

最后

以上的代码会在Q群里分享。QQ群:615061293。
或者关注微信公众号『记帖』,持续更新文章和学习资料,可加作者的微信交流学习!
在这里插入图片描述

posted @ 2022-05-28 22:04  记帖  阅读(231)  评论(0编辑  收藏  举报