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