基于單片機(jī)AVR Butterfly的多功能電源設(shè)計(jì)
0 引 言
隨著嵌入式系統(tǒng)設(shè)計(jì)技術(shù)的發(fā)展,在設(shè)計(jì)和仿真中,系統(tǒng)工程師對(duì)電源的要求也越來(lái)越高。在嵌入式系統(tǒng)設(shè)計(jì)是使用8031單片機(jī)和74系列集成電路時(shí),所有使用74系列集成電路的電路板都使用單一的5 V電源供電就可以了。當(dāng)時(shí)的供電電源部分不是一個(gè)需要太多注意的單元,基本上5 V的電源能滿足所有的數(shù)字集成電路設(shè)計(jì)的需要。而近幾年來(lái),隨著技術(shù)的發(fā)展,集成電路里的三極管變得越來(lái)越小并且工作的電壓越來(lái)越低,使得嵌入式系統(tǒng)開(kāi)發(fā)的重點(diǎn)從系統(tǒng)的速度,轉(zhuǎn)到低功耗設(shè)計(jì)上。因此在同一個(gè)嵌入式系統(tǒng)中,存在多種不同電壓的電源供電,從低于1 V到高于5 V都存在。而且在系統(tǒng)的穩(wěn)定性和可靠性測(cè)試時(shí),還要模擬不同的電源故障情況下,比如掉電等,嵌入式系統(tǒng)的穩(wěn)定性和可靠性,這也需要用不同的電源來(lái)模擬。
1 電源系統(tǒng)結(jié)構(gòu)
在本文中,提出了一種基于AVR Butterfly的電源設(shè)計(jì),能夠很好地完成嵌入式系統(tǒng)的供電和系統(tǒng)的測(cè)試要求。電源系統(tǒng)的結(jié)構(gòu)如圖1所示。
2 硬件設(shè)計(jì)
系統(tǒng)由兩種電源電壓供電,主電源電壓12 V,給目標(biāo)系統(tǒng)和Butterfly(通過(guò)一個(gè)3.3 V線性穩(wěn)壓器)提供足夠的電流,另一個(gè)電源電壓-5 V是用來(lái)給功率放大器提供負(fù)電壓的。主模塊是線性穩(wěn)壓電源,一個(gè)10 b的DAC控制該電壓,該模塊的輸出接入電流檢測(cè)模塊,然后從輸出端輸出。
如圖2所示,電源的主要部分是LM723穩(wěn)壓電源,它的參考電壓受外部干擾小,而且短路保護(hù)時(shí),它的輸出電壓為0。LM723輸出電壓的范圍是2~37 V之間。若要LM723輸出電壓大于2 V,V-引腳可以直接接地,但是為了能夠使輸出電壓達(dá)到0 V,V-引腳應(yīng)該接至少應(yīng)為-0.4 V的負(fù)電壓,有多種方法能夠達(dá)到這種要求,一個(gè)是使用倒相器把正電壓轉(zhuǎn)換為負(fù)電壓,但是這樣會(huì)引入噪聲干擾,由LM273的技術(shù)手冊(cè)和它內(nèi)部的結(jié)構(gòu)可知,LM237的參考電壓與V-引腳的電壓直接相關(guān),這個(gè)引腳的電壓必須穩(wěn)定,而且不能有干擾,因此在這里采用另一種方法來(lái)得到合適的電壓,如圖2所示,在電路中,VREF=1.28 V是由U2A,R19,R5和R6從LM723的參考電壓得到,它被功放U2B,R1,R2倒相,在節(jié)點(diǎn)VM256=-2.56 V,這就是完成了一個(gè)到VREF的負(fù)反饋,部分地補(bǔ)償了由于溫度對(duì)電壓的影響,使得參考電壓穩(wěn)定,這里的R19是可調(diào)電阻,可以控制VM256點(diǎn)的電壓到一個(gè)合適的值,使得LM723的輸出的基準(zhǔn)電壓可以微調(diào)。
TC1321DAC連接到LM732的IN引腳上,用來(lái)設(shè)置輸出電壓,TCl321有10位的分辨率,2.7~5.5 V輸出電壓,積分微分線性度并且輸出電壓的偏移量小于8 mV,該DAC是由Butterfly內(nèi)部的CPU通過(guò)I2C總線控制的。它的參考電壓VREF=1.28 V。DAC的輸出電壓通過(guò)一個(gè)簡(jiǎn)單的低通濾波器(由R7和Cs構(gòu)成),目的是使得輸出電壓平滑,去除毛刺。
由于許多電子設(shè)備不能在反相電壓下工作,于是在該電源設(shè)計(jì)中有電壓偏置糾正電路,如圖3所示,由R20,R9,R10,R18和U2D構(gòu)成電壓反饋電路,在電源剛剛啟動(dòng)時(shí)(這時(shí)的DAC的輸出是0),這部分電路能夠消除負(fù)電壓輸出。這里是用電路來(lái)完成,沒(méi)有使用在軟件中加一個(gè)常數(shù)給DAC的方法,這是因?yàn)槠屏靠赡苁钦担谲浖蠨AC的常數(shù)就應(yīng)該是一個(gè)負(fù)值來(lái)糾正,而這種方法不起作用,因?yàn)镈AC只在無(wú)符號(hào)數(shù)下工作。
二極管D1給供電電路提供了保護(hù)使得輸出電壓不會(huì)低于-0.7 V。在電源的輸出端,有一個(gè)1μF的電容,是用來(lái)防止電路的自激振蕩,這個(gè)電容值不能太大,如果太大電源的輸出響應(yīng)會(huì)變慢,CPU控制電源的速度降低了。三極管Q1用來(lái)放大LM723的電流輸出,Q1耗散的多余功率P=(VIN-VOUT)×IOUT。
電阻R14設(shè)置了LM723的電流門(mén)限,當(dāng)R14上的電壓達(dá)到0.65 V時(shí),輸出電壓由微分放大器U2C鉗制,此時(shí)R14上的電壓被微分放大器放大,電壓與輸出電流的比是1 V/1 A。電壓放大到5.6 V/A以適應(yīng)Butter-fly的VIN測(cè)量電路的測(cè)量要求。電源的控制部分是Butterfly,結(jié)構(gòu)如圖3所示,它有良好的用戶界面,有五通道的控制桿和六字符的LCD許多外圍設(shè)備連接著微控制器,比如揚(yáng)聲器、數(shù)據(jù)閃存、一個(gè)NTC電熱調(diào)節(jié)器、一個(gè)光敏傳感器和一個(gè)RS 232通信端。所有的外圍接口都能用來(lái)擴(kuò)展系統(tǒng)的功能?,F(xiàn)在,在這個(gè)電源設(shè)計(jì)中使用到LCD、控制桿、JTAG、ADC、USI(用I2C驅(qū)動(dòng)DAC)和一電流保護(hù)指示LED。
DAC(U3)和Butterfly模塊使用HT7533-1線性降壓穩(wěn)壓電源供電,該電源不會(huì)有高電壓輸出。為了避免噪聲對(duì)電源精度的影響,電路中所有的“地”都連接到電路板上的一點(diǎn)上,并且信號(hào)“地”也連接到同一點(diǎn)上。
3 軟件設(shè)計(jì)
軟件的結(jié)構(gòu)圖如圖4所示,基于Martin Thomas的Butterfly演示版代碼的GCC接口設(shè)計(jì)。CPU的工作頻率設(shè)定為8 MHz,因?yàn)樵诔绦蛑幸玫礁↑c(diǎn)運(yùn)算,但在電源設(shè)計(jì)中不需要,所以省電模式都未使用。AT-mega169的ADC在每一次轉(zhuǎn)換時(shí)都會(huì)發(fā)出中斷請(qǐng)求,電流保護(hù)的優(yōu)先級(jí)高于其他進(jìn)程,ADC的取樣來(lái)自8次輸入的平均值,以消除毛刺,不至于觸發(fā)錯(cuò)誤的過(guò)流保護(hù)。ADC的一些匹配的常量值在測(cè)量電路的參數(shù)后再在軟件中設(shè)置。
4 校 準(zhǔn)
因?yàn)橐鳛闇y(cè)試用的信號(hào)源使用,所以電源在使用之前必須校準(zhǔn)。校準(zhǔn)包括兩部分,硬件校準(zhǔn)和軟件設(shè)置,在這個(gè)過(guò)程中,需要對(duì)Butterfly的程序進(jìn)行改寫(xiě)和重新編譯。
斷開(kāi)Butterfly與電源電路的連接,正確連接電源電路后,給電路上電,測(cè)量電壓VPLUS(12 V),VMINUS(-5 V),VCC(3.3 V),VREF(1.28 V)和VM256(-2.56 V),這些值應(yīng)該接近括號(hào)中的值,不必與之完全一致。然后,調(diào)節(jié)微調(diào)電阻R19調(diào)整電壓VREF到1.28 V。調(diào)整后,斷電連接Butterfly和電路中的其他部分,然后上電。
因?yàn)橐c硬件一起進(jìn)行設(shè)置,所以在軟件中的相關(guān)文件中設(shè)置一個(gè)初始值,以便于后面的校準(zhǔn),在文件DAC.h中:
編譯代碼并寫(xiě)入Butteterfly后,輸出的電壓通過(guò)菜單設(shè)置為零,通過(guò)調(diào)節(jié)微調(diào)電阻R20輸出電壓調(diào)節(jié)為零。校零完成。
為了計(jì)算V2CODECONST(VOUT=1 V)時(shí)的值,在Butterfly的菜單上輸入一個(gè)VSET電壓,如4 V,然后測(cè)量VOUT并且計(jì)算出實(shí)際的常量:
輸出電路置為開(kāi)路(此時(shí)的電流輸出應(yīng)為0),此時(shí)電源的顯示值記為I0DISP,使用如下公式:
計(jì)算CURCODEOFFSET。
下一步,按照新的常量值給Butterfly重新編程,為了計(jì)算CODE2CURCONST的值,設(shè)置一個(gè)預(yù)設(shè)電壓值VSET,比如5 V,并且連接一個(gè)已知的準(zhǔn)確電阻RLOAD大約在47 Ω左右(電流在100 mA左右),記下此時(shí)LCD上電流的顯示值IDISP,用下面的公式計(jì)算:
然后在ADC.H中修改此常量值并且重新編譯程序,校準(zhǔn)完成。
該電源同其他高級(jí)電源一樣,具有短路保護(hù)和過(guò)載保護(hù)功能,而且在顯示器顯示電壓電流、功耗,能夠精確地模擬主電源,用來(lái)測(cè)試目標(biāo)系統(tǒng)在各種不同電源故障下的性能,比如電壓下降、電壓周期下降、電源線上的干擾等。
5 結(jié) 語(yǔ)
由于AVR Butterfly提供了豐富的外部接口,使得設(shè)計(jì)控制電路的過(guò)程非常簡(jiǎn)單,而且在這個(gè)設(shè)計(jì)中,只使用了有限的幾個(gè)接口,還有一些接口可以用來(lái)擴(kuò)展該電源的功能,例如,使用RS 232串行接口,把智能電源與PC機(jī)連接,在PC機(jī)上就能夠?qū)崟r(shí)反映電源的工作狀態(tài)。、
評(píng)論