单片机IO口阻抗是多少?
➤ 01背景
在 电子小帮手电路中电源开关电路分析[1] 中介绍测量模块电路实验原理的时候,对于ATmega系列的 单片机的输出端口进行了内部描述[2] 。特别是对于端口做为IO输出口的时候,它可以等效为通过电阻19Ω和22Ω分别上拉到VCC,或者下拉的GND。
▲ ATMEGA单片机IO口等效电路
那么就会出现一个新的问题,对于ATmega单片机,这个IO口的内阻究竟有多大呢?
通过实验来确定单片机输出IO口的实际电阻阻值,这为将来使用单片机进行测量工作提供数据基础。
利用在 ATMEGA8 DIP-28面包板实验[3] 中可以下载程序的实验方式,对于ATmega8单片机搭建在面包板上的测试芯片。通过实验来测量对应的IO端口在作为输出端时相对于GND,VCC的电阻阻抗。
➤ 02测量方案
1.测量端口电阻
测量电阻阻抗的方式可以通过以下三种方式来进行:
通过V-A方法检测,也就是通过测量IO口输入、输出电流一项相对应的IO口电压的变化,来获得端口的等效串联点租。使用万用表直接测量;使用手持LCR表来测。2.测量过程
通过软件编程,使得单片机的PB4,PB3,PB2,PB1分别处于输出高电平,和输出低电平的情况,然后按照上面三种方法来测量对于端口的内部等效阻抗。
▲ ATMEGA8 DIP-28封装
➤ 03测量数据 1.使用V-A方法测量IO内阻 (1) IO低电平内阻
▲ 测量电路图示意图
使用在 低价电阻箱-阻值测试[4] 中的9999Ω电阻箱,分别改变IO端口的输出负载,记录不同电阻下输出端口的电压,进而可以进行获得内部电阻。
Current(mA) 3.068900 1.900500 1.376000 1.078700 0.889500 0.754900 0.655700 0.579500 0.519100 Voltage(V) 0.086651 0.055485 0.041959 0.034435 0.029279 0.025946 0.023526 0.021161 0.019959
▲ 端口电流与电压
通过线性拟合,可以建立输入电流(i,单位mA)与端口电压之间的线性关系。
通过上述线性方程,可以得到端口的输入电阻为:
(2) IO高电平内阻
测量不同输出电流下输出电压的变化。
Current(mA) 3.066000 1.897700 1.373900 1.077000 0.888000 0.753500 0.654500 0.578400 0.518200 Voltage(V) 0.077972 0.050410 0.038025 0.031065 0.026657 0.023490 0.021160 0.019415 0.018024
▲ 端口电压与电流
对上述电压电流线性拟合:
由此可以得到单片机高电平下输出内阻大约为:
通过实际测量,可以看到ATmega的IO口在输出状态下,内阻分别是26.15Ω(低电平)以及23.56Ω(高电平)。
2.使用万用表测量IO内阻
使用DM3068数字万用表,直接测量ATmega的输出低电平的IO对GND之间的电阻:
测量ATmega8输出高电平的IO对VCC(+5V)之间的直流电阻:
注意:由于存在输出静态电压,不能够测量输出高电平的IO对GND之间的电阻,或者输出低电平IO对VCC之间的电阻。
3.使用LCR表测量IO内阻
为了避免单片机端口的静态电压对于LCR表的测量影响,使用100uF的电解电容进行隔直之后,然后在使用Smart Tweezers进行测量相应端口的内阻。
▲ 使用隔直电容之后测量端口的内阻
低电平IO内阻:
高电平IO内阻:
➤ ※ 结论
单片机的IO如果作为输出端口,它可以等效一个内部穿有内阻的电压源。由于它内部是通过MOS管完成IO端口与VCC,GND的相连,所以内阻实际上是这些MOS管导通内阻。
通过对ATmega8单片机端口的内阻测量,可以看到这些内阻的大小在20欧姆到30欧姆之间。这与它的数据手册上相关的数值基本上是在同一数量级之内。
上文中使用了三种方法测量单片机IO口的内阻,它们的取值基本相似。因此上,在未来实际上应用中,可以根据具体情况来选择相应的测量方式。
参考资料
[1]
电子小帮手电路中电源开关电路分析 : https://zhuoqing.blog.csdn.net/article/details/109242259
[2]
单片机的输出端口进行了内部描述 : https://zhuoqing.blog.csdn.net/article/details/109238622
[3]
ATMEGA8 DIP-28面包板实验 : https://zhuoqing.blog.csdn.net/article/details/109245968
[4]
低价电阻箱-阻值测试 : https://zhuoqing.blog.csdn.net/article/details/107112157
单片机IO口驱动,为什么一般都选用三极管而不是MOS管?
文章转载自公众号:硬件笔记本
这里其实有两个问题:
1.单片机为什么不直接驱动负载?
2.单片机为什么一般选用三极管而不是MOS管?
图1
答:
1.单片机的IO口,有一定的带负载能力。但电流很小,驱动能力有限,一般在10-20mA以内。所以一般不采用单片机直接驱动负载这种方式。
2.至于单片机为什么一般选用三极管而不是MOS管?需要了解三极管和MOS管的区别,如下:
①三极管是电流控制型,三极管基极驱动电压只要高于Ube(一般是0.7V)就能导通。
②MOS管是电压控制型,驱动电压必须高于阈值电压Vgs(TH)才能正常导通,不同MOS管的阈值电压是不一样的,一般为3-5V左右,饱和驱动电压可在6-8V。
我们再来看实际应用:
处理器一般讲究低功耗,供电电压也越来越低,一般单片机供电为3.3V,所以它的I/O最高电压也就是3.3V。
①直接驱动三极管
3.3V电压肯定是大于Ube的,所以直接在基极串联一个合适的电阻,让三极管工作在饱和区就可以了。Ib=(VO-0.7V)/R2。
图2 驱动三极管示意图
②驱动MOS管
通过前面也了解到,MOS管的饱和电压>3.3V,如果用3.3V来驱动的话,很可能MOS管根本就打不开,或者处于半导通状态。
在半导通状态下,管子的内阻很大,驱动小电流负载可以这么用。但是大电流负载就不行了,内阻大,管子的功耗大,MOS管很容易就烧坏了。
所以,一般选择I/O口直接控制三极管,然后再控制MOS管。
图3 I/O口驱动三极管后再驱动MOS管
当I/O为高电平时,三极管导通,MOS管栅极被拉低,负载RL不工作。
当I/O为低电平时,三极管不导通,MOS管通过电阻R3,R4分压,为栅极提供合适的阈值电压,MOS管导通,负载RL正常工作。
为什么要这样操作呢?一定要用三极管来驱动MOS管吗?
那是因为三极管带负载的能力没有MOS管强,当负载电流有要求时,必须要用MOS管来驱动。
图3 I/O口驱动三极管后再驱动MOS管
当I/O为高电平时,三极管导通,MOS管栅极被拉低,负载RL不工作。
当I/O为低电平时,三极管不导通,MOS管通过电阻R3,R4分压,为栅极提供合适的阈值电压,MOS管导通,负载RL正常工作。
为什么要这样操作呢?一定要用三极管来驱动MOS管吗?
那是因为三极管带负载的能力没有MOS管强,当负载电流有要求时,必须要用MOS管来驱动。
相关问答
51 单片机 ,引脚输出 电流 有多大-ZOL问答其实,根据u=ir来算的话,电流可以是无限大的,你这种说法是不正确的,电流是跟负载有关。但一般的单片机有一定的输出功率,在功率限制下,电流一般为30~40ma,两个...
单片机 一个 io电流 太大会影响其它的口吗?是的,单片机的每个IO口都有其最大驱动电流和最大负载电流限制,如果一个IO口的电流太大超出了其限制,就有可能影响到其它的口。过大的电流会导致电压下降、功耗...
【PIC的 单片机 所有GPIO的最大 拉电流 和任意I/O引脚最大输出拉...[最佳回答]任意I/O的最大拉电流是针对单独管脚测试的,是I/O的最大驱动负载,超过此电流,此I/O口将损坏(注意:是针对此I/O脚的,其它的I/O若没超过,则其它I/O不会...
51 单片机 5v供电,每个 IO口 输出电压是多少?51单片机IO口输出高电平时,接近VCC,可以按VCC来计算。你使用5V供电,IO输出高电压平应该按5V计算。LED限流电阻=(5V-led工作时端电压)/led工作电流LED...
单片机 的 io口 作为输入口是,需要选输出全零?如今的比较好的单片机的IO口是可以定义的,这和最原来的51有区别。当作为输入口时候是单片机接收IC的数据信息,或者是灌电流,这时候要考虑电流的大小是否在单片...
单片机IO口上 电之后默认的电平是高是低?-ZOL问答51单片机的默认输入输出电平是指其P0口具有高阻特性,即P0口处于高电平状态。这种设计是为了减少外部元件的数量和复杂性,并且方便用户进行编程和调试。默认情...
单片机 的引脚的输出电压多大~?一般的引脚输出高电平是15mA,输出低电平形成的灌电流是20mA,P0口不能输出高电平,功率为UI,U为芯片的电源电压。但所有的IO电流加起来不能超过150mA一般的引脚...
给 单片机 P0口接上拉电阻是否真的有必要,解决方案?有的单片机(增强型51单片机)P0口可以配置为推挽或者弱上拉,肯定不用外接上拉了有的单片机不能配置,如果你想低电平时输出电流,自然也不用接上拉电阻如果不能...
51 单片机 的各个引脚输出高低电平的时候电压和 电流 是多少?能够带动4个或者是8个ttl负载是什么意思?51单片机输出低电平驱动能力很强,至少可达20mA~50mA。高电平驱动能力很弱,电流在5mA以下。带动4~8个TTL负载是指一个输出类的IO口可与4~8个TTL的输入引脚相连...
请问 单片机 休眠后,为降低静态 电流 要将 IO口 设置为输入还是输...之所以要让单片机进入休眠状态,目的是要把整个电路都带入低功耗状态。这就具体到每根口线与周边电路的连接关系,不能凭空给出I/O口状态的配置。另外...