你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

浅析单片机IO口输入的高阻态

[复制链接]
STMCU小助手 发布时间:2021-8-13 14:36
    我们都知道单片机的双向IO口既能输入也能做输出,推挽输出时IO口能通过内部上下MOS管开关切换能输出高低电平,高阻态输入时,IO口内部上下MOS管都关闭,IO口工作在高阻态的输入模式下,那么高阻态是个什么样的概念呢?* w! y) _! S0 D: ?
    下图是常见的IO的内部框图。# U! F3 p" m$ b7 t
1.png
8 e! @2 D( t- n
" T; {3 n: x" N8 _( A

& v( E4 S+ _: d1 ]+ W* x& _    当IO口处于高阻态时,我们也将其称为浮空输入状态,此时其电平是不确定的,既不是高电平也不是低电平。我们可以想象成,单片机在检测IO口的电平高低时,相当于在CPU里面有一个类似电压表的东西,并且这个电压表内阻很大,假设内阻为100MΩ(示意图如下)。在这里,我们可以把这个电压表的内阻称为这个IO口此时的输入电阻。( y5 l) T- M$ \" J
2.png
, T  g8 v8 {$ h
: F8 U8 _  r1 k% e, l

( T2 L0 D, B$ b$ M9 S    现在设想,当我不小心用手碰到了IO端口,而由于人体本身就是阻值很大的导体,周围有很多电磁波干扰,手上可能存在一些很微弱的电流,这个时候,电压表的读数就会发生变化,单片机读取的电平高低就会变。高阻态表现出来的结果就是外界很小的干扰,都可能导致读取的电平变化,甚至即使没有碰这个IO口,它每次读取的结果也可能不一样,因为外界的电磁波等可能会干扰到IO口。IO口输入端不使用时,可通过电阻单独连接到 VDD或 VSS。
" Y6 U; @! U/ q" x" A, |
4 i1 l$ |( }* J0 G0 A. q

& h9 U" q1 l% }* ]3 I    为什么双向IO口输入的时候要求是高阻态呢?
& m: l3 Y, ^+ e1 Y: L- m7 G* B    我们假设现在有一种输入设备,等效电路如下图。内部开关上下切换,它就会输出高低电平给到单片机的IO口,IO口通过引脚内部电压表可以检测出来输入的是高电平还是低电平。但是这个设备驱动能力很弱,连LED也驱动不了。设备里的100kΩ,可以叫做设备的输出电阻(同样也可以近似认为是输出阻抗)。
) E: z: V: i- S$ L, \ 3.png 7 u1 P  A/ Z7 }1 X5 ^& T

0 P) f, j* A1 L
9 j- y5 k- A- w
    如果我们采用内部上拉的方式做输入检测的话,如下图,让这个设备输出低电平,然后连接单片机的IO口。这时,5V经过IO口内部10kΩ上拉电阻到达IO口,再到装置内部的100kΩ电阻,通过开关接到GND。根据分压原理,IO口上读到的电压值大概是4.55V,于是单片机读取的是高电平。而事实上,设备是想输出低电平告知单片机。这里单片机管脚作为输入功能,却干扰了外界装置的输出值,相当于单片机的这个IO口也在输出。
3 u0 X  K8 O& B+ j; A& p  }& ~ 4.png
6 z  |6 C$ O# t& @' h5 y  Q! S5 B# m, @% u  O5 S1 f- P

6 c0 Q) {4 i+ |* ~    如果我们将IO口的输入状态设置为高阻状态,且没有外接上下拉电阻,内部的两个上下MOS管都是断开的,对外部呈现高阻态。从下图中可以看出,装置输出的电平能被准确的读取到单片机中。之所以能准确读取,就是因为设备输出电阻比单片机IO口的输入电阻要小。有人可能会说,如果把设备中的电阻换成1000MΩ,这个时候这个单片机又不能准确读取电平了。但是一般情况下,我们不需要考虑这么极端。如果是理想的高阻态,其输入阻抗应该是无穷大,而这有点像超导体一样比较特殊。一般情况下认为导线电阻几乎为0,所以同样也认为高阻态输入电阻是无穷大。* v4 f$ O1 T! k' x& ?! P" P
5.png ( A8 _' a. G7 {# S  \. o
3 t8 ~* a9 R5 |' H( W# Y

0 L/ V$ W- p4 s* M+ m9 I2 G% K6 J    总的来说,就是高阻态情况下,IO口输入电阻很大,而不容易干扰那些输出电阻较大、驱动能力弱的装置输出到IO口上的电平。
0 I$ a) d# X# d9 q
  Z' Y. S/ t9 r6 a5 R$ d* o( e
赞 收藏 评论1 发布时间:2021-8-13 14:36

举报

1个回答
chenxiyuan 回答时间:2021-8-16 02:25:20
写得比较好
% c) t9 |2 a9 s* B. L9 k: j; j# }

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版