|
看来各位的指点,很有收获,并在网上搜索各位回复中的关键字,完满解决;& d' A5 `, F& k2 y# [+ z" z2 y% s
这是网上的总结文档贴出来:: O( R5 I; |" m$ f6 }/ R6 V, S
( \3 q* V' O: B. U5 bBBS 上询问逻辑电平转换的人很多,几乎数日就冒一次头。而且电平转换的方法也不少,各有特点。我先做个简单实用的总结,省得老是重复讨论同样的问题。 ! J/ z/ U9 d6 z. }
8 v% z9 r5 [! i6 p' Z( Y7 Y
1. 常用的电平转换方案
! w2 G, V# P: @* x6 W, a1 S n5 Q B
) L ?& s6 R7 Q) f8 E7 N0 t(1) 晶体管+上拉电阻法 1 o# H8 U9 w" e3 o
就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 2 ]% s. b5 y( y1 u/ p- y2 Z: M" i2 V
2 R! A) Q8 y5 Q0 k1 G. M
(2) OC/OD 器件+上拉电阻法 ) H" w& x" v8 ]/ l1 ?8 h
跟 1) 类似。适用于器件输出刚好为 OC/OD 的场合。 3 U5 {' v3 h! I1 I/ o" Q
1 G$ _9 `6 d/ t0 _3 l3 z(3) 74xHCT系列芯片升压 (3.3V→5V) - u9 M1 L) V' g, ~
凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换。
2 q2 i6 x. B' U! J ——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接近电源电平的。 ( f2 Z% S/ \* n3 J+ Q
廉价的选择如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那个字母 T 就表示 TTL 兼容)。
9 l! Y( Q6 T& g4 p3 r/ }0 A' p0 v6 g0 q- b* Z8 Y
(4) 超限输入降压法 (5V→3.3V, 3.3V→1.8V, ...) ; H5 B+ P3 i9 Y" m6 V/ \$ z
凡是允许输入电平超过电源的逻辑器件,都可以用作降低电平。 $ \3 X5 l( e2 `, |( @$ l1 N
这里的"超限"是指超过电源,许多较古老的器件都不允许输入电压超过电源,但越来越多的新器件取消了这个限制 (改变了输入级保护电路)。 4 E+ U/ ^- J7 w4 a2 x% x
例如,74AHC/VHC 系列芯片,其 datasheets 明确注明"输入电压范围为0~5.5V",如果采用 3.3V 供电,就可以实现 5V→3.3V 电平转换。 : y2 C+ [2 ^( P& H: L
8 Y' V) w! i3 R$ U
(5) 专用电平转换芯片
$ r3 B" B0 c0 t0 G0 X5 P4 j4 ` 最著名的就是 164245,不仅可以用作升压/降压,而且允许两边电源不同步。这是最通用的电平转换方案,但是也是很昂贵的 (俺前不久买还是¥45/片,虽是零售,也贵的吓人),因此若非必要,最好用前两个方案。
" U/ R; u/ l/ V5 ^
E& l+ H5 V n/ t0 ^, l$ [(6) 电阻分压法 / `4 ]6 y( ^& L S' ]& M
最简单的降低电平的方法。5V电平,经1.6k+3.3k电阻分压,就是3.3V。 $ N# N9 @& z8 z2 O$ Z8 C) s; ]
( F4 e+ U/ D+ E( V6 S2 Z3 R7 W(7) 限流电阻法
: J2 F: d. r5 \- I, r 如果嫌上面的两个电阻太多,有时还可以只串联一个限流电阻。某些芯片虽然原则上不允许输入电平超过电源,但只要串联一个限流电阻,保证输入保护电流不超过极限(如 74HC 系列为 20mA),仍然是安全的。
. h# B7 b2 k% y9 y4 e# ?- j+ G, ^ u
(8) 无为而无不为法 8 m) {$ Z4 ~6 O! P( v+ M
只要掌握了电平兼容的规律。某些场合,根本就不需要特别的转换。例如,电路中用到了某种 5V 逻辑器件,其输入是 3.3V 电平,只要在选择器件时选择输入为 TTL 兼容的,就不需要任何转换,这相当于隐含适用了方法3)。 $ h0 b/ H) E: m) N
% G) P5 t; s4 y- Q2 |(9) 比较器法 " f n" R) H( o
算是凑数,有人提出用这个而已,还有什么运放法就太恶搞了。 - m$ S: L& x1 `6 A7 t+ p2 G, q
1 R; d1 Q* Q: S2 Q8 s
: w, A# v z; s
2. 电平转换的"五要素"
p. |! ~; Q: B( m& }3 q9 T* C5 c. H- `: i
(1) 电平兼容 ( T1 y% z( N) }) d. P
解决电平转换问题,最根本的就是要解决逻辑器件接口的电平兼容问题。而电平兼容原则就两条: $ I( C. z2 l1 f! o0 i: O
VOH > VIH : b3 T8 ?' H, u/ z; {% M
VOL < VIL
6 N6 c: p8 l+ s- e 再简单不过了!当然,考虑抗干扰能力,还必须有一定的噪声容限:
7 F6 H1 d! G/ \ |VOH-VIH| > VN+ 5 _$ L8 { k: x3 l( j) ], O
|VOL-VIL| > VN-
: `6 S3 J' ]* @( T 其中,VN+和VN-表示正负噪声容限。 5 g0 ]7 s& ]7 l8 j, \, `# J1 ~3 a
只要掌握这个原则,熟悉各类器件的输入输出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正确利用器件输入特性的例子。
, ^( d# F! h; e. ?
9 {) h7 F/ {. y6 n! m(2) 电源次序
+ I+ P) K$ B N 多电源系统必须注意的问题。某些器件不允许输入电平超过电源,如果没有电源时就加上输入,很可能损坏芯片。这种场合性能最好的办法可能就是方案(5)——164245。如果速度允许,方案(1)(7)也可以考虑。 ; {) v! r6 C" \3 Q3 B! n
3 ^5 j7 l. e$ W) @- I9 a(3) 速度/频率
2 Q- L# D+ y9 t7 H* b# E& U7 H 某些转换方式影响工作速度,所以必须注意。像方案(1)(2)(6)(7),由于电阻的存在,通过电阻给负载电容充电,必然会影响信号跳沿速度。为了提高速度,就必须减小电阻,这又会造成功耗上升。这种场合方案(3)(4)是比较理想的。 7 {, L9 w8 j4 i
- H ? `) p3 X% J$ @0 }! L(4) 输出驱动能力
( z9 r7 Y- m5 o7 J 如果需要一定的电流驱动能力,方案(1)(2)(6)(7)就都成问题了。这一条跟上一条其实是一致的,因为速度问题的关键就是对负载电容的充电能力。
7 ~( d5 D+ M# T6 S- k. d6 }! X' b
. x* I2 M8 R( s r- u(5) 路数 3 u! {! A0 N/ A% c( f; y& R. x
某些方案元器件较多,或者布线不方便,路数多了就成问题了。例如总线地址和数据的转换,显然应该用方案(3)(4),采用总线缓冲器芯片(245,541,16245...),或者用方案(5)。
: i' i1 s( V% I% J' t3 [; Q3 w, B- l1 I$ y1 k
(6) 成本&供货
5 W4 C) Z) r& I* z; ~' q 前面说的164245就存在这个问题。"五要素"冒出第6个,因为这是非技术因素,而且太根本了,以至于可以忽略。 |
评分
-
查看全部评分
|