EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
再谈上拉电阻和下拉电阻
; ]" ~# L N( w. m定义3 [( a- d$ L5 N8 u1 K3 V
, ?' \5 n7 ]" v
; g3 {/ r M( l; ?) s& [# M% V8 u2 V# \5 h! a1 Q0 K. {
/ _: Z6 c% A0 |# e% ?+ ^
$ O! y4 P2 K) Z- G1 ?
! l. z8 M* F& z+ u! A6 |' W/ o( k4 ]- o! F$ _# d
2 Q# P& Y' R0 T
6 L# d! G4 n# {) ^5 L4 J
- 上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同理。; X: r7 D7 ]- V3 \+ Z! {
- U8 v; D3 ?. x - 上拉是对器件注入电流,下拉是输出电流。
5 b% p1 Q* X$ }. ^5 n, Q - 弱强只是上拉电阻的阻值不同,没有什么严格区分。& P! o& |6 l) ~; ~- |" w+ f* i: P
- 对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。
. ]7 e8 P0 k; C# [4 B M# e
) \% `4 E4 S$ W0 U; A ( D( d+ K* ^) v$ \/ Y. i
拉电阻作用1 |; K* f) n8 j2 B# c
5 R( V2 E' d! n( \; b. v
+ g0 q/ W0 U! ~+ k: c5 U7 w
+ F' M5 U4 e, {) W; F# n& @: a! ^
8 n. M( u7 i/ V* |
. f) e5 r; ^3 a9 s. ?
( P: u2 |, S$ r. t% i+ s
% J* I$ p. h3 i+ ?* u1 o0 Y
- D: S" E$ o# b. f ) V/ h5 X J8 l
- 一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。) \6 E4 n; d6 ~% n# Z& {
1 x8 `" ^% ~% [7 b
- 数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定。; V' j+ l6 t ]
# b7 L [; r) R f; m
- 一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似与一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平,C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,其作用主要是确保某端口常态时有确定电平:用法示例:当一个接有上拉电阻的端口设为输入状态时,他的常态就为高电平,用于检测低电平的输入。 W( N2 P6 k5 Q9 a
! w) _. h7 [+ T) G! f: P" x
- 上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是我们通常所说的灌电流。
0 L! Z; l* l( [
* o8 Q+ C1 r, n# W3 y% v6 I - 接电阻就是为了防止输入端悬空。! e# k& | |9 n! R- Q5 E" D
u3 c1 S% w- N, v/ V, i1 P `
- 减弱外部电流对芯片产生的干扰。
6 \5 I# \$ z9 M. @9 f' G2 a
" p8 Y! w$ G% c9 m( R* Z* g - 保护cmos内的保护二极管,一般电流不大于10mA。
/ R; K& J; \1 G A: o) Z# M% c+ l- {: ?2 ?* ?! J* T
- 通过上拉或下拉来增加或减小驱动电流。 n S4 N9 `6 E3 o' Z
5 w) H2 i! E" f2 o; U) i& L
- 改变电平的电位,常用在TTL-CMOS匹配。 G! c6 ?8 k% c
9 z0 y1 s* m9 b* W - 在引脚悬空时有确定的状态。, B4 G5 f" y+ ]+ f; I" K
C9 v7 {$ q/ j9 t9 D3 P3 V% c6 D8 \ - 增加高电平输出时的驱动能力。
2 H7 y" z. q) J, c* \. a
" f7 W9 r8 l! p( |- g - 为OC门提供电流。
% V0 C) |5 @$ [( L* u5 `/ p: J! b( l' r2 a
上拉电阻应用原则7 ~) S* T4 W6 O
2 B7 e8 M6 o; T/ |& ^+ d) U. M
8 v* X+ j7 N; z0 [; Z9 Q% Y
0 K3 d, q' V' m" P1 }4 O: e' ~% ^: I
' p. L$ ~0 d3 y$ E+ x
/ l9 `5 i l- x' X( i/ E$ j3 I* c
! l, G6 z+ b8 K. @0 `, L( l
+ X' v# s# L x& r ]' y7 p' S
. i1 F1 a [' \ 5 l4 L( x5 D, t. w: b, {; ~
- 当TTL电路驱动COMS电路时,若TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平值。注:此时上拉电阻连接的电压值应不低于CMOS电路的最低高电压,同时又要考虑TTL电路方电流(如某端口最大输入或输出电流)的影响。" H; s( n& `" R) |
% `; r5 U5 q a1 o. ~
- OC门电路必须加上拉电阻,才能使用。
( b) S$ c) H* m; a' y2 @ d) w m. L. O3 P! P
- 为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。
( N9 R4 E7 j c: i. Q- i+ v) X+ K. o" D$ l" B
- 在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。
! p. X5 s4 s9 o2 l5 v; c8 y1 d
* y. ?- K$ O& { - 芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。4 X: P. Z3 y a$ W1 M% D" F2 `; Q! M
0 U7 a7 F3 w# p2 c2 O: U0 q T9 r- x! { - 提高总线的抗电磁干扰能力,管脚悬空就比较容易接受外界的电磁干扰。- B+ p) p5 l5 X2 q* y
6 {' [9 @9 Y1 } - 长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。
; W2 q* N- h' ?/ a, v& v9 s- V8 U' d. x4 ^; c
- 在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。4 T1 D) B. L% ~
2 N# G- I. ?3 j0 s) m
9 d. |+ q+ f' v' d( A2 ~: w8 i上拉电阻阻值选择原则
. s9 M8 M8 U* }# O" N4 l: F; J& K+ ~6 [. K
+ k0 R' W% j# }- H
7 |, e7 n$ W. H7 d9 D) R6 f- w, y# n, P7 G6 R+ y, M+ G' o
w9 D& H4 _! E* F
) h+ M, m. Q4 d$ r. N3 i
" i% d+ j a, L3 u. V7 L, v3 H: W) v/ ~! q; \% L" P
H% u. e8 N+ B8 Y7 P
- 从节约功耗及芯片的灌电流能力考虑应当足够大,电阻大,电流小。0 O- ~9 k+ b6 A8 c, I
- 从确保足够的驱动电流考虑应当足够小,电阻小,电流大。! K, [1 L, k2 L2 v/ \( j) [+ P
- 对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理。
! o3 Y$ a* |0 S% e3 N; U8 S6 M Q; C. d6 \2 g8 l m9 _
" C3 b- w8 [1 D" }* F8 g ~0 C
对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素: + }/ e5 f- W1 @
" K ~4 S4 M4 `; } X) \- 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。
. r3 g' x! ]2 g m5 c2 }7 z- j. f3 `( t& F5 Q7 S; c
- 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。# y. m! z% ?! R. c
: r/ e6 h' Y: W9 W# _+ c
- 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。
; Z0 x& f/ O# S4 Y3 @( P
6 Y$ s9 x& [$ N1 s0 l - 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。 H9 ^$ q$ o) k! I5 L6 j1 R
3 X6 L h/ f$ ?: s" ?0 C# m
9 q/ I/ p3 G8 z" L2 ]
电阻的参数
+ `" p% _& u/ G, k7 P5 u
. \/ u* ^7 g$ `) n5 t; ^
U8 Z' g$ z4 b8 }
$ {0 ?+ g2 K5 n7 G7 V. t+ z; T' I6 L* {3 Y( Q. z2 v3 w
, P" p, M0 d0 p/ M( R. x; f5 e' V& o' C
" ]: y7 N% z c, r" {; V1 O" B6 a n4 d( r. ^7 i2 Z
0 |" R7 V2 r! c' B7 s- T- W, [关于电阻的参数不能一概而定,要看电路其他参数而定,比如通常用在输入脚上的上拉电阻如果是为了抬高峰峰值,就要参考该引脚的内阻来定电阻值的。
4 j7 n9 G1 U& i) T$ M- 一般LED的电流有几个mA就够了,最大不超过20mA,根据这个你就应该可以算出上拉电阻值来了,当然实际还是有出入的。# X% I4 g6 A( |
6 o- u/ u/ d0 t: Y5 Q1 S - 对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况是一样的;如果是低电位有效,即耦合器输入端接端口和VCC之间,那么除了要串接一个1~4.7k之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k~500K之间的都行,当然用10K的也可以,但是考虑到省电问题,没有必要用那么小的。 q% u. v: \7 O' x$ i& c
. M9 P, O$ [* k9 o, I - 对于驱动晶体管,又分为PNP和NPN管两种情况:& P K2 H2 `2 o4 ?8 V
对于NPN:毫无疑问NPN管是高电平有效的,因此上拉电阻的阻值用2K~20K之间的。具体的大小还要看晶体管的集电极接的是什么负载,对于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K的。# g6 S' I. i, A5 M) e! J& i3 b& g
对于PNP管:毫无疑问PNP管是低电平有效的,因此上拉电阻的阻值用100K以上的就行了,且管子的基极必须串接一个1~10K的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类负载,由于发光电流很小,因此基极串接的电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于4.7K。
3 ^! I3 Y2 H9 y4 e" m5 w# d
9 k, ]0 X$ n. ^4 C( Y - 对于驱动TTL集成电路,上拉电阻的阻值要用1~10K之间的,有时候电阻太大的话是拉不起来的,因此用的阻值较小。但是对于CMOS集成电路,上拉电阻的阻值就可以用的很大,一般不小于20K,通常用100K的,实际上对于CMOS电路,上拉电阻的阻值用1M的也是可以的,但是要注意上拉电阻的阻值太大的时候,容易产生干扰,尤其是线路板的线条很长的时候,这种干扰更严重,这种情况下上拉电阻不宜过大,一般要小于100K,有时候甚至小于10K。3 }. e, Y3 _' `% ~9 e- } E9 t
5 e) _8 Z5 I# w' w
- 关于I2C的上拉电阻:因为I2C接口的输出端是漏极开路或集电极开路,所以必须在接口外接上拉。上拉电阻的取值和I2C总线的频率有关,工作在standard mode时,其典型值为10K。在FAST mode时,为减少时钟上升时间,满足上升时间的要求,一般为1K。电阻的大小对时序有一定影响,对信号的上升时间和下降时间也有影响。总之一般情况下电压在5V时选4.7K左右,3.3V在3.3K左右,这样可加大驱动能力和加速边沿的翻转。I2C上拉电阻确定有一个计算公式:/ f0 o5 \8 d/ J W7 k' `# F. N
Rmin = {Vdd(min)-o.4V}/3mA' `- c; D) L% X; I
Rmax = (T/0.874) *c 8 n; u9 p M- @1 d
(T=1us 100KHz, T=0.3us 400KHz, C是Bus capacitance)
' T" @' t6 v4 R8 S1 ]$ C7 `: t7 T
! A" e, ], H+ A7 h
/ Q1 W" B" Q n
应用案例:场效应管的漏极开路门电路
6 ~2 r6 k Q3 W. _
5 U( K2 O4 ? Q" B6 ]
! N |# e% J: u6 {! K: n& }' S% J1 A1 b- z/ L0 ]7 O
1 Z4 {+ x4 X) r% D, ]) |# w' O
" C2 y: s* T& Y: D" j6 F5 H* \( [% {) p1 J下面通过场效应管的漏极开路门电路的例子简单说明一下上拉电阻:
0 b, z4 B$ d/ J2 k- N4 k0 b8 h 7 M, ?/ K3 Q; W2 d& r9 o7 F) A0 G4 t
* W/ a8 G, e) `0 m3 K
- TTL电平标准:输出 L:<0.8V,H:>2.4V;输入 L:<1.2V,H:>2.0V
3 D- e0 q! [+ M - CMOS电平标准:输出 L:<0.1*Vcc,H:>0.9*Vcc;输入 L: <0.3*Vcc ; H:>0.7*Vcc
' x5 {, _3 ^ Z. b/ R5 s4 |* A- j j& C- T
) {. @2 l. ]6 S- C# l7 v7 K注:管子导通或截止可以理解为单片机的软件对端口置1或0。
# v% }& s. V8 l2 x* M9 k & \ j7 j! r/ x+ L+ ~$ g j0 m' N) G
1. 如果没有上拉电阻(10k),将5V电源直接与场效应管相连: 0 Y& {4 D" M( f4 E
2 U" A8 t0 K( I9 e5 E/ }1 o
- 当管子导通时,管子等效一电阻,大小为1k左右,因此5v电压全部加在此等效电阻上,输出端Vout=5v。; {6 A1 V! b9 O- V
( Z% e, m4 M- w8 S) Z8 [- e4 J
- 当管子截止时,管子等效电阻很高,可以理解为无穷大,因此5v的电压也全部加在此等效电阻上,Vout=5v。在这两种情况下,输出都为高电平,没有低电平。
+ \6 Z1 f) F \* L( |
4 U' f0 j \$ v3 ^6 `4 R ) q9 S% R# t* m- P" M* Y
2. 如果有上拉电阻(10k),将5v电源通过此上拉电阻与与场效应管相连: - F2 e! o ?1 a0 Q" J1 ^
1 j! e* o7 } T- 当管子导通时,管子等效一电阻,大小为1k左右,与上拉电阻串联,输出端电压为加在此等效电阻上的电压,其大小为Vout = 5v * 管子等效电阻/(上拉电阻+管子等效电阻)=5v * 1/(10+1)=低电平。8 R. |4 i/ v. O* \! F
- 当管子截止时,管子等效电阻很高,可以理解为无穷大,其与上拉电阻串联,输出端电压为加在此等效电阻上的电压,其大小为Vout = 5v * 管子等效电阻/(上拉电阻+管子等效电阻)=5v*无穷大/(无穷大+1)=高电平。4 K L: Y( X/ M. v( T" k/ W" Y
% ^* Q) {8 \9 S; G* g
6 t3 o6 x( I2 g+ v t" }
, {9 s3 A- l. z% C7 G+ x: Z8 ?3 U- g
在前极输出高电平时,Vout输出电流,U为高电平。有两种情况: , Z5 u$ w2 ?5 ~7 a! A9 M
+ t. q8 Y* E# ^$ h5 l( O+ ]- 当I0 >= I1 + I2:这种情况下,RL1和RL2两个负载不会通过R取电流,因此对R阻值大小要求不高,通常4.7 KΩ4 ~% q. H, N# k' A7 y7 V
- 当I0 < I1 + I2:I0 +I= I1 + I2,U=VCC-IR,U>=VHmin,由以上三式计算得出,R<=(VCC- VHmin)/I。其中,I0、I1、I2都是可以从datasheet查到的,I就可以求出来,VHmin也是可以查到的。当前极Vout输出低电平时,各管脚均为灌电流,则:I’= I1’ + I2’ +I0’,U’ =VCC-I’ R,U’ <=VLmax,以上三式可以得出:R>=(VCC- VLmax)/I’。
& N, [- l& \/ ?& Y由以上二式计算出R的上限值和下限值,从中取一个较靠近中间状态的值即可。注意,如果负载的个数大小不定的话,要按照最坏的情况计算,上限值要按负载最多的时候计算,下限值要按负载最少的计算。5 L4 C2 x1 \" C1 E
7 Q/ ]& }4 G5 p* [6 ~
& m( ~8 Y5 t% d/ [8 _; O另一种选择方式是基于功耗的考虑。根据电路实际应用时,输出信号状态的频率或时间比选择。若信号Vout长期处于低电平,宜选择下拉电阻;若长期处于高电平,宜选择上拉电阻,为的是静态电流小。
8 e ^, \/ W) g灌电流
% F6 J; A$ _# n/ @4 a, T
$ [1 Q" c8 j/ ?" f& `3 j1 f. J4 R* _, p/ l+ G" W. a0 Q
& p+ N+ ^& \3 [1 S R7 o U
$ m$ ~# r$ ^# Y; \+ A- X& [
% ~* S+ Q' \) R' f' F& N+ ]$ U+ t: O+ M( ]8 Q4 w7 P
8 t& Z. Y' h. @. q
0 g) H# y7 d( Q" N8 N! I0 N 6 T5 F9 ?$ S% f; s% D
在集成电路中,吸电流、拉电流输出和灌电流输出是一个很重要的概念。拉电流:拉即泄,主动输出电流,是从输出口输出电流。灌电流:灌即充,被动输入电流,是从输出端口流入吸电流。
) L, w4 ~$ Z/ C* F& h* h& b y8 `
- O4 w2 d+ z4 k吸则是主动吸入电流,是从输入端口流入吸电流和灌电流就是从芯片外电路通过引脚流入芯片内的电流,区别在于吸收电流是主动的,从芯片输入端流入的叫吸收电流。灌入电流是被动的,从输出端流入的叫灌入电流。拉电流是数字电路输出高电平给负载提供的输出电流,灌电流时输出低电平是外部给数字电路的输入电流,它们实际就是输入、输出电流能力。 - v# X% Y: M9 H$ X
% X" Q4 i' I x# U$ v
吸收电流是对输入端(输入端吸入)而言的,而拉电流(输出端流出)和灌电流(输出端被灌入)是相对输出端而言的。 + S3 ~& u% W/ g& b a8 s" z& ^
9 T( N+ Y! }& o( G9 |+ h3 Z4 |. R. x: d4 H5 T
|