当前位置: 首页 > news >正文

关于stm32推挽带有上下拉电阻的思考、IO口驱动能力是什么

1、发现推挽带有上下拉电阻

1.1、stm32手册

记忆中推挽是不需要上下拉的,没关注过,但是我真的理解上下拉吗,下图来自stm32f4的中文版和英文版的数据手册,没有翻译错,就是“推挽带有上下拉的能力”。

1.2、查找相关信息

搜索到一篇推挽上下拉的文章,实际测试表格如下,从他的数据来看,推挽不加上下拉对低电平的影响很大,直接变成了1.2V。(持保留意见)

我不信,于是开始测试,推挽加或不加上拉电阻,高电平是3.270V,低电平是0.006V.

那这个1.2V是错误数据?再看其他引脚配置,上拉推挽输出低是0.134V,比起别的输出低电平时的0.005V也要高不少,推测是这个引脚外围电路的影响,他测试的时候有的引脚不是悬空的。

2、负载对输出电平的影响

上拉推挽输出低电平,悬空0.006V,加10mA负载是0.236V。

上拉推挽输出高电平,悬空3.270V,加10mA负载是3.067V。

结论:IO的驱动能力是有限的,负载明显影响着输出电平的电压;

对于stm32f4芯片,大概10mA负载电流,电压会拉0.2V左右。

3、驱动能力是什么

驱动,动词,做谓语,宾语是什么,驱动什么,驱动负载,驱动能力指的是驱动负载的能力。

驱动,动词,做谓语,主语是什么,什么来驱动,电源。

合起来就是,电源驱动负载的能力。

(再继续,电源分电压源和电流源,下面只说电压源)

3.1、电压源

3.1.1、理想电压源

不管负载是什么,电压源输出的电压不变,电路模型和伏安特性曲线如下:

3.1.2、实际电压源

含有内阻,内阻和负载影响着电压源输出的电压,电路模型和伏安特性曲线如下:

 

现实中,IO口推挽输出对应实际电压源,比如推挽输出高电平看做一个3.3V的电压源,随着负载加大,电流增大,内阻上分去的电压也增大,负载两端的电压就减小,所以上面测试,加10mA负载后,电压从3.270V降到了3.067V。

4、推挽的电路结构与驱动能力

4.1、推挽的电路结构

下图是手册中IO口的内部结构,推挽就是通过控制PMOS和NMOS的导通,只导通PMOS输出高,只导通NMOS输出低。

4.2、推挽的驱动能力

稍微简化一下上图。

以输出高电平(PMOS导通NMOS截止)、不加上拉电阻为例。

此时电流的路径是VDD——PMOS——负载,MOS导通是有内阻的,可以看做是电压源的内阻,还是上面3.1.2所说的,负载越大内阻上分压越大,所以负载上电压减小,推挽的驱动能力就是受到内阻的影响。

 

4.3、上拉电阻对于驱动能力的影响

继续看图,PMOS和上拉电阻的上端都是连VDD,PMOS导通电阻和上拉电阻并连,等效为新的内阻,由于是并连,所以现在的内阻比之前的小,驱动能力就会增强。

上面是理论分析,实际测试加不加上拉电阻,在空载和负载两种情况下没啥区别,为什么配置推挽上拉电阻驱动能力测不出明显区别呢?

要看PMOS的内阻是多少,上拉电阻是多少。

PMOS内阻:20mA下降1.3V,内阻62欧;6mA下降0.4V,内阻66欧。

PMOS取66欧,上拉取40K,并联完了65.9欧,测不出来明显区别就合理了。

 

http://www.lryc.cn/news/140436.html

相关文章:

  • 考研408 | 【操作系统】 内存管理
  • C# 工厂模式
  • 在云服务器上安装Jenkins
  • 一文了解SpringBoot中的IOC
  • docker-compose管理创建LNMP服务并运行Wordpress网站平台
  • 【宝藏系列】一文带你梳理 Linux 的五种 IO 模型
  • 【Python】模块、包
  • CMAKE_CUDA_ARCHITECTURES针对Jetson Xavier或者Orin的设置
  • sqlite3.OperationalError: unable to open database file解决方法
  • SSL核心概念 SSL类型级别
  • 器件介绍TMP1826NGRR、TMP1826DGKR、TMP1827NGRR、TMP1075NDRLR数字温度传感器
  • 抖店必须绑定抖音账号吗?聊6个抖店不为人知的小细节,别外传
  • 如何搭建智能家居系统并通过内网穿透实现远程控制家中设备
  • 【趣味随笔】手机参数你真的看懂了吗?
  • 微信小程序开发教学系列(4)- 数据绑定与事件处理
  • C++避坑——most vexing parse问题
  • 利用lammps模拟蓝宝石在水润滑环境下的抛光
  • 3.BGP状态机和路由注入方式
  • 微信开发之一键创建微信群聊的技术实现
  • 设计模式二十:观察者模式(Observer Pattern)
  • Linux操作系统--CentOS使用初体验
  • 搭建HAProxy + Keepalived高可用
  • 使用Python爬虫定制化开发自己需要的数据集
  • java八股文面试[java基础]——接口和抽象类的区别
  • head 请求了解过吗?如何用 get 模拟 head 请求?不需要服务器返回数据,怎么实现?
  • Redis笔记——(狂神说)待续
  • 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v7.0版已发布
  • BLFS学习系列 第26章. 显示管理器 —— 总述
  • macOS上编译obs-studio
  • Oracle数据库快速入门