文章編號:1003-6199(2011)04-0077-04
摘 要:介紹一種幅值和頻率都連續(xù)可調(diào)的任意波形電源,針對電磁閥性能檢測而設(shè)計,具有較好的穩(wěn)定性、精確性、安全性和快速啟動性,可以瞬間輸出10 A電流。以單片機為控制系統(tǒng),控制DDS模塊產(chǎn)生1 Hz~10 KHz的波形信號,控制放大模塊對其進行幅值和功率放大,得到0 V~40 V的波形信號,作為電源的最終輸出。
關(guān)鍵詞:任意波形發(fā)生器;FPGA;DDS;流水線結(jié)構(gòu);AD7541
中圖分類號: TP216 文獻標識碼:A
Design of Arbitrary Waveform Power Supply
AI Kaiwen HU Yuiming SHEN Runxia
(College of Electrical Engineering,Guangxi University,Nanning 530004,China)
Abstract:In this paper,a arbitrary waveform power supply is introduced,which frequency and voltage is continuously controllable,and which is designed to detect the performance of a solenoid.The power supply is stability,accuracy,security,it can fast startup and output a current about 10 AMP immediately.A singlechip is used as control system to control both the DDS module and the Magnifing module.The DDS module generate a signal with the frequency from 1Hz to 10KHz,and the Magnifing module magnify the amplitude and power of the signal,then a signal with amplitude from 0V to 40V is generated,finally the signal is used as the output of the power supply.
Key words:arbitrary waveform generator;FPGA;DDS;pipeline architecture;AD7541
1 引 言在工業(yè)生產(chǎn)中,往往需要一些特定的電信號來檢測產(chǎn)品的性能或者檢測機器的故障,這些信號的波形、幅值、頻率要求在一定范圍內(nèi)連續(xù)可調(diào)。例如電磁閥,一種在冶金、化工、機械、電力等都廣泛使用的控制流體方向的自動化基礎(chǔ)元件,其可靠性和安全性非常重要,需要使用特定的電信號對電磁閥的啟動、長時間工作穩(wěn)定度、瞬間工作特性等整體性能進行測試。信號發(fā)生器在電子技術(shù)領(lǐng)域廣泛應(yīng)用于電子電路、自動控制和科學(xué)實驗等,通常我們使用信號發(fā)生器來產(chǎn)生這些信號,但國內(nèi)電子儀器市場上的任意信號發(fā)生器價格昂貴。
因此針對電磁閥性能的檢測,而設(shè)計一種幅值在0V~40V連續(xù)可調(diào),頻率在1Hz~10KHz連續(xù)可調(diào)的任意波形信號電源。電源的最大輸出電流為10A,最大輸出功率為400W。電源還需要承載瞬間輸出大電流,需要長時間高功率的穩(wěn)定工作。
2 系統(tǒng)結(jié)構(gòu)和原理簡介
采用AT89C52單片機做系統(tǒng)的控制部分,控制波形信號的幅值、頻率和相位。主要功能模塊是波形信號產(chǎn)生電路和波形信號放大電路。外圍設(shè)備有E2PROM、按鍵開關(guān)組、LCD顯示器,分別用來存儲、改變和顯示當前幅值、頻率和相位。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
系統(tǒng)的工作原理是單片機根據(jù)開關(guān)組得到鍵值,控制波形信號產(chǎn)生模塊產(chǎn)生對應(yīng)頻率和相位的波形信號,波形由PC機控制;同時控制波形信號放大模塊改變波形信號的幅值,得到任意波形信號。另外,波形放大模塊還有放大功率的作用,由輔助電源提供功率,使之可以直接驅(qū)動負載,承載瞬間的大電流沖擊。
3 系統(tǒng)硬件設(shè)計
硬件的核心部分是由單片機控制的波形信號產(chǎn)生模塊和波形信號放大模塊組成。波形信號產(chǎn)生模塊由FPGA、DAC轉(zhuǎn)換器、低通濾波器構(gòu)成。
31 使用FPGA實現(xiàn)DDS
相比專用的DDS芯片功耗大、價格高,且只能產(chǎn)生固定的波形信號,F(xiàn)PGA除克服上述缺點外,還具有高速度、高分辨率、低失真度、帶寬大等優(yōu)點,非常適合于設(shè)計檢測儀器儀表。
使用FPGA構(gòu)成直接數(shù)字頻率合成器(DDS)[1-2]的數(shù)字控制振蕩器NCO,用于產(chǎn)生數(shù)字波形信號,然后通過DAC轉(zhuǎn)換為模擬波形信號,最后通過低通濾波器輸出平滑的波形信號,如圖2所示。
數(shù)字控制振蕩器NCO主要由相位累加器A[3-4]、兩個加法器、波形ROM構(gòu)成。輸入量freq和phase分別為32位頻率控制字和32位相位控制字,相位累加器A在每個時鐘clk周期內(nèi)對頻率控制字freq進行線性累加,如公式(1);然后加上相位控制字phase得到一個相位值result,如公式(2);根據(jù)此相位值作為ROM的尋址地址,得到數(shù)字波形信號的幅度Dout。
A=freq+A(1)
result=A+phase (2)
由于相位累加器的字長為32位,DDS的最終輸出頻率f=fclk*freq/(232),時鐘clk的頻率fclk為200MHz,那么freq=21.474836*f,輸出頻率f的分辨率為200M/(232)Hz=0.047Hz。
32 使用流水線結(jié)構(gòu)[5]的相位累加器
公式(1)和公式(2)是2個32位的加法。如果用級聯(lián)結(jié)構(gòu)的32位加法來實現(xiàn),完成一次加法運算的過程中,高一位的加法必須先等低一位的加法運算完畢得到進位才可以進行,這樣2個32位加法運算的延遲時間將會是64個1位加法運算的延遲時間總和。為了縮短延遲時間,本設(shè)計采用流水線技術(shù)實現(xiàn)32位的加法,將32位的數(shù)據(jù)分成4段8位的數(shù)據(jù),將2個32位的加法分成8個8位的加法進行,每一個加法器都在時間上相對獨立且同時進行,這樣的加法運算延遲時間只是8個1位加法運算的延遲時間總和。該流水線結(jié)構(gòu)如圖3所示,有六級流水結(jié)構(gòu),有1個64位寄存器r1,1個65位寄存器r2,1個58位寄存器r3,1個50位寄存器r4,,1個42位寄存器r5,1個33位寄存器r6,一個32位累加寄存器A,8個8位全加器,如圖3所示。這種結(jié)構(gòu)需要六個時鐘周期等待,之后每個時鐘周期都會輸出加法結(jié)果,也就是輸出波形有6個周期的延時。
(其中,圖中方框代表8位寄存器,長方框代表1位寄存器,內(nèi)含加號的梯形代表8位加法器)
整個流水線的工作過程為:當DDS開始工作或者復(fù)位時,相位累加器A中的數(shù)據(jù)清零,流水線開始工作,有如下6個過程:
1)第一級流水線將freq和phase按{phase[31:24],freq[31:24],phase[23:16],freq[23:16],phase[15:8],freq[15:8], phase[7:0],freq[7:0]}這種順序賦給寄存器r1。
2)第二級流水線將累加器A[7:0]與r1中原freq[7:0]相加得到新的A[7:0]和進位i1,并賦給r2[8:0],r1中剩下的數(shù)據(jù)直接賦給r2。
3)第三級流水線將累加器A[7:0]與r2中原phase[7:0]相加得到result[7:0]和進位i2,并賦給r3[8:0],將累加器A[15:8]與r2中原freq[15:8]和進位i1相加得到新的A[15:8]和進位i3,并賦給r3[17:9],r2中剩下的數(shù)據(jù)直接賦給r3。
4)第四級流水線將累加器A[15:8]與r3中原phase[15:8]和進位i2相加得到result[15:8]和進位i4,并賦給r4[16:8],將累加器A[23:16]與r3中原freq[23:16]和進位i3相加得到新的A[23:16]和進位i5,并賦給r4[25:17],r3中剩下的數(shù)據(jù)直接賦給r4。
5)第五級流水線將累加器A[23:16]與r4中原phase[23:16]和進位i4相加得到result[23:16]和進位i6,并賦給r5[24:16],將累加器A[31:24]與r4中原freq[31:24]和進位i5相加得到新的A[31:24]和進位i7,并賦給r5[33:25],r4中剩下的數(shù)據(jù)直接賦給r5。
6)第六級流水線將累加器A[31:24]與r5中原phase[31:24]和進位i6相加得到result[31:24]和進位i8,并賦給r6[31:24], r5中剩下的的數(shù)據(jù)直接賦給r6。r6[31:0]就是我們的最終結(jié)果result[31:0]。
使用ModelSim仿真軟件,該流水線技術(shù)DDS的仿真波形圖如圖4所示,其中ROM表中的波形是正弦波。
33 DAC轉(zhuǎn)換模塊
DAC采用12位并行數(shù)模轉(zhuǎn)換器AD7541,采用雙極性輸出方式,輸出公式為V= VREF-VREF*NB/211。其中,VREF為輸入基準電壓,NB為數(shù)字輸入量(取值范圍為0至212-1)。VREF取2.048V,V的取值區(qū)間為[2.048,-2.047]V,精度為0.001V。為了使上下對稱,控制NB的取值范圍為1至212-1,那么V的取值區(qū)間為[2.047,-2.047]V,再通過反相比例放大電路,將電壓反向放大1/2.047倍,最終信號輸出在[-1,1]V之間,精度為0.0005V。
34 ROM中波形數(shù)據(jù)的采集
在MATLAB中生成ROM中的波形數(shù)據(jù),數(shù)據(jù)以.mif格式存儲,然后通過PC機下載到FPGA的ROM中。
假設(shè)周期波形的函數(shù)為f(x),求出函數(shù)的周期T,那么f(x)=f(x+T),求出函數(shù)f(x)的絕對值函數(shù)|f(x)|的最大值MAX,那么f(x)的取值區(qū)間為[-MAX,MAX]。ROM表的尋址地址是14位,那么一共需要在[0,T)上等間隔采集214(16384)個數(shù)據(jù),,而DAC是12位的數(shù)模轉(zhuǎn)換器,那么每個數(shù)據(jù)需要一一映射到12位DAC轉(zhuǎn)換器的12位數(shù)據(jù)上,映射形式如表格1所示。
35 波形信號放大模塊
波形信號放大模塊是一個上下對稱的電路,上半部分為正信號放大,截止負信號,下半部分為負信號放大,截止正信號。電路通過分壓電阻R1、R2將信號送給電壓比較器,通過電壓負反饋[6-7]將信號反饋給輸出,輸出電壓Vout的計算公式為:
Vout=Vin*R2/R1 (3)
其中,R2采用一個數(shù)控電位器X9313W和一個數(shù)控電位器X9313U串聯(lián),編程控制R9的取值范圍為[323,12920]歐姆,步進為323歐姆,R1的值為3230歐姆,那么Vout將為輸入信號的[0.1,40]倍,精度為0.1倍。
使用Pspice對該電路進行仿真:輸入Vin為1Hz的正弦信號,當放大倍數(shù)分別是1、5、10、20、40時,輸出信號Vout的仿真波形圖如圖5所示。
4 結(jié) 論
使用FPGA來替代傳統(tǒng)的DDS芯片,具有高分辨率、低失真度、低功耗等優(yōu)點。采用流水線的相位累加器可以進一步增加輸出頻率的精度。FPGA的ROM中的數(shù)據(jù)可以根據(jù)實際情況進行更改,體現(xiàn)了電路的靈活性。使用并行DAC,保證數(shù)據(jù)的轉(zhuǎn)換速度,保證電路在高頻時信號不延時或失真。
參考文獻
[1] 劉暢,李智.基于FPGA的任意波形發(fā)生器的設(shè)計[J] .微計算機信息,2010,2:131-132.
[2] M Y Chua , V C Koo. FPGA-based chirp generator for high resolution UAV SAR[J]. Progress In Electromagnetics Research, 2009,99:71-88.
[3] 鐘文峰,胡永忠.基于FPGA的頻率合成器的實現(xiàn)[J] .科技信息,2010,23:111-113.
[4] Kesoulis M J, Koukourlis C S, Lygouras J N. Design and implementation of a DDSbased multicarrier GMSK modulator [J] . International Journal of Communication Systems,2009,8:971-987.
[5] 李輝.基于FPGA的數(shù)字系統(tǒng)設(shè)計[M] .西安:西安電子科技大學(xué)出版社,2008.11.
[6] 倪本來.高穩(wěn)定度電源[M] .北京:人民郵電出版社,1982.12.
[7] [日]互川治郎.實用電源電路設(shè)計[M] .北京:科學(xué)出版社,2006.1.
收稿日期:2011-10-18
基金項目:廣西研究生教育創(chuàng)新計劃資助項目(GXU11T32521)
作者簡介:艾凱文(1986—),男,江西吉安人,碩士研究生,研究方向:智能自動化(E-mail:akwkevin@126.com);胡桂明(1961-),男,廣西桂林人,副教授,博士,碩士生導(dǎo)師,研究方向:智能優(yōu)化控制和智能信息處理。