|
|
看来各位的指点,很有收获,并在网上搜索各位回复中的关键字,完满解决;
0 R) T+ I) b; K' @5 ?. ~这是网上的总结文档贴出来:
7 `1 o+ W7 `0 ]5 b9 s% \+ a+ E) ?, {3 [! M8 t) H4 A
BBS 上询问逻辑电平转换的人很多,几乎数日就冒一次头。而且电平转换的方法也不少,各有特点。我先做个简单实用的总结,省得老是重复讨论同样的问题。 6 @, t5 o0 G3 R( K
6 H. c0 [* h$ x! Z$ L; M
1. 常用的电平转换方案 - ?3 J& I/ U1 }7 N/ h7 t
2 O* v5 U2 P7 P: k) w6 A(1) 晶体管+上拉电阻法
X: z! k& K! w* } 就是一个双极型三极管或 MOSFET,C/D极接一个上拉电阻到正电源,输入电平很灵活,输出电平大致就是正电源电平。 0 E0 U7 \8 m" i N. i0 Z
$ V* [/ g3 F& ]: {9 @(2) OC/OD 器件+上拉电阻法
7 D8 y( N: J1 w+ {7 J 跟 1) 类似。适用于器件输出刚好为 OC/OD 的场合。
- N6 X$ Y( T' l: A. H$ ?5 W
+ e, f- r& \7 l5 b(3) 74xHCT系列芯片升压 (3.3V→5V) - a& f% L9 {2 P9 _* V2 S I; A" o
凡是输入与 5V TTL 电平兼容的 5V CMOS 器件都可以用作 3.3V→5V 电平转换。
6 K0 r) ^, u0 x u& m) ?# h ——这是由于 3.3V CMOS 的电平刚好和5V TTL电平兼容(巧合),而 CMOS 的输出电平总是接近电源电平的。 1 d3 g+ ~: y0 K' I2 A4 K8 |
廉价的选择如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那个字母 T 就表示 TTL 兼容)。
5 r- A1 @( ~5 d/ F3 ^& w* \% A
1 C+ L8 E5 s* c' K$ u(4) 超限输入降压法 (5V→3.3V, 3.3V→1.8V, ...)
" z# O4 Z4 {+ H 凡是允许输入电平超过电源的逻辑器件,都可以用作降低电平。
+ j' A! B" u2 y( M! M$ E8 c+ l 这里的"超限"是指超过电源,许多较古老的器件都不允许输入电压超过电源,但越来越多的新器件取消了这个限制 (改变了输入级保护电路)。 4 l" y6 N: T& V. p: `; Z
例如,74AHC/VHC 系列芯片,其 datasheets 明确注明"输入电压范围为0~5.5V",如果采用 3.3V 供电,就可以实现 5V→3.3V 电平转换。
- Y0 m/ R6 p9 X0 U" L9 f. u+ O# f( [/ h% z8 t% Y; B$ K; o |
(5) 专用电平转换芯片 # ~) ^% _) X/ }% k/ y3 n0 `, _% G
最著名的就是 164245,不仅可以用作升压/降压,而且允许两边电源不同步。这是最通用的电平转换方案,但是也是很昂贵的 (俺前不久买还是¥45/片,虽是零售,也贵的吓人),因此若非必要,最好用前两个方案。
5 M# s( M! T+ l+ g+ R2 `- A
3 q$ Q/ i" Q4 O' l(6) 电阻分压法
3 o4 P" p4 {. F7 \4 D; K5 C& b 最简单的降低电平的方法。5V电平,经1.6k+3.3k电阻分压,就是3.3V。
+ e; {7 H$ t. s0 J, T: z; O- d0 V \. U2 ~" U0 ]2 s" B: o
(7) 限流电阻法 0 B8 w E. t( w1 g/ k) Y3 g
如果嫌上面的两个电阻太多,有时还可以只串联一个限流电阻。某些芯片虽然原则上不允许输入电平超过电源,但只要串联一个限流电阻,保证输入保护电流不超过极限(如 74HC 系列为 20mA),仍然是安全的。 & s" ]! x5 v; H- W, s r( L
; q+ ` a& ]. i7 k7 h7 I" ~
(8) 无为而无不为法 ) L; v3 I) [ I4 D& d! a
只要掌握了电平兼容的规律。某些场合,根本就不需要特别的转换。例如,电路中用到了某种 5V 逻辑器件,其输入是 3.3V 电平,只要在选择器件时选择输入为 TTL 兼容的,就不需要任何转换,这相当于隐含适用了方法3)。
9 D" g* W& Y& @
- X$ w% y% M) I0 V. A+ Q(9) 比较器法 & f+ J& l0 P& Z6 o) x5 V, z
算是凑数,有人提出用这个而已,还有什么运放法就太恶搞了。
8 L4 D( ?) C& r. S- ]) V$ Y
+ | G+ K: q* m8 u/ d/ a7 j5 \' s" d: W
/ U5 T" h8 V3 I2 E. C5 G: H# p2. 电平转换的"五要素" , ^* j: P( A5 A, E5 t
; P- M: D" P/ ~9 s% g. z(1) 电平兼容 0 ^7 n8 ?2 }/ B8 z
解决电平转换问题,最根本的就是要解决逻辑器件接口的电平兼容问题。而电平兼容原则就两条: 4 T: O. n/ N# W" T6 M1 a- A Y7 b h
VOH > VIH 8 ?& \6 Y% N4 u/ h# _2 s- P% ?
VOL < VIL , d' v g) {$ u; R9 O) G3 X
再简单不过了!当然,考虑抗干扰能力,还必须有一定的噪声容限:
$ u( T2 i# r1 Q7 g6 a9 ~ |VOH-VIH| > VN+
' t* c: k1 X5 q9 C/ m2 i2 B+ L |VOL-VIL| > VN-
" @* Y6 y. P6 h 其中,VN+和VN-表示正负噪声容限。
: ~- _# q* w8 G( x3 R 只要掌握这个原则,熟悉各类器件的输入输出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正确利用器件输入特性的例子。 ! k4 W" G+ }9 G" h) l
& B; _8 S8 ^ ?7 E: L
(2) 电源次序
+ q' G$ p9 q M3 Z7 _$ v 多电源系统必须注意的问题。某些器件不允许输入电平超过电源,如果没有电源时就加上输入,很可能损坏芯片。这种场合性能最好的办法可能就是方案(5)——164245。如果速度允许,方案(1)(7)也可以考虑。 & M0 v2 Q- P: N, ?8 [+ Z
: ?, n: J' h! e
(3) 速度/频率
o) M& N% T1 _$ _ 某些转换方式影响工作速度,所以必须注意。像方案(1)(2)(6)(7),由于电阻的存在,通过电阻给负载电容充电,必然会影响信号跳沿速度。为了提高速度,就必须减小电阻,这又会造成功耗上升。这种场合方案(3)(4)是比较理想的。
7 U$ ~4 ~( V! Z ^! ] z
9 Q( U( u$ `! }' l8 n(4) 输出驱动能力 0 L/ ~$ N7 q& \, G. N3 e* G
如果需要一定的电流驱动能力,方案(1)(2)(6)(7)就都成问题了。这一条跟上一条其实是一致的,因为速度问题的关键就是对负载电容的充电能力。
- ^" x! s$ Q% h% ^4 K7 _% r( I ; Y9 R4 r9 B) X' `
(5) 路数
4 I/ {& _/ |6 f" c 某些方案元器件较多,或者布线不方便,路数多了就成问题了。例如总线地址和数据的转换,显然应该用方案(3)(4),采用总线缓冲器芯片(245,541,16245...),或者用方案(5)。 5 F5 J; o3 |; V; K- l: x: R
+ x" O3 k) T% z8 k(6) 成本&供货
. _. H; o' N: V& D* h 前面说的164245就存在这个问题。"五要素"冒出第6个,因为这是非技术因素,而且太根本了,以至于可以忽略。 |
评分
-
查看全部评分
|