常用的電平轉換方案
阿新 • • 發佈:2019-01-30
電平轉換
- \' u$ a# s) k2 W' p% |$ Q$ B
8 s( @# k! K' q# `7 i$ j7 E- I: D5 v, o
(1) 電晶體+上拉電阻法
就是一個雙極型三極體或 MOSFET,C/D極接一個上拉電阻到正電源,輸入電平很靈活,輸出電平大致就是正電源電平。 $ o
(2) OC/OD 器件+上拉電阻法 ' q' M9 {% L2 q( n# d
跟 1) 類似。適用於器件輸出剛好為 OC/OD 的場合。 8 J) s8 c+ |! {- c! L) \ O
: b# }/ T1 @8 z a+ ]+ S5 r
(3) 74xHCT系列晶片升壓 (3.3V→5V)
凡是輸入與 5V TTL 電平相容的 5V CMOS 器件都可以用作 3.3V→5V 電平轉換。
——這是由於 3.3V CMOS 的電平剛好和5V TTL電平相容(巧合),而 CMOS 的輸出電平總是接近電源電平的。
廉價的選擇如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那個字母 T 就表示 TTL 相容)。 ! G) z1 C& G'
(4) 超限輸入降壓法 (5V→3.3V, 3.3V→1.8V, ...) # x- C( K# @0 q. b6 N, U
凡是允許輸入電平超過電源的邏輯器件,都可以用作降低電平。 , v& t2 w/ U% Z. V
這裡的"超限"是指超過電源,許多較古老的器件都不允許輸入電壓超過電源,但越來越多的新器件取消了這個限制 (改變了輸入級保護電路)。 # w$ O& X/ `$ v. k' X
例如,74AHC/VHC 系列晶片,其 datasheets 明確註明"輸入電壓範圍為0~5.5V",如果採用 3.3V 供電,就可以實現 5V→3.3V 電平轉換。
(5) 專用電平轉換晶片
最著名的就是 164245,不僅可以用作升壓/降壓,而且允許兩邊電源不同步。這是最通用的電平轉換方案,但是也是很昂貴的 (俺前不久買還是¥45/片,雖是零售,也貴的嚇人),因此若非必要,最好用前兩個方案。 # R7 t4 V7 P4 |( K, ~
# d( H) w' f) X9 D: [: F
(6) 電阻分壓法 / i$ E& Y& f$ ^/ S# o$ E
最簡單的降低電平的方法。5V電平,經1.6k+3.3k電阻分壓,就是3.3V。
(7) 限流電阻法 $ a2 i1 I3 f! } | {4 E
如果嫌上面的兩個電阻太多,有時還可以只串聯一個限流電阻。某些晶片雖然原則上不允許輸入電平超過電源,但只要串聯一個限流電阻,保證輸入保護電流不超過極限(如 74HC 系列為 20mA),仍然是安全的。 3 A+ M. a, N7 m
& {$ r+ @% C$ C( j
(8) 無為而無不為法
只要掌握了電平相容的規律。某些場合,根本就不需要特別的轉換。例如,電路中用到了某種 5V 邏輯器件,其輸入是 3.3V 電平,只要在選擇器件時選擇輸入為 TTL 相容的,就不需要任何轉換,這相當於隱含適用了方法3)。 . d) Q' x h3 s& H( z( A) @3 u
(9) 比較器法 ( |& \9 s& N4 C: V" \# k4 R 算是湊數,有人提出用這個而已,還有什麼運放法就太惡搞了。
2. 電平轉換的"五要素"
(1) 電平相容
解決電平轉換問題,最根本的就是要解決邏輯器件介面的電平相容問題。而電平相容原則就兩條: - c8 F( C4 n6 q& L' |
VOH > VIH - Z/ `$ C3 u, n9 i5 |
VOL < VIL
再簡單不過了!當然,考慮抗干擾能力,還必須有一定的噪聲容限:
|VOH-VIH| > VN+ ; w* A7 Z1 W" D' ~& T6 z
|VOL-VIL| > VN-
其中,VN+和VN-表示正負噪聲容限。 ( X* [9 M( D' w. K0 r# e" t. d
只要掌握這個原則,熟悉各類器件的輸入輸出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正確利用器件輸入特性的例子。 % a: I! f9 J. ]0 w+ E" ^" J- y. Q1 t
(2) 電源次序
多電源系統必須注意的問題。某些器件不允許輸入電平超過電源,如果沒有電源時就加上輸入,很可能損壞晶片。這種場合效能最好的辦法可能就是方案(5)——164245。如果速度允許,方案(1)(7)也可以考慮。 " m' W3 Y9 W, {3 q" x( }! `: y
(3) 速度/頻率
某些轉換方式影響工作速度,所以必須注意。像方案(1)(2)(6)(7),由於電阻的存在,通過電阻給負載電容充電,必然會影響訊號跳沿速度。為了提高速度,就必須減小電阻,這又會造成功耗上升。這種場合方案(3)(4)是比較理想的。
s4 W
(4) 輸出驅動能力
如果需要一定的電流驅動能力,方案(1)(2)(6)(7)就都成問題了。這一條跟上一條其實是一致的,因為速度問題的關鍵就是對負載電容的充電能力。 ; ]7 ?% V- U5 _- s$ o
(5) 路數
某些方案元器件較多,或者佈線不方便,路數多了就成問題了。例如匯流排地址和資料的轉換,顯然應該用方案(3)(4),採用匯流排緩衝器晶片(245,541,16245...),或者用方案(5)。
c+ [9 l' ]' w+ v& v
(6) 成本&供貨
前面說的164245就存在這個問題。"五要素"冒出第6個,因為這是非技術因素,而且太根本了,以至於可以忽略。
- \' u$ a# s) k2 W' p% |$ Q$ B
8 s( @# k! K' q# `7 i$ j7 E- I: D5 v, o
(1) 電晶體+上拉電阻法
就是一個雙極型三極體或 MOSFET,C/D極接一個上拉電阻到正電源,輸入電平很靈活,輸出電平大致就是正電源電平。 $ o
(2) OC/OD 器件+上拉電阻法 ' q' M9 {% L2 q( n# d
跟 1) 類似。適用於器件輸出剛好為 OC/OD 的場合。 8 J) s8 c+ |! {- c! L) \ O
: b# }/ T1 @8 z a+ ]+ S5 r
(3) 74xHCT系列晶片升壓 (3.3V→5V)
凡是輸入與 5V TTL 電平相容的 5V CMOS 器件都可以用作 3.3V→5V 電平轉換。
——這是由於 3.3V CMOS 的電平剛好和5V TTL電平相容(巧合),而 CMOS 的輸出電平總是接近電源電平的。
廉價的選擇如 74xHCT(HCT/AHCT/VHCT/AHCT1G/VHCT1G/...) 系列 (那個字母 T 就表示 TTL 相容)。
(4) 超限輸入降壓法 (5V→3.3V, 3.3V→1.8V, ...) # x- C( K# @0 q. b6 N, U
凡是允許輸入電平超過電源的邏輯器件,都可以用作降低電平。 , v& t2 w/ U% Z. V
這裡的"超限"是指超過電源,許多較古老的器件都不允許輸入電壓超過電源,但越來越多的新器件取消了這個限制 (改變了輸入級保護電路)。 # w$ O& X/ `$ v. k' X
例如,74AHC/VHC 系列晶片,其 datasheets 明確註明"輸入電壓範圍為0~5.5V",如果採用 3.3V 供電,就可以實現 5V→3.3V 電平轉換。
(5) 專用電平轉換晶片
最著名的就是 164245,不僅可以用作升壓/降壓,而且允許兩邊電源不同步。這是最通用的電平轉換方案,但是也是很昂貴的 (俺前不久買還是¥45/片,雖是零售,也貴的嚇人),因此若非必要,最好用前兩個方案。
# d( H) w' f) X9 D: [: F
(6) 電阻分壓法 / i$ E& Y& f$ ^/ S# o$ E
最簡單的降低電平的方法。5V電平,經1.6k+3.3k電阻分壓,就是3.3V。
(7) 限流電阻法 $ a2 i1 I3 f! } | {4 E
如果嫌上面的兩個電阻太多,有時還可以只串聯一個限流電阻。某些晶片雖然原則上不允許輸入電平超過電源,但只要串聯一個限流電阻,保證輸入保護電流不超過極限(如 74HC 系列為 20mA),仍然是安全的。 3 A+ M. a, N7 m
& {$ r+ @% C$ C( j
(8) 無為而無不為法
只要掌握了電平相容的規律。某些場合,根本就不需要特別的轉換。例如,電路中用到了某種 5V 邏輯器件,其輸入是 3.3V 電平,只要在選擇器件時選擇輸入為 TTL 相容的,就不需要任何轉換,這相當於隱含適用了方法3)。 . d) Q' x h3 s& H( z( A) @3 u
(9) 比較器法 ( |& \9 s& N4 C: V" \# k4 R 算是湊數,有人提出用這個而已,還有什麼運放法就太惡搞了。
2. 電平轉換的"五要素"
(1) 電平相容
解決電平轉換問題,最根本的就是要解決邏輯器件介面的電平相容問題。而電平相容原則就兩條: - c8 F( C4 n6 q& L' |
VOH > VIH - Z/ `$ C3 u, n9 i5 |
VOL < VIL
再簡單不過了!當然,考慮抗干擾能力,還必須有一定的噪聲容限:
|VOH-VIH| > VN+ ; w* A7 Z1 W" D' ~& T6 z
|VOL-VIL| > VN-
其中,VN+和VN-表示正負噪聲容限。 ( X* [9 M( D' w. K0 r# e" t. d
只要掌握這個原則,熟悉各類器件的輸入輸出特性,可以很自然地找到合理方案,如前面的方案(3)(4)都是正確利用器件輸入特性的例子。 % a: I! f9 J. ]0 w+ E" ^" J- y. Q1 t
(2) 電源次序
多電源系統必須注意的問題。某些器件不允許輸入電平超過電源,如果沒有電源時就加上輸入,很可能損壞晶片。這種場合效能最好的辦法可能就是方案(5)——164245。如果速度允許,方案(1)(7)也可以考慮。 " m' W3 Y9 W, {3 q" x( }! `: y
(3) 速度/頻率
某些轉換方式影響工作速度,所以必須注意。像方案(1)(2)(6)(7),由於電阻的存在,通過電阻給負載電容充電,必然會影響訊號跳沿速度。為了提高速度,就必須減小電阻,這又會造成功耗上升。這種場合方案(3)(4)是比較理想的。
s4 W
(4) 輸出驅動能力
如果需要一定的電流驅動能力,方案(1)(2)(6)(7)就都成問題了。這一條跟上一條其實是一致的,因為速度問題的關鍵就是對負載電容的充電能力。 ; ]7 ?% V- U5 _- s$ o
(5) 路數
某些方案元器件較多,或者佈線不方便,路數多了就成問題了。例如匯流排地址和資料的轉換,顯然應該用方案(3)(4),採用匯流排緩衝器晶片(245,541,16245...),或者用方案(5)。
c+ [9 l' ]' w+ v& v
(6) 成本&供貨
前面說的164245就存在這個問題。"五要素"冒出第6個,因為這是非技術因素,而且太根本了,以至於可以忽略。