单片机中的高阻态:从基础概念到实际应用
单片机中的高阻态:从基础概念到实际应用
在学习单片机时,我们经常会遇到“高阻态”这个概念,特别是在使用51单片机的P0口时,需要加上上拉电阻才能正常工作。那么,什么是高阻态?为什么需要上拉电阻?本文将从数字电路的基础出发,深入浅出地解释这个概念。
高阻态的定义
高阻态是数字电路中常见的一个术语,指的是电路的一种输出状态,既不是高电平也不是低电平。如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样。用万用表测量时,可能显示高电平也可能显示低电平,具体取决于后续连接的电路。
高阻态的实质
从电路分析的角度来看,高阻态可以理解为开路状态,即输出(输入)电阻非常大。它的极限状态可以认为是悬空,也就是说理论上高阻态不是真正的悬空,而是对地或对电源的电阻极大。在实际应用中,这种状态与引脚的悬空几乎相同。
高阻态的意义
在门电路中,当上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制。
典型应用
总线连接:在总线连接的结构上,总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。
单片机I/O设置:大部分单片机I/O使用时都可以设置为高阻输入。高阻输入可以认为输入电阻是无穷大的,对前级影响极小,而且不产生电流(不衰减),在一定程度上也增加了芯片的抗电压冲击能力。
表示方法:高阻态常用字母Z表示。
单片机中的高阻态
以51单片机为例,P0口没有连接上拉电阻时,其I/O口引脚和电源之间是通过一对推挽状态的FET来实现的。从理论上讲,通过调配管子的参数可以轻松实现输出大电流,提高带载能力。两个管子根据通断状态有四种不同的组合,上下管导通相当于把电源短路了,在实际电路中绝对不能出现。
从逻辑电路上来讲,上管开-下管关时IO与VCC直接相连,IO输出低电平0。这种结构下如果没有外接上拉电阻,输出0就是开漏状态(低阻态),因为I/O引脚是通过一个管子接地的,并不是使用导线直接连接,而一般的MOS在导通状态也会有mΩ级的导通电阻。
当把下管子置于截止状态时,就可以把GND和I/O口隔离达到开路的状态,这时候推挽一对管子是截止状态,忽略读取逻辑的话I/O口引脚相当于与单片机内部电路开路。考虑到实际MOS截止时会有少许漏电流,就称作“高阻态”。
由于管子PN节带来的结电容的影响,有的资料也会称作“浮空”。通过I/O口给电容充电需要一定的时间,那么IO引脚处的对地的真实电压和水面浮标随波飘动类似了,电压的大小不仅与外界输入有关还和时间有关,在高频情况下这种现象是不能忽略的。
总之,高阻态是一个相对概念。在使用的时候我们只要按照要求去做,让我们加上拉我们就加上,都是有一定道理的。
本文原文来自玩转单片机