半導(dǎo)體行業(yè)從一開始就以“更小、更快,、更便宜,、更好”為宗旨。當(dāng)前的掌上電腦(Pocket PC)比占地整整一幢樓的第一臺(tái)電腦功能更強(qiáng)大,。然而,,到目前為止,實(shí)現(xiàn)這一目標(biāo)的方法都是減小組成半導(dǎo)體器件的單個(gè)晶體管的體積,。這也帶來了有趣的副作用,。隨著晶體管變得越來越小,工作電壓也越來越低,。在過去的嵌入式系統(tǒng)中應(yīng)用最普遍的就是5V電源,。但典型嵌入式系統(tǒng)中的大多數(shù)元器件也轉(zhuǎn)而采用更低的電源電壓,以充分利用行業(yè)最新趨勢(shì)帶來的好處,。另一方面,,系統(tǒng)中的某些元器件需要更長的時(shí)間才能完成轉(zhuǎn)變。因此,,在轉(zhuǎn)變過程中,,系統(tǒng)中的某些元器件可能需要不同的供電電壓(如,在3.3V系統(tǒng)中存在5V器件,,反之亦然)。這給嵌入式設(shè)計(jì)人員帶來了一些設(shè)計(jì)方面的挑戰(zhàn),。一種解決方案是采用邏輯電平轉(zhuǎn)換器,,但采用電平轉(zhuǎn)換器并非成本效益最高的解決方案。本文將討論3.3V單片機(jī)(MCU)與5V外設(shè)接口的一些低成本設(shè)計(jì)思路。
如果要將5V設(shè)計(jì)轉(zhuǎn)為3.3V,,第一件事就是尋求電源為3.3V但其他性能相同的單片機(jī),。大多數(shù)情況下,都能找到支持3.3V電壓的同等器件,。而且,,基本上,3.3V器件的成本與之持平,,甚至更低,。如果找不到可運(yùn)行在3.3V條件下的替代器件,那么就必須采用雙電源了,。本文的重點(diǎn)就是討論采用雙電源供電的設(shè)計(jì),。
對(duì)于5V和3V器件共存的設(shè)計(jì),首先必須理解邏輯電平和輸入/輸出結(jié)構(gòu),。對(duì)于輸入,,需要考慮VIH(保證被檢測(cè)為高輸入的電壓)和VIL(保證被檢測(cè)為低輸入的電壓)。將3.3V系統(tǒng)連接到5V器件時(shí),,VIH 通常會(huì)比VIL帶來更大的問題,。當(dāng)然,這并不是說可以忽略VIL 參數(shù),。驅(qū)動(dòng)器件必須輸出高于接收器件VIH(min)值的電壓才能保證正確的邏輯檢測(cè),。但是,如果電壓太高也不好,。
幾乎所有CMOS器件在所有I/O引腳都采用了某種形式的ESD保護(hù),。實(shí)現(xiàn)ESD保護(hù)最常見的方法是采用箝位二極管將這些引腳連接到Vdd 和 Vss。這通常意味著最大輸入電壓為Vdd +0.3V,,最小輸入電壓為Vss - 0.3V,。如果電壓超出這一范圍,保護(hù)二極管就會(huì)導(dǎo)通,。如果輸入端沒有串聯(lián)電阻,,就會(huì)導(dǎo)致這些二極管通過極大電流,并有可能造成器件鎖死,。這肯定不是所希望發(fā)生的,。如果電壓足夠高(如3.3V系統(tǒng)中的5V輸入),那么串聯(lián)電阻必須非常大才能保證箝位電流處于安全范圍內(nèi),。如果電阻足夠大,,那么由于引腳電容和PCB布線而引起的低輸入容抗可能就會(huì)變得重要起來。RC時(shí)間常數(shù)會(huì)導(dǎo)致信號(hào)延遲,。許多生產(chǎn)商都建議不要使用箝位二極管實(shí)現(xiàn)ESD保護(hù),。因此,,采用串聯(lián)電阻并非將5V信號(hào)饋送到3.3V器件的最好方法。
讓我們看一下標(biāo)準(zhǔn)CMOS器件的邏輯電平,,大多數(shù)器件的VIH (min)都是0.7 Vdd或 0.8 Vdd,。而 VIL(max) 大致在0.2 Vdd或0.3 Vdd。對(duì)于5V邏輯,,對(duì)應(yīng)的VIH 為 3.5V或4.0V,,VIL(max) 為1.0V或1.5V。在低負(fù)載時(shí),,大多數(shù)CMOS器件的輸出都接近于電源電壓(0.1 或 0.2V),。隨著負(fù)載電流增加,VOH 會(huì)變低,。此時(shí),,確定VOH必須要考慮負(fù)載電流。
與串聯(lián)輸入電阻相比,,更好的方法是采用電阻分壓器將5V信號(hào)轉(zhuǎn)換到3.3V輸入范圍內(nèi)(見圖2),。電阻值的選擇必須考慮到所有公差。計(jì)算時(shí)可參考下面的公式:
R2/(R1 + R2)×VOH (min)>VIH(min) (輸入電壓為標(biāo)稱值5 V與最大負(fù)公差之和)
R2/(R1 + R2)×VOH (max)
在上述計(jì)算過程中還應(yīng)當(dāng)考慮到電阻值本身的公差,。
另一種更簡單的解決方案是采用兼容TTL輸入的5V器件,。TTL器件的VIH(min)是2.1V(Vdd為5V時(shí))。在大負(fù)載值條件下,,大多數(shù)3.3V器件可以支持更高的VOH電平,。此時(shí),解決方案是將外設(shè)器件更換為兼容TTL輸入的同等器件,。
應(yīng)該很容易就可以發(fā)現(xiàn)帶有TTL輸入的類似器件,。表1給出了一些例子。
如果正在使用必須采用5V供電的標(biāo)準(zhǔn)數(shù)字邏輯系列器件,,那么可以尋找支持TTL輸入的同等器件,。(如,可使用74HCT 系列代替74HC 系列,。)如果需要使用電平轉(zhuǎn)換器,,那么可使用“HCT”或“VHCT”型的數(shù)字緩沖器。在大多數(shù)情況下,,這一TTL輸入解決方案都比采用專用電平轉(zhuǎn)換器便宜,。
3.3V器件的VOH 電平一般比5V CMOS器件的VIH(0.7Vdd = 3.5V)稍低。一種簡單的解決方案是使用二極管來實(shí)現(xiàn)電壓轉(zhuǎn)換,。
上面的電路將輸出電壓增大了約0.6V,。從而正好將3.3V CMOS輸出電壓轉(zhuǎn)換到了5V CMOS輸入范圍內(nèi)。對(duì)于邏輯低電壓信號(hào)也進(jìn)行了同樣大小的轉(zhuǎn)換,。但,,CMOS輸入的 VIL (max)約為1.5V,,因此電壓轉(zhuǎn)換后的信號(hào)仍然滿足 VIL 參數(shù)的要求。對(duì)于這一配置,,需要考慮幾件事。當(dāng)3.3V器件輸出0邏輯電平時(shí),,電路的汲取電流也將增加,。因此應(yīng)當(dāng)仔細(xì)研究一下3.3V器件VOL 規(guī)范對(duì)電路灌電流的限制。通常,,灌電流越大,,VIL就越高。因此需要小心不要違反VIL參數(shù)要求,。如果CMOS 輸出VOL過高,,則必須考慮加大上拉電阻值。如果電阻太大,,二極管偏置電流會(huì)變低,,從而導(dǎo)致二極管的開關(guān)速率降低。
Microchip新推出的16位PIC24系列單片機(jī)提供了可簡化5V接口的獨(dú)特功能,。該系列單片機(jī)的輸入引腳可承受 5V(或 5.5V)電壓,,即使器件正常情況下運(yùn)行在3.3V或更低的Vdd電壓下。這些輸入引腳不需要連接到Vdd的箝位二極管,,而是采用了不同的ESD保護(hù)機(jī)制,。對(duì)于5V接口來說,這是非常重要的特性,,因?yàn)檫@樣不需要電阻分壓器就可以直接將5V輸出連接到3.3V器件,。讓我們回到圖3的例子,可見添加了這一功能即可實(shí)現(xiàn)無縫的5V接口,。
有些單片機(jī)產(chǎn)品還進(jìn)一步增強(qiáng)了這一功能,,提供了通過外部5V上拉電阻產(chǎn)生5V輸出的能力。3.3V器件驅(qū)動(dòng)3.3V輸出,,但能承受5V的輸入,。這些引腳提供數(shù)字控制的漏極開路輸出,使您可以選擇將引腳上拉到5V,,而不會(huì)違反任何規(guī)范,。這一功能支持通過CMOS輸入與5V器件方便地接口。
當(dāng)采用上拉電阻配置(見圖6)時(shí),,需要考慮兩個(gè)器件間的連接電容,,從而確定端口引腳處信號(hào)的上升/下降速率(和最大開關(guān)頻率),以及適用的電阻值,??紤]下面的公式:
其中 τ = RC 時(shí)間常數(shù),,R×C
PVdd = 外設(shè)電壓Vdd
PVih(min) = 外設(shè)的 Vih(min) 值
如果使用下述典型值:
上拉電阻 R = 1K
電容 C(由于引腳和PCB電容) = 10pF
PVdd = 5V
PVih(min) = 0.7×Vdd = 3.5V
則上升/下降時(shí)間≈12nS
如果可接受的最小上升/下降脈沖的時(shí)間寬度50nS,那么最大的輸出頻率為20MHz,。對(duì)于大多數(shù)外設(shè)互連來說,,這已經(jīng)足夠了。
這種方法有一個(gè)缺點(diǎn)就是當(dāng)MCU驅(qū)動(dòng)邏輯低電平時(shí),,會(huì)通過上拉電阻消耗額外的電流,。因此設(shè)計(jì)時(shí)需要考慮速度和電流大小兩個(gè)因素折衷選擇上拉電阻。需要為您的應(yīng)用選擇一個(gè)折衷的電阻值來提供所需的速度并且確保消耗的電流不超出規(guī)范,。
有些人可能認(rèn)為不能采用這類配置來驅(qū)動(dòng)低阻抗負(fù)載,。如果希望驅(qū)動(dòng)一個(gè)5V的繼電器,那么應(yīng)當(dāng)怎么做,?幸運(yùn)的是,,對(duì)于驅(qū)動(dòng)繼電器這樣的低阻抗負(fù)載,上述特性也有幫助,。從圖7了解電路配置信息,。要驅(qū)動(dòng)此類負(fù)載,需要將引腳定義為輸出并驅(qū)動(dòng)為低電平,。這里,,唯一的限制因素是器件的灌電流能力。要關(guān)斷負(fù)載,,將引腳定義為輸入就可以了,。關(guān)斷負(fù)載會(huì)將5V電壓直接饋入輸入引腳。由于引腳可以承受5V電壓,,因此這一操作是正確的,。換句話說,需要保持輸出鎖存器為邏輯低,,并通過切換TRIS(輸入/輸出控制寄存器)來使負(fù)載接通/關(guān)斷,。
本文介紹了橋接由5V和3.3V供電的電路的有效方法。這些方法完全可以和轉(zhuǎn)換階段橋接由不同電壓供電的電路的低成本智能解決方案媲美,。同時(shí),,大多數(shù)器件很可能會(huì)很快轉(zhuǎn)向使用更低的電源,從而不再需要進(jìn)行電路橋接,。本文給出的方法對(duì)于充分利用半導(dǎo)體行業(yè)的最新發(fā)展趨勢(shì)以及降低系統(tǒng)成本肯定會(huì)有所幫助,。