不就是電平匹配么?一定要用芯片?
我是搞研發的~我說說所有的電平轉換方法,你自己參考~
(1) 晶體管+上拉電阻法
就是一個雙極型三極管或 MOSFET,C/D極接一個上拉電阻到正電源,輸入電平很靈活,輸出電平大致就是正電源電平。
(2) OC/OD 器件+上拉電阻法
跟 1) 類似。適用于器件輸出剛好為 OC/OD 的場合。
(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, ...)
凡是允許輸入電平超過電源的邏輯器件,都可以用作降低電平。
這里的"超限"是指超過電源,許多較古老的器件都不允許輸入電壓超過電源,但越來越多的新器件取消了這個限制 (改變了輸入級保護電路)。
例如,74AHC/VHC 系列芯片,其 datasheets 明確注明"輸入電壓范圍為0~5.5V",如果采用 3.3V 供電,就可以實作 5V→3.3V 電平轉換。
(5) 專用電平轉換芯片
最著名的就是 164245,不僅可以用作升壓/降壓,而且允許兩邊電源不同步。這是最通用的電平轉換方案,但是也是很昂貴的 (俺前不久買還是¥45/片,雖是零售,也貴的嚇人),因此若非必要,最好用前兩個方案。
(6) 電阻分壓法
最簡單的降低電平的方法。5V電平,經1.6k+3.3k電阻分壓,就是3.3V。
(7) 限流電阻法
如果嫌上面的兩個電阻太多,有時還可以只串聯一個限流電阻。某些芯片雖然原則上不允許輸入電平超過電源,但只要串聯一個限流電阻,保證輸入保護電流不超過極限(如 74HC 系列為 20mA),仍然是安全的。
(8) 無為而無不為法
只要掌握了電平兼容的規律。某些場合,根本就不需要特別的轉換。例如,電路中用到了某種 5V 邏輯器件,其輸入是 3.3V 電平,只要在選擇器件時選擇輸入為 TTL 兼容的,就不需要任何轉換,這相當于隱含適用了方法3)。
(9) 比較器法
算是湊數,有人提出用這個而已,還有什么運放法就太惡搞了。
樓上列了這么一堆,呵呵,都是N年前網上的老料了。
處理器之間的電平轉換,最主要的是需要考慮IO的單雙向問題。單向傳輸,從5V-〉3.3V,直接串接限流電阻就可以,本質上就是電阻分壓。而3.3V到5V,最常用的還是OC、OD的辦法。雙向傳輸時,如果要求較寬松,或者對成本要求極高,可以直接采用限流電阻法。但是要求5V部分的器件必須是TTL電平才能兼容。但是這個IO電平很危險,略微的抖動就可能導致IO誤動作。所以,可以適當在芯片允許的電壓范圍內提升供電電壓。最好的辦法還是電平轉換芯片。
最后,考慮到上面這么復雜的口線處理辦法,其實最簡單的辦法還是利用串口作串行資料傳輸處理,這樣就不涉及到雙向IO,且占用口線極少,從而進一步簡化口線電平轉換。
uj5u.com熱心網友回復:
用51的P0口作輸出,P0口接的8個上拉電阻接3.3V,我經常這樣用,很簡單,很方便。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/94254.html
標籤:單片機/工控
