單片機5V轉33V電平轉換的19種方法技巧是什么?
答:方法一:使用LDO穩壓器,從5V電源向3.3V系統供電
標準三端線性穩壓器的壓差通常是 2.0-3.0V 。要把 5V 可靠地轉換為3.3V,就不能使用它們。壓差為幾百個毫伏的低壓降 (Low Dropout, LDO)穩壓器,是此類應用的理想選擇。圖 1-1 是基本LDO 系統的框圖,標注了相應的電流。從圖中可以看出, LDO 由四個主要部分組成:
1. 導通晶體管
2. 帶隙參考源
3. 運算放大器
4. 反饋電阻分壓器
在選擇 LDO 時,重要的是要知道如何區分各種 LDO 。器件的靜態電流、封裝大小和型號是重要的器件參數。根據具體應用來確定各種參數,將會得到最優的設計。
LDO 的靜態電流IQ是器件空載工作時器件的接地電流 IGND。IGND是 LDO 用來進行穩壓的電流。當 IOUT>>IQ 時,LDO的效率可用輸出電壓除以輸入電壓來近似地得到。然而,輕載時,必須將 IQ 計入效率計算中。具有較低 IQ 的 LDO 其輕載效率較高。輕載效率的提高對于 LDO 性能有負面影響。靜態電流較高的 LDO 對于線路和負載的突然變化有更快的響應。
方法二:采用齊納二極管的低成本供電系統
這里詳細說明了一個采用齊納二極管的低成本穩壓器方案。
可以用齊納二極管和電阻做成簡單的低成本 3.3V穩壓器,如圖2-1所示。在很多應用中,該電路可以替代LDO穩壓器并具成本效益。但是,這種穩壓器對負載敏感的程度要高于 LDO 穩壓器。另外,它的能效較低,因為 R1 和 D1 始終有功耗。R1限制流入D1 和 PICmicro? MCU的電流,從而使VDD 保持在允許范圍內。由于流經齊納二極管的電流變化時,二極管的反向電壓也將發生改變,所以需要仔細考慮 R1 的值。
R1 的選擇依據是:在最大負載時——通常是在PICmicro MCU 運行且驅動其輸出為高電平時——R1上的電壓降要足夠低從而使PICmicro MCU有足以維持工作所需的電壓。同時,在最小負載時——通常是PICmicro MCU 復位時——VDD 不超過齊納二極管的額定功率,也不超過 PICmicro MCU的最大 VDD。
方法三:采用3個整流二極管的更低成本供電系統
圖 3-1 詳細說明了一個采用 3 個整流二極管的更低成本穩壓器方案。
我們也可以把幾個常規開關二極管串聯起來,用其正向壓降來降低進入的 PICmicro MCU 的電壓。這甚至比齊納二極管穩壓器的成本還要低。這種設計的電流消耗通常要比使用齊納二極管的電路低。
所需二極管的數量根據所選用二極管的正向電壓而變化。二極管 D1-D3 的電壓降是流經這些二極管的電流的函數。連接 R1 是為了避免在負載最小時——通常是 PICmicro MCU 處于復位或休眠狀態時——PICmicro MCU VDD 引腳上的電壓超過PICmicro MCU 的最大 VDD 值。根據其他連接至VDD 的電路,可以提高R1 的阻值,甚至也可能完全不需要 R1。二極管 D1-D3 的選擇依據是:在最大負載時——通常是 PICmicro MCU 運行且驅動其輸出為高電平時——D1-D3 上的電壓降要足夠低從而能夠滿足 PICmicro MCU 的最低 VDD 要求。
方法四:使用開關穩壓器,從5V電源向3.3V系統供電
如圖 4-1 所示,降壓開關穩壓器是一種基于電感的轉換器,用來把輸入電壓源降低至幅值較低的輸出電壓。輸出穩壓是通過控制 MOSFET Q1 的導通(ON)時間來實現的。由于 MOSFET 要么處于低阻狀態,要么處于高阻狀態(分別為 ON 和OFF),因此高輸入源電壓能夠高效率地轉換成較低的輸出電壓。
當 Q1 在這兩種狀態期間時,通過平衡電感的電壓- 時間,可以建立輸入和輸出電壓之間的關系。
對于 MOSFET Q1,有下式:
在選擇電感的值時,使電感的最大峰 - 峰紋波電流等于最大負載電流的百分之十的電感值,是個很好的初始選擇。
在選擇輸出電容值時,好的初值是:使 LC 濾波器特性阻抗等于負載電阻。這樣在滿載工作期間如果突然卸掉負載,電壓過沖能處于可接受范圍之內。
在選擇二極管 D1 時,應選擇額定電流足夠大的元件,使之能夠承受脈沖周期 (IL)放電期間的電感電流。
數字連接
在連接兩個工作電壓不同的器件時,必須要知道其各自的輸出、輸入閾值。知道閾值之后,可根據應用的其他需求選擇器件的連接方法。表 4-1 是本文檔所使用的輸出、輸入閾值。在設計連接時,請務必參考制造商的數據手冊以獲得實際的閾值電平。
方法五:3.3V →5V直接連接
將 3.3V 輸出連接到 5V 輸入最簡單、最理想的方法是直接連接。直接連接需要滿足以下 2 點要求:
3.3V輸出的 VOH 大于 5V 輸入的 VIH? 3.3V輸出的 VOL 小于 5V 輸入的 VIL能夠使用這種方法的例子之一是將 3.3V LVCMOS輸出連接到 5V TTL 輸入。從表4-1中所給出的值可以清楚地看到上述要求均滿足。
3.3V LVCMOS 的 VOH (3.0V)大于5V TTL 的VIH (2.0V)且3.3V LVCMOS 的 VOL (0.5V)小于 5V TTL 的VIL (0.8V)。
如果這兩個要求得不到滿足,連接兩個部分時就需要額外的電路。可能的解決方案請參閱技巧 6、7、 8 和 13。
方法六:3.3V→5V使用MOSFET轉換器
如果 5V 輸入的 VIH 比 3.3V CMOS 器件的 VOH 要高,則驅動任何這樣的 5V 輸入就需要額外的電路。圖 6-1 所示為低成本的雙元件解決方案。
在選擇 R1 的阻值時,需要考慮兩個參數,即:輸入的開關速度和 R1 上的電流消耗。當把輸入從 0切換到 1 時,需要計入因 R1 形成的 RC 時間常數而導致的輸入上升時間、 5V 輸入的輸入容抗以及電路板上任何的雜散電容。輸入開關速度可通過下式計算:
由于輸入容抗和電路板上的雜散電容是固定的,提高輸入開關速度的惟一途徑是降低 R1 的阻值。而降低 R1 阻值以獲取更短的開關時間,卻是以增大5V 輸入為低電平時的電流消耗為代價的。通常,切換到 0 要比切換到 1 的速度快得多,因為 N 溝道 MOSFET 的導通電阻要遠小于 R1。另外,在選擇 N 溝道 FET 時,所選 FET 的VGS 應低于3.3V 輸出的 VOH。
方法七:3.3V→5V使用二極管補償
表7-1 列出了 5V CMOS 的輸入電壓閾值、 3.3VLVTTL 和 LVCMOS 的輸出驅動電壓。
從上表看出, 5V CMOS 輸入的高、低輸入電壓閾值均比 3.3V 輸出的閾值高約一伏。因此,即使來自 3.3V 系統的輸出能夠被補償,留給噪聲或元件容差的余地也很小或者沒有。我們需要的是能夠補償輸出并加大高低輸出電壓差的電路。
輸出電壓規范確定后,就已經假定:高輸出驅動的是輸出和地之間的負載,而低輸出驅動的是 3.3V和輸出之間的負載。如果高電壓閾值的負載實際上是在輸出和 3.3V 之間的話,那么輸出電壓實際上要高得多,因為拉高輸出的機制是負載電阻,而不是輸出三極管。
如果我們設計一個二極管補償電路 (見圖 7-1),二極管 D1 的正向電壓 (典型值 0.7V)將會使輸出低電壓上升,在 5V CMOS 輸入得到 1.1V 至1.2V 的低電壓。它安全地處于 5V CMOS 輸入的低輸入電壓閾值之下。輸出高電壓由上拉電阻和連至3.3V 電源的二極管 D2 確定。這使得輸出高電壓大約比 3.3V 電源高 0.7V,也就是 4.0 到 4.1V,很安全地在 5V CMOS 輸入閾值 (3.5V)之上。
方法八:3.3V→5V使用電壓比較器
比較器的基本工作如下:
反相 (-)輸入電壓大于同相 (+)輸入電壓時,比較器輸出切換到 Vss。
同相 (+)輸入端電壓大于反相 (-)輸入電壓時,比較器輸出為高電平。
為了保持 3.3V 輸出的極性, 3.3V 輸出必須連接到比較器的同相輸入端。比較器的反相輸入連接到由 R1 和 R2 確定的參考電壓處,如圖 8-1 所示。
計算 R1 和 R2
R1 和 R2 之比取決于輸入信號的邏輯電平。對于3.3V 輸出,反相電壓應該置于VOL 與VOH之間的中點電壓。對于 LVCMOS 輸出,中點電壓為:
如果 R1 和 R2 的邏輯電平關系如下,
若 R2 取值為 1K,則 R1 為 1.8K。
經過適當連接后的運算放大器可以用作比較器,以將 3.3V 輸入信號轉換為 5V 輸出信號。這是利用了比較器的特性,即:根據 “反相”輸入與 “同相”輸入之間的壓差幅值,比較器迫使輸出為高(VDD)或低 (Vss)電平。
方法九:5V→3.3V直接連接
通常 5V 輸出的 VOH 為 4.7 伏, VOL 為 0.4 伏;而通常 3.3V LVCMOS 輸入的 VIH 為 0.7 x VDD, VIL為 0.2 x VDD。
當 5V 輸出驅動為低時,不會有問題,因為 0.4 伏的輸出小于 0.8 伏的輸入閾值。當 5V 輸出為高時, 4.7 伏的 VOH 大于 2.1 伏 VIH,所以,我們可以直接把兩個引腳相連,不會有沖突,前提是3.3V CMOS 輸出能夠耐受 5 伏電壓。
如果 3.3V CMOS 輸入不能耐受 5 伏電壓,則將出現問題,因為超出了輸入的最大電壓規范。可能的解決方案請參見技巧 10-13。
方法十:5V→3.3V使用二極管鉗位
很多廠商都使用鉗位二極管來保護器件的 I/O 引腳,防止引腳上的電壓超過最大允許電壓規范。鉗位二極管使引腳上的電壓不會低于 Vss 超過一個二極管壓降,也不會高于 VDD 超過一個二極管壓降。要使用鉗位二極管來保護輸入,仍然要關注流經鉗位二極管的電流。流經鉗位二極管的電流應該始終比較小 (在微安數量級上)。
如果流經鉗位二極管的電流過大,就存在部件閉鎖的危險。由于5V 輸出的源電阻通常在 10Ω 左右,因此仍需串聯一個電阻,限制流經鉗位二極管的電流,如圖 10-1所示。使用串聯電阻的后果是降低了輸入開關的速度,因為引腳 (CL)上構成了 RC 時間常數。
如果沒有鉗位二極管,可以在電流中添加一個外部二極管,如圖 10-2 所示。
方法十一:5V→3.3V有源鉗位
使用二極管鉗位有一個問題,即它將向 3.3V 電源注入電流。在具有高電流 5V 輸出且輕載 3.3V 電源軌的設計中,這種電流注入可能會使 3.3V 電源電壓超過 3.3V。為了避免這個問題,可以用一個三極管來替代,三極管使過量的輸出驅動電流流向地,而不是 3.3V 電源。設計的電路如圖 11-1 所示。
Q1的基極-發射極結所起的作用與二極管鉗位電路中的二極管相同。區別在于,發射極電流只有百分之幾流出基極進入 3.3V 軌,絕大部分電流都流向集電極,再從集電極無害地流入地。基極電流與集電極電流之比,由晶體管的電流增益決定,通常為10-400,取決于所使用的晶體管。
方法十二:5V→3.3V電阻分壓器
可以使用簡單的電阻分壓器將 5V 器件的輸出降低到適用于 3.3V 器件輸入的電平。這種接口的等效電路如圖 12-1 所示。
通常,源電阻 RS 非常小 (小于 10Ω),如果選擇的 R1 遠大于RS 的話,那么可以忽略 RS 對 R1 的影響。在接收端,負載電阻 RL 非常大 (大于500 kΩ),如果選擇的R2遠小于RL的話,那么可以忽略 RL 對 R2 的影響。
在功耗和瞬態時間之間存在取舍權衡。為了使接口電流的功耗需求最小,串聯電阻 R1 和 R2 應盡可能大。但是,負載電容 (由雜散電容 CS 和 3.3V 器件的輸入電容 CL 合成)可能會對輸入信號的上升和下降時間產生不利影響。如果 R1 和 R2 過大,上升和下降時間可能會過長而無法接受。
如果忽略 RS 和 RL 的影響,則確定 R1 和 R2 的式子由下面的公式 12-1 給出。
公式 12-2 給出了確定上升和下降時間的公式。為便于電路分析,使用戴維寧等效計算來確定外加電壓 VA 和串聯電阻R。戴維寧等效計算定義為開路電壓除以短路電流。根據公式 12-2 所施加的限制,對于圖 12-1 所示電路,確定的戴維寧等效電阻 R 應為 0.66*R1,戴維寧等效電壓 VA 應為0.66*VS。
例如,假設有下列條件存在:
雜散電容=30pF
負載電容= 5pF
從 0.3V 至 3V 的最大上升時間≤1μs
外加源電壓 Vs=5V
確定最大電阻的計算如公式12-3所示。
方法十三:3.3V→5V電平轉換器
盡管電平轉換可以分立地進行,但通常使用集成解決方案較受歡迎。電平轉換器的使用范圍比較廣泛:有單向和雙向配置、不同的電壓轉換和不同的速度,供用戶選擇最佳的解決方案。
器件之間的板級通訊 (例如, MCU至外設)通過SPI或I2C? 來進行,這是最常見的。對于SPI,使用單向電平轉換器比較合適;對于 I2C,就需要使用雙向解決方案。下面的圖13-1顯示了這兩種解決方案。
模擬
3.3V至5V接口的最后一項挑戰是如何轉換模擬信號,使之跨越電源障礙。低電平信號可能不需要外部電路,但在 3.3V 與 5V 之間傳送信號的系統則會受到電源變化的影響。例如,在 3.3V 系統中,ADC轉換1V峰值的模擬信號,其分辨率要比5V系統中 ADC 轉換的高,這是因為在 3.3V ADC 中,ADC 量程中更多的部分用于轉換。但另一方面,3.3V 系統中相對較高的信號幅值,與系統較低的共模電壓限制可能會發生沖突。
因此,為了補償上述差異,可能需要某種接口電路。本節將討論接口電路,以幫助緩和信號在不同電源之間轉換的問題。
方法十四:3.3V→5V模擬增益模塊
從3.3V電源連接至5V時,需要提升模擬電壓。33kΩ和17kΩ電阻設定了運放的增益,從而在兩端均使用滿量程。11 kΩ 電阻限制了流回 3.3V 電路的電流。
方法十五:3.3V→5V模擬補償模塊
該模塊用于補償3.3V轉換到 5V 的模擬電壓。下面是將 3.3V 電源供電的模擬電壓轉換為由5V電源供電。右上方的 147 kΩ、 30.1 kΩ 電阻以及+5V 電源,等效于串聯了 25kΩ電阻的0.85V 電壓源。這個等效的 25 kΩ 電阻、三個25kΩ電阻以及運放構成了增益為1V/V 的差動放大器。 0.85V等效電壓源將出現在輸入端的任何信號向上平移相同的幅度;以 3.3V/2 = 1.65V 為中心的信號將同時以5.0V/2=2.50V 為中心。左上方的電阻限制了來自 5V 電路的電流。
方法十六:5V→3.3V有源模擬衰減器
此技巧使用運算放大器衰減從 5V 至 3.3V 系統的信號幅值。
要將 5V 模擬信號轉換為 3.3V 模擬信號,最簡單的方法是使用 R1:R2 比值為 1.7:3.3 的電阻分壓器。然而,這種方法存在一些問題。
1)衰減器可能會接至容性負載,構成不期望得到的低通濾波器。
2)衰減器電路可能需要從高阻抗源驅動低阻抗負載。
無論是哪種情形,都需要運算放大器用以緩沖信號。所需的運放電路是單位增益跟隨器 (見圖 16-1)。
電路輸出電壓與加在輸入的電壓相同。
為了把 5V 信號轉換為較低的 3V 信號,我們只要加上電阻衰減器即可。
如果電阻分壓器位于單位增益跟隨器之前,那么將為 3.3V 電路提供最低的阻抗。此外,運放可以從3.3V 供電,這將節省一些功耗。如果選擇的 X 非常大的話, 5V 側的功耗可以最大限度地減小。
如果衰減器位于單位增益跟隨器之后,那么對 5V源而言就有最高的阻抗。運放必須從 5V 供電,3V 側的阻抗將取決于 R1||R2 的值。
方法十七:5V→3.3V模擬限幅器
在將 5V 信號傳送給 3.3V 系統時,有時可以將衰減用作增益。如果期望的信號小于 5V,那么把信號直接送入 3.3V ADC 將產生較大的轉換值。當信號接近 5V 時就會出現危險。所以,需要控制電壓越限的方法,同時不影響正常范圍中的電壓。這里將討論三種實現方法。
1. 使用二極管,鉗位過電壓至 3.3V 供電系統。
2. 使用齊納二極管,把電壓鉗位至任何期望的電壓限。
3. 使用帶二極管的運算放大器,進行精確鉗位。
進行過電壓鉗位的最簡單的方法,與將 5V 數字信號連接至 3.3V 數字信號的簡單方法完全相同。使用電阻和二極管,使過量電流流入 3.3V 電源。選用的電阻值必須能夠保護二極管和 3.3V 電源,同時還不會對模擬性能造成負面影響。
如果 3.3V 電源的阻抗太低,那么這種類型的鉗位可能致使3.3V 電源電壓上升。即使 3.3V 電源有很好的低阻抗,當二極管導通時,以及在頻率足夠高的情況下,當二極管沒有導通時 (由于有跨越二極管的寄生電容),此類鉗位都將使輸入信號向3.3V電源施加噪聲。
為了防止輸入信號對電源造成影響,或者為了使輸入應對較大的瞬態電流時更為從容,對前述方法稍加變化,改用齊納二極管。齊納二極管的速度通常要比第一個電路中所使用的快速信號二極管慢。不過,齊納鉗位一般來說更為結實,鉗位時不依賴于電源的特性參數。鉗位的大小取決于流經二極管的電流。這由 R1 的值決定。如果 VIN 源的輸出阻抗足夠大的話,也可不需要 R1。
如果需要不依賴于電源的更為精確的過電壓鉗位,可以使用運放來得到精密二極管。電路如圖 17-3所示。運放補償了二極管的正向壓降,使得電壓正好被鉗位在運放的同相輸入端電源電壓上。如果運放是軌到軌的話,可以用 3.3V 供電。
由于鉗位是通過運放來進行的,不會影響到電源。
運放不能改善低電壓電路中出現的阻抗,阻抗仍為R1 加上源電路阻抗。
方法十八:驅動雙極型晶體管
在驅動雙極型晶體管時,基極 “驅動”電流和正向電流增益 (Β/hFE)將決定晶體管將吸納多少電流。如果晶體管被單片機 I/O 端口驅動,使用端口電壓和端口電流上限 (典型值 20 mA)來計算基極驅動電流。如果使用的是 3.3V 技術,應改用阻值較小的基極電流限流電阻,以確保有足夠的基極驅動電流使晶體管飽和。
RBASE的值取決于單片機電源電壓。公式18-1 說明了如何計算 RBASE。
如果將雙極型晶體管用作開關,開啟或關閉由單片機 I/O 端口引腳控制的負載,應使用最小的 hFE規范和裕度,以確保器件完全飽和。
方法十九:驅動N溝道MOSFET晶體管
在選擇與 3.3V 單片機配合使用的外部 N 溝道MOSFET 時,一定要小心。MOSFET 柵極閾值電壓表明了器件完全飽和的能力。對于 3.3V 應用,所選 MOSFET 的額定導通電阻應針對 3V 或更小的柵極驅動電壓。
例如,對于具有 3.3V 驅動的100 mA負載,額定漏極電流為250 μA的FET在柵極 - 源極施加 1V 電壓時,不一定能提供滿意的結果。在從 5V 轉換到 3V 技術時,應仔細檢查柵極- 源極閾值和導通電阻特性參數,如圖 19-1所示。稍微減少柵極驅動電壓,可以顯著減小漏電流。
對于 MOSFET,低閾值器件較為常見,其漏-源電壓額定值低于 30V。漏-源額定電壓大于 30V的 MOSFET,通常具有更高的閾值電壓 (VT)。
如表 19-1 所示,此 30V N 溝道 MOSFET 開關的閾值電壓是 0.6V。柵極施加 2.8V 的電壓時,此MOSFET 的額定電阻是 35 mΩ,因此,它非常適用于 3.3V 應用。
對于 IRF7201 數據手冊中的規范,柵極閾值電壓最小值規定為 1.0V。這并不意味著器件可以用來在1.0V 柵 - 源電壓時開關電流,因為對于低于 4.5V 的VGS (th),沒有說明規范。對于需要低開關電阻的 3.3V 驅動的應用,不建議使用 IRF7201,但它可以用于 5V 驅動應用。