关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
从推挽看STM32的I/O接口配置形式
[复制链接]
作者:
langhunbei
版块:
›
MCU单片机技术
›
stm
发布时间:
2020-1-18 18:47:45
1432
0
返回列表
langhunbei
当前离线
注册会员
注册会员, 积分 161, 距离下一级还需 39 积分
注册会员
注册会员, 积分 161, 距离下一级还需 39 积分
积分
161
发消息
楼主
电梯直达
langhunbei
发表于 2020-1-18 18:47:45
|
只看该作者
|
倒序浏览
|
阅读模式
STM32的I/O接口有8种配置方式——
1.GPIO_Mode_AIN 模拟输入
2.GPIO_Mode_IN_FLOATING 浮空输入
3.GPIO_Mode_IPD 下拉输入
4.GPIO_Mode_IPU 上拉输入
5.GPIO_Mode_Out_OD 开漏输出
6.GPIO_Mode_Out_PP 推挽输出
7.GPIO_Mode_AF_OD 复用开漏输出
8.GPIO_Mode_AF_PP 复用推挽输出
其中复用和推挽重复出现,今天小编就与各位看官谈谈什么是推挽输入/输出。
不仅仅stm32有这种配置,实际上,这种方式已经广泛应用在很多场合(如功放电路中的推挽输入/输出)。
推挽,又叫做推拉、互补,是个很形象的名字,一般是指两个三极管(MOS管)分别受两互补信号(或者一个信号,但是用互补对管)的控制,总是在一个三极管导通的时候另一个截止,这样的电路被称为推挽式(互补式)电路。
图为推挽式电路
这种电路在放大中通常被用作输出级,在STM32中,推挽配置就以下图中的形式存在。
图为STM32中推挽输出的形式
在相应位置1时,PMOS导通,NMOS截止,输出电压为VDD;在相应位置0时,NMOS导通,PMOS截止,输出电压为VSS,这就是所谓的推挽。是比较简单的。
而所谓的开漏(对三极管而言是开集,一样的原理),则要巧妙一些。所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
对于STM32,开漏就是失能的P-MOS,这样,当相应位置1时,引脚实际上是处在了浮空的状态,而通过外接的上拉电阻,将其拉高。这么做有如下好处:
1、可以将多个开漏输出的引脚,连接到一条线上。形成“与逻辑”关系。当多个引脚任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
2、 可以利用改变上拉电源的电压,改变传输电平。这样我们就可以用低电平逻辑控制输出高电平逻辑了。如果按通常的想法,使用者认为STM32输出3.3V电压,无法驱动IRF540这样的MOS管,甚至要重新选型,就大错特错了。只要将推挽输出变为开漏,再加上上拉到5V的电阻,就能解决这个问题。
最后补充一点,上拉电阻的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小。反之亦然。
小编说得再好,也没有杜洋老师对STM32的理解深刻。当你徘徊在嵌入式开发的大门外时,杜洋老师将为你指点迷津。由他主讲的基于STM32的嵌入式开发系统培训即将隆重启幕,扫描下面的二维码填写调查问卷,还有机会获得我们送出的精美书籍,快来行动吧!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
基于ARM的无刷直流电机调速系统
•
招聘信息显示,任天堂Switch新机或将支持DLSS技术
•
如何在Linux和Unix上使用Duf查看磁盘使用情况
•
命令行生存指南:监视命令输出|Linux中国
•
awk命令各种实用型小例子快速入门,熟练掌握Linux三剑客
•
介绍一下linux系统tee命令
•
STM32最小系统
•
STM32GPIO模式汇总分析
•
Linuxshell命令:管道操作的深度理解和代码实证
•
在linux下实现重定向和文件查找
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
IT业界资讯
招聘&找工作
快速回复
返回顶部
返回列表