IO口电压下降那么多是怎么回事??

前几天一个工程师向我反馈他测得如下电路MCU IO口的电压不是3.3V,只有2V多。

IO配置的是输入功能,无上下拉。最初我不太相信这个结果,后来自己用万用表实际测量了下,还真是这个结果

这是咋回事呢?不应该电压就是3.3V吗?后来经高人指点可能是IO口输入漏电流的原因,输入漏电流在MCU数据手册中符号为Ilkg,lkg表示Input leakage current。

IO口的内部是CMOS器件,因为 CMOS 是高输入阻抗器件, 理想状态下IO接一个高电平是没有输入电流的。但实际情况因为存在一个输入阻抗,所以还是会有微弱的电流,这个电流叫做漏电流。

那么电压降低到2.48V是不是就是因为输入漏电流的原因呢?

答案是否,因为如果电压就是2.48V,那么漏电流有(3.3V-2.48V)/3.6M=227nA,这个和上述数据手册最大100nA对不上啊!

真实的原因是万用表自身的内阻导致的,就算上拉电阻不接MCU的IO,直接用万用表测电压下面,测出来也是2.4几V,这也可以验证和IO输入漏电流无关。

万用表在测量电压时,内部具有电阻,通常被称为输入阻抗。不同型号和品牌的万用表有不同的输入阻抗,一般在兆欧姆(MΩ)的数量级。

通常,万用表的输入阻抗可以在用户手册或仪器上找到。一些典型的值包括10 MΩ或更高。

这个输入阻抗会影响测量结果,特别是在测量高阻值电路时,比如对上述电路就会产生很大影响,因为上拉电阻太大了,

假设万用表输入阻抗是10 MΩ,实际测量电压值为10/(3.6+10)*3.3V=2.43V。

对于一般的上拉电阻比如1KΩ,实际测量电压值为10000000/(1000+10000000)*3.3V≈3.3V,几乎无影响了。

对于上述的两个电路,要想得到准确的电压值,只能选用更高输入阻抗的测量仪器。我这里选用了泰克DMM4050来测试第一个电路,同时要注意设置为高输入阻抗模式,因为它默认也是10MΩ。这时候测得的电压值如下:

启用高输入阻抗的设置方法可以在说明书中找到:

设置之后阻抗会超过10GΩ,这时测的电压就准确了,测得的电压相比3.3V也有下降,只是不会再下降那么多,这时再来估算一下漏电流,(3.3V-3.10V)/3.6M=56nA,这就符合实际了。

如果测第二个电路电压,那电压几乎就是3.3V。由此可见不同的测量仪器差别还是挺大的。

最后你可能会问他为什么要接这么大阻值的上拉电阻呢,欢迎大家留言区讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207597.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】数据类型和切片的零碎知识点

1. 数据类型 pow(a, b, c) # a^b % c print("happy {}".format(name))数字类型包括整数,浮点数,复数 0x9a表示十六进制数(0x,0X开头表示十六进制) 0b1010,-0B101表示二进制数(0…

SpringSecurity+JWT权限认证

SpringSecurity默认的是采用Session来判断请求的用户是否登录的,但是不方便分布式的扩展 虽然SpringSecurity也支持采用SpringSession来管理分布式下的用户状态,不过现在分布式的还是无状态的Jwt比较主流 一、创建SpringBoot的项目 spring-boot-starte…

[补题记录] Complete the Permutation(贪心、set)

URL:https://codeforces.com/group/OcmZ7weh45/contest/487583/problem/J 目录 Problem/题意 Thought/思路 Code/代码 Problem/题意 给出一个长度为 N 的序列,其中的元素都是奇数。 现在要求在两个奇数之间插入一个偶数,使得这三个数递增…

orvibo的Mini网关VS20ZW玩法

概述 闲鱼淘来一个2016年生产的网关,此网关的型号:VS20ZW。 已经不能用APP入网了,没事拆来玩玩。 此设备已经被淘汰,很多新的zigbee产品不再支持入网。 官网设备的简介: ZigBee Mini网关,智能家居网关,智能家居主机|ORVIBO欧瑞博智能网关 设备概貌: 主要器件: …

生活如果真能像队列一样的话

生活如果真能像队列一样,那该多好啊。 —————————————————————————————————————————— 背包,队列 可以先看他们的API:都含有一个无参构造函数,添加单个元素的方法,测试集合…

pikachu_php反序列化

pikachu_php反序列化 源代码 class S{var $test "pikachu";function __construct(){echo $this->test;} }//O:1:"S":1:{s:4:"test";s:29:"<script>alert(xss)</script>";} $html; if(isset($_POST[o])){$s $_POST[…

HTML新手入门笔记整理:HTML基本标签

结构标签 <html> </html> 告诉浏览器这个页面是从<html> 开始&#xff0c;到 </html>结束 <head> </head> 网页的头部&#xff0c;用于定义一些特殊内容&#xff0c;如页面标题、定时刷新、外部文件等。 <body> </body> …

Linux 进程等待

在2号手册里查wait&#xff08;&#xff09;。wait()等待任意一个子进程的状态。 wait&#xff08;&#xff09;等待成功会返回该子进程的id,返回失败会返回-1&#xff1a; 小实验 子进程的退出码 子进程执行work()&#xff0c;父进程wait子进程。 子进程跑完5秒之后就e…

一篇文章搞懂WPF动画的使用技巧

WPF 动画系统提供了丰富的功能&#xff0c;用于为 UI 元素创建流畅的动态效果。动画可以应用于任何可用于渲染的属性&#xff0c;比如位置、颜色、大小等。在 WPF 中&#xff0c;动画是通过更改随时间变化的属性来实现的。 WPF动画基本用法 例如实现如下的动画效果&#xff1…

以45°斜抛水平距离最远

已知&#xff1a;斜抛物体的初速度为 v 0 v_0 v0​&#xff08;与水平方向的夹角为 θ \theta θ&#xff09;&#xff0c;重力加速度为 g g g。 求&#xff1a;抛物轨迹方程&#xff1f; 垂直方向的速度为 v y v 0 sin ⁡ θ − g t v_yv_0 \sin \theta -gt vy​v0​sinθ−…

小程序存在优惠卷遍历,但是歪了

进入小程序&#xff0c;因为是一个小商城&#xff0c;所以照例先查看收货地址是否存在越权&#xff0c;以及能否未授权访问&#xff0c;但是发现不存在这些问题&#xff0c;所以去查看优惠卷 进入领券中心&#xff0c;点击领取优惠券时抓包 发现数据包&#xff0c;存在敏感参数…

PTA-6-45 工厂设计模式-运输工具

题目如下&#xff1a; 工厂类用于根据客户提交的需求生产产品&#xff08;火车、汽车或拖拉机&#xff09;。火车类有两个子类属性&#xff1a;车次和节数。拖拉机类有1个子类方法耕地&#xff0c;方法只需简单输出“拖拉机在耕地”。为了简化程序设计&#xff0c;所有…