|
看来各位的指点,很有收获,并在网上搜索各位回复中的关键字,完满解决;
& m: z4 ?+ f$ C% g5 M7 q这是网上的总结文档贴出来:/ J, d+ Z6 \1 c% z/ z* l
. w4 t4 h1 E( i2 q+ ABBS 上询问逻辑电平转换的人很多,几乎数日就冒一次头。而且电平转换的方法也不少,各有特点。我先做个简单实用的总结,省得老是重复讨论同样的问题。 ; d w, p. u0 s) R' i
" i& p7 n. H8 K5 r; Q1. 常用的电平转换方案 5 f; W. \1 r# j% d }, W! u
3 x7 z7 I! w' _& A0 }4 d
(1) 晶体管+上拉电阻法 4 Y$ Q0 X* _5 Z' H. z# {6 F& d' t
就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 : Q9 B( v$ v: U% ~
; L, E& }/ l7 H
(2) OC/OD 器件+上拉电阻法
% g: M: z: c- i; Y7 v& C7 F 跟 1) 类似。适用于器件输出刚好为 OC/OD 的场合。 4 s* P7 u6 Q5 p |
+ P' ~. |' l/ W6 y
(3) 74xHCT系列芯片升压 (3.3V→5V)
+ ?8 D9 S/ B" j; O 凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换。 - K7 L7 _6 w0 ~8 n) m4 U! c
——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接近电源电平的。 0 m- ]/ p0 M% C! A& t9 J
廉价的选择如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那个字母 T 就表示 TTL 兼容)。
0 L" ]! n/ H6 w v" M }0 u
# q; M X/ f' y h. C2 n V(4) 超限输入降压法 (5V→3.3V, 3.3V→1.8V, ...) # F) X6 L3 N0 Y
凡是允许输入电平超过电源的逻辑器件,都可以用作降低电平。
i' I* n6 f. H 这里的"超限"是指超过电源,许多较古老的器件都不允许输入电压超过电源,但越来越多的新器件取消了这个限制 (改变了输入级保护电路)。
7 x1 J! N8 M& E, X1 p 例如,74AHC/VHC 系列芯片,其 datasheets 明确注明"输入电压范围为0~5.5V",如果采用 3.3V 供电,就可以实现 5V→3.3V 电平转换。 , D6 ^* T7 k' d1 w( p. V
9 `- u1 H8 B* X2 x6 m(5) 专用电平转换芯片
. j" i' l( N# Y" |! s 最著名的就是 164245,不仅可以用作升压/降压,而且允许两边电源不同步。这是最通用的电平转换方案,但是也是很昂贵的 (俺前不久买还是¥45/片,虽是零售,也贵的吓人),因此若非必要,最好用前两个方案。 7 ?" Z: |; q; X) p" d
5 I9 T# V( L: s" x; k(6) 电阻分压法
, `0 [. e N: ~. Q 最简单的降低电平的方法。5V电平,经1.6k+3.3k电阻分压,就是3.3V。
- v$ U; {, n5 V* ]! p$ w+ z& ~) l; T9 R P) D
(7) 限流电阻法
3 W; t* a' i4 a7 j) ? 如果嫌上面的两个电阻太多,有时还可以只串联一个限流电阻。某些芯片虽然原则上不允许输入电平超过电源,但只要串联一个限流电阻,保证输入保护电流不超过极限(如 74HC 系列为 20mA),仍然是安全的。
1 Y, {* Y/ a6 \5 W
, {% U' X, X7 Q(8) 无为而无不为法 6 {) M/ k) w' i- f2 X8 {
只要掌握了电平兼容的规律。某些场合,根本就不需要特别的转换。例如,电路中用到了某种 5V 逻辑器件,其输入是 3.3V 电平,只要在选择器件时选择输入为 TTL 兼容的,就不需要任何转换,这相当于隐含适用了方法3)。 , y0 B0 I6 z$ {6 n: y. Y4 V% h
( Z$ ^1 E" k2 b; Z(9) 比较器法 5 k& p* Q# V) q0 S. _& Z
算是凑数,有人提出用这个而已,还有什么运放法就太恶搞了。 ( ]) H {& R+ R5 u, P: K! _
, x" d: s- B+ C9 c8 R0 p! q
/ C Y+ w1 l0 U% e. D+ J2. 电平转换的"五要素"
/ `1 [& d: @4 {/ k, c3 M$ i0 [
5 C9 ?5 X( {- C$ v3 Y(1) 电平兼容 : U9 I5 ]" E7 q
解决电平转换问题,最根本的就是要解决逻辑器件接口的电平兼容问题。而电平兼容原则就两条:
# s- k: j" G: q2 C VOH > VIH F" P1 R+ @; E1 \! k4 Y9 ?
VOL < VIL + e( ]6 y4 g1 i2 E7 C% {. J/ b0 q
再简单不过了!当然,考虑抗干扰能力,还必须有一定的噪声容限:
. e. \# E# ~8 T |VOH-VIH| > VN+ 4 j+ H4 T$ H1 k# K
|VOL-VIL| > VN-
& Y+ G$ e9 T* P( q+ o/ W j 其中,VN+和VN-表示正负噪声容限。
( H4 p- o6 h8 m) P 只要掌握这个原则,熟悉各类器件的输入输出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正确利用器件输入特性的例子。
* j/ A( x( U5 G
$ d2 u/ O8 t F4 p3 w4 H(2) 电源次序 6 ?1 T8 i$ r4 `( U" H, s
多电源系统必须注意的问题。某些器件不允许输入电平超过电源,如果没有电源时就加上输入,很可能损坏芯片。这种场合性能最好的办法可能就是方案(5)——164245。如果速度允许,方案(1)(7)也可以考虑。 $ U2 F& c4 N; F0 e
U2 _+ |" N! L1 e9 {. L$ G
(3) 速度/频率
9 m- j$ Q& N" U9 s& _0 b 某些转换方式影响工作速度,所以必须注意。像方案(1)(2)(6)(7),由于电阻的存在,通过电阻给负载电容充电,必然会影响信号跳沿速度。为了提高速度,就必须减小电阻,这又会造成功耗上升。这种场合方案(3)(4)是比较理想的。
& z) M. }" l1 D u# O
7 W4 Q9 p/ L' ], R J( H! B |( A(4) 输出驱动能力 $ L1 f. J7 k; |& a1 s8 {4 o/ F. `+ m) {
如果需要一定的电流驱动能力,方案(1)(2)(6)(7)就都成问题了。这一条跟上一条其实是一致的,因为速度问题的关键就是对负载电容的充电能力。
7 [+ a4 ~. ^ y* Y' {; O 2 c' |8 q, D8 w* ~3 C1 _( c
(5) 路数
7 i! {7 f- R+ Q( y7 O 某些方案元器件较多,或者布线不方便,路数多了就成问题了。例如总线地址和数据的转换,显然应该用方案(3)(4),采用总线缓冲器芯片(245,541,16245...),或者用方案(5)。 9 I; n D% H' @* Z9 N
* Q* {+ \2 |- o- T I5 V(6) 成本&供货
; Q6 d0 V- f' E 前面说的164245就存在这个问题。"五要素"冒出第6个,因为这是非技术因素,而且太根本了,以至于可以忽略。 |
评分
-
查看全部评分
|