|
|
看来各位的指点,很有收获,并在网上搜索各位回复中的关键字,完满解决;0 @5 y2 I# M3 `0 e6 X
这是网上的总结文档贴出来:
: z& ^; ~' g _+ n) t3 d4 K7 G( P7 L: h# I
BBS 上询问逻辑电平转换的人很多,几乎数日就冒一次头。而且电平转换的方法也不少,各有特点。我先做个简单实用的总结,省得老是重复讨论同样的问题。
: r! m+ l3 L: F0 x
3 W6 M8 K- l( K1. 常用的电平转换方案
, F0 b. y5 X) G" A; x3 C
4 J( g; A% ]. a* M' D- ~' [* E7 o(1) 晶体管+上拉电阻法
, J, E' X& Y. C' [ 就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 * j7 L7 m, K+ H- ^0 M
' s; ^- J. b9 f(2) OC/OD 器件+上拉电阻法
. B& W6 F' Y0 d6 ]: |' \ 跟 1) 类似。适用于器件输出刚好为 OC/OD 的场合。 - k/ J0 P( Q6 v# a
/ _4 w H: o* [( F- W(3) 74xHCT系列芯片升压 (3.3V→5V) # S4 ]) k) Z1 H, q
凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换。 " \# T+ G3 M; M8 @% @4 Y
——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接近电源电平的。 % Y& Q2 ]5 R$ m
廉价的选择如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那个字母 T 就表示 TTL 兼容)。
, y3 c( Y3 h$ G& z7 A2 ^4 f' }
* n C$ c5 X7 H0 x$ {(4) 超限输入降压法 (5V→3.3V, 3.3V→1.8V, ...)
. M5 m ], {3 M0 ]. L$ l9 c 凡是允许输入电平超过电源的逻辑器件,都可以用作降低电平。
, U& b5 S9 [8 G: o c$ e0 g 这里的"超限"是指超过电源,许多较古老的器件都不允许输入电压超过电源,但越来越多的新器件取消了这个限制 (改变了输入级保护电路)。
7 Z7 y5 a; Y+ h6 o+ \ 例如,74AHC/VHC 系列芯片,其 datasheets 明确注明"输入电压范围为0~5.5V",如果采用 3.3V 供电,就可以实现 5V→3.3V 电平转换。
5 V- g3 D0 L" i' `2 F, }+ n h% V' m7 f" d2 k: C0 P
(5) 专用电平转换芯片 9 t2 _8 }8 j: ~' X
最著名的就是 164245,不仅可以用作升压/降压,而且允许两边电源不同步。这是最通用的电平转换方案,但是也是很昂贵的 (俺前不久买还是¥45/片,虽是零售,也贵的吓人),因此若非必要,最好用前两个方案。 5 m: A- k; d& ^$ j+ k
7 _7 Z2 A& ^7 M: E: O, H! n+ w
(6) 电阻分压法
' S& n+ N; a- J8 W8 { 最简单的降低电平的方法。5V电平,经1.6k+3.3k电阻分压,就是3.3V。
5 a( ?2 D6 E6 |4 `
4 q- G& e: S; Y k(7) 限流电阻法
- R5 V7 |* h7 ~: ^( A* l8 G. T& @/ L% @ 如果嫌上面的两个电阻太多,有时还可以只串联一个限流电阻。某些芯片虽然原则上不允许输入电平超过电源,但只要串联一个限流电阻,保证输入保护电流不超过极限(如 74HC 系列为 20mA),仍然是安全的。 0 a5 ^/ a8 k$ Z0 P- {) S
) g3 @* Q/ j" b) D9 ^, V(8) 无为而无不为法 ( C& A1 {" ?2 f. T% i
只要掌握了电平兼容的规律。某些场合,根本就不需要特别的转换。例如,电路中用到了某种 5V 逻辑器件,其输入是 3.3V 电平,只要在选择器件时选择输入为 TTL 兼容的,就不需要任何转换,这相当于隐含适用了方法3)。 1 G. R8 ?8 j8 u; \2 p
# Y7 s9 B& G% n1 i(9) 比较器法
# |4 `$ P7 i$ p$ t8 E. B! o; W& V 算是凑数,有人提出用这个而已,还有什么运放法就太恶搞了。 ; U- U$ D% w4 ?0 ]/ S
+ P: `' p! J- Q. G3 C1 r& H9 V
( k$ o- K3 t6 y* B5 r' S2. 电平转换的"五要素" # b: C* x8 L; M7 J9 T/ F
& g. d. E2 f3 y8 w(1) 电平兼容
) j3 u) i6 t6 D7 P$ V 解决电平转换问题,最根本的就是要解决逻辑器件接口的电平兼容问题。而电平兼容原则就两条: 5 Y% a) I! y# l+ s# L* B
VOH > VIH
8 y0 J2 C! b4 y3 p0 H9 p VOL < VIL # r/ e$ p& C# l" r+ `$ C
再简单不过了!当然,考虑抗干扰能力,还必须有一定的噪声容限:
- p# ^9 F4 k' B |VOH-VIH| > VN+
9 ?9 _4 Y& D: D0 e |VOL-VIL| > VN-
5 M2 `! \$ W- L) b t* F* ?5 }6 e5 D 其中,VN+和VN-表示正负噪声容限。 $ t4 W( `% c; I) j
只要掌握这个原则,熟悉各类器件的输入输出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正确利用器件输入特性的例子。 4 R1 x( }/ E' L" p" P
% u" l M* A9 Z/ _- C$ a(2) 电源次序 / F. z' M% C1 t( k1 [8 S2 i( r
多电源系统必须注意的问题。某些器件不允许输入电平超过电源,如果没有电源时就加上输入,很可能损坏芯片。这种场合性能最好的办法可能就是方案(5)——164245。如果速度允许,方案(1)(7)也可以考虑。 5 I7 o/ i' B) b/ O1 B! j
5 r/ U% b! H) M$ h' B( ]
(3) 速度/频率
! w' B0 N. w) _! c 某些转换方式影响工作速度,所以必须注意。像方案(1)(2)(6)(7),由于电阻的存在,通过电阻给负载电容充电,必然会影响信号跳沿速度。为了提高速度,就必须减小电阻,这又会造成功耗上升。这种场合方案(3)(4)是比较理想的。
) F. X8 S8 t; K3 ^" c! t
9 \' }$ k7 P7 d# A, s. M$ T- F(4) 输出驱动能力
) v& n& n: I& d1 Y 如果需要一定的电流驱动能力,方案(1)(2)(6)(7)就都成问题了。这一条跟上一条其实是一致的,因为速度问题的关键就是对负载电容的充电能力。 9 w/ F! W4 M) X3 j: y: Q3 ]) m
7 {5 d7 Q/ J9 B( W# g(5) 路数 / s+ v1 z \( E/ h; }: M0 T
某些方案元器件较多,或者布线不方便,路数多了就成问题了。例如总线地址和数据的转换,显然应该用方案(3)(4),采用总线缓冲器芯片(245,541,16245...),或者用方案(5)。
; o+ J* j& k; B# e+ m& N, N3 j
) E3 E7 w/ f+ W5 x2 b, e+ \! V! L c1 [- J(6) 成本&供货
6 Z2 N: k) J" U( | 前面说的164245就存在这个问题。"五要素"冒出第6个,因为这是非技术因素,而且太根本了,以至于可以忽略。 |
评分
-
查看全部评分
|