网站上360 旋转的图是怎么做的,wordpress+主题稳定,国家高新技术企业含金量,建站程序免费下载引言#xff1a;对于嵌入式硬件这个庞大的知识体系而言#xff0c;太多离散的知识点很容易疏漏#xff0c;因此对于这些容易忘记甚至不明白的知识点做成一个梳理#xff0c;供大家参考以及学习#xff0c;本文主要针对推挽、开漏、高阻态、上拉电阻这些知识点的学习。
目…引言对于嵌入式硬件这个庞大的知识体系而言太多离散的知识点很容易疏漏因此对于这些容易忘记甚至不明白的知识点做成一个梳理供大家参考以及学习本文主要针对推挽、开漏、高阻态、上拉电阻这些知识点的学习。
目录
GPIO基础
GPIIO内部结构简图
推挽的理解
开漏的理解 驱动能力强
推挽和开漏的区别
上拉电阻到底在拉什么
上拉电阻应用的场景
上拉电阻如何取值
漏电流驱动能力是什么 GPIO基础
下图截取的数据手册图里面包含了GPIO的相关模式的介绍。
MCU输出时会有两种模式一种叫做推挽模式一种是开漏模式对于一个GPIO要么不就是输出高电平不就是输出低电平吗为什么还要有这两种模式答案在后文。 GPIIO内部结构简图
如下图所示我们要关注的也就是mos管的开关状态枚举一下会有四种情况如下所示
Q1Q2OUTopencloseHighcloseopenLowclosecloseFloatingopenopenShort Circuit 推挽的理解
当 Q1 PMOS 打开Q2 NMOS 关闭VCC给负载所在电路的给这颗 NMOS 的栅极供电也就是推电流出去输出高电平当Q1 PMOS 关闭Q2 NMOS打开时负载所在的电路的NMOS栅极放电也就是挽电流回来这里用的是 NMOS 也就是在此专栏的硬件篇专门讲过为什么是NMOS应用的场景也有说明如果还是不懂可以回去看看。 开漏的理解 驱动能力强
开漏模式下不加外部上拉电阻的话如下图所示这种情况是不能接受的。 因此我们需要加一个外部电阻上拉电阻。 第一个就是改变高电平的电压防止主控烧坏相关器件例如在IIC中我们想用主控控制一个芯片但是主控输出的高电平为5V 芯片引脚只支持3.3V输入 因此会造成芯片给烧毁等一系列不确定因素的问题了因此我们就要使用开漏模式了同时最主要的就是需要外接一个上拉电阻了用来将5V拉低成3.3V。 也就是NMOS关闭就是高阻态高电平由外部提供打开就是低电平。
第二个作用就是可以让几个GPIO同时控制芯片但是推挽就会造成短路。 这里补充一下I2C总线理论上可以连接127个设备7位地址模式2^7 本质就是前7位是地址后一位是方向 减去一个设备0 就是127. 推挽和开漏的区别
输出状态直接输出高电平和低电平只输出低电平或通过上拉电阻输出高电平
驱动方式双向驱动高电平和低电平只有低电平驱动高电平由外部提供
输出能力高驱动能力低驱动能力需要上拉电阻
适用场景一般的数字输出、控制信号多设备共享总线、I2C、1-Wire等
优点响应速度快能提供较大电流支持多设备共享避免驱动冲突
缺点不适合多个设备共享功耗较大需要外部上拉电阻响应速度较慢 上拉电阻到底在拉什么
上拉电阻应用的场景
上拉电阻都会伴随着mos管的出现其实就是工作在开漏模式下的GPIO口 但是如果例如相关外部芯片集成上拉电阻我们就不用外部加了如下图所示 上拉电阻如何取值
绝大部分上拉电阻都是 1K-100K 之间电阻小的话优点就是驱动能力强电阻大的话漏电流小。 漏电流驱动能力是什么
漏电流就是mos管打开时会形成通路如果这个电阻是1K的话那这边的漏电流就有5mA了这个电流是白白浪费的而且还会产生热量。因此阻值当然是越大越好但是驱动能力会弱。。 何为驱动能力
也就是低电平向高电平的电平转换的过程虽然你看到的是一个瞬间的上升沿但是其实刻度调大之后低电平到高电平并不是瞬间完成的也就是之前章节说到的爬升过程了。。也要结合相关芯片负载的硬件选型了否则会有失真的情况了。