文獻標識碼: A
文章編號: 0258-7998(2013)04-0052-03
近年來,直接數(shù)字合成DDS(Direct Digital Synthesis)[1]技術(shù)飛速發(fā)展,同時也得到了廣泛的應用?;贒DS技術(shù)的信號發(fā)生器,其信號頻率和相位的調(diào)節(jié)一般是通過頻率控制字和相位控制字進行控制,而幅值的調(diào)節(jié)有多種方法。本文介紹了信號發(fā)生器幅值調(diào)節(jié)的一種新方法,即通過控制D/A芯片THS5661的參考電壓來實現(xiàn)信號幅值的調(diào)節(jié)。
D/A是數(shù)字信號通向模擬信號的橋梁,在現(xiàn)代控制、通信及檢測領(lǐng)域得到了廣泛的應用,尤其在信號發(fā)生器中起著舉足輕重的作用。本文通過兩個THS5661芯片(D/A(1)和D/A(2))完成信號發(fā)生器信號的數(shù)/模轉(zhuǎn)換和幅值調(diào)節(jié)。其中,D/A(1)實現(xiàn)信號的數(shù)/模轉(zhuǎn)換;D/A(2)輸出不同幅值的電壓信號,將該電壓信號輸入D/A(1)的參考電壓端,作為D/A(1)的參考電壓。這樣通過微控制單元MCU(Micro Control Unit)與D/A(2)的數(shù)字量通信來改變D/A(2)的輸出幅值,從而改變D/A(1)的參考電壓,最終實現(xiàn)信號發(fā)生器幅值的調(diào)節(jié)[2]。信號發(fā)生器輸出信號的頻率和相位通過MCU控制FPGA實現(xiàn),該方案簡單易行,調(diào)節(jié)方便。
1 系統(tǒng)硬件設(shè)計
1.1 硬件整體設(shè)計
系統(tǒng)硬件整體原理框圖如圖1所示。MCU產(chǎn)生調(diào)幅控制字,通過串行的方式輸入串/并轉(zhuǎn)換器中,并將控制字鎖存,串/并轉(zhuǎn)換器的使用可以節(jié)約MCU的I/O資源,還可以給D/A(2)一個穩(wěn)定的調(diào)幅信號,使其穩(wěn)定運行。調(diào)幅控制字使調(diào)幅D/A(2)產(chǎn)生一定的電壓信號并輸入到D/A(1)的參考電壓端,該參考電壓控制著波形幅值的大小,從而實現(xiàn)信號發(fā)生器幅值的調(diào)節(jié)。
FPGA實現(xiàn)DDS,由MCU控制信號波形控制字、頻率控制字和相位控制字的輸入,使DDS產(chǎn)生數(shù)字信號,該數(shù)字信號通過D/A(1)轉(zhuǎn)換成模擬信號,再經(jīng)過放大電路和低通濾波[3]等調(diào)理電路最終實現(xiàn)幅度、波形、頻率和相位均可調(diào)的信號發(fā)生器。
1.2 D/A參考電壓調(diào)幅原理
本系統(tǒng)采用兩個12 bit D/A芯片THS5661實現(xiàn)信號的數(shù)/模轉(zhuǎn)換和幅度調(diào)節(jié)[4]。THS5661是一款12 bit高速低功耗芯片,可輸入0~5 V的外部參考電壓。如圖2所示,數(shù)字信號是由FPGA產(chǎn)生,通過FPGA_OUT端輸入到D/A(1),調(diào)幅信號是由MCU控制,通過串/并轉(zhuǎn)換器將調(diào)幅信號鎖存并輸入D/A(2),串/并轉(zhuǎn)換器采用12 bit串行通信鎖存器M66320。整個系統(tǒng)在MCU的控制下,就能夠產(chǎn)生幅值可調(diào)的信號。理論上,D/A(1)的參考電壓在0~5 V之間變化時,波形幅度也會相應地發(fā)生變化。而D/A(2)輸入一個恒定的5 V參考電壓,這樣通過MCU調(diào)幅控制字的輸入和D/A(2)后端模擬信號的調(diào)理電路就可以產(chǎn)生-5 V~+5 V范圍內(nèi)變化的電壓信號,其零點對應數(shù)字量為2 048。取其0~5 V(對應數(shù)字量為2 048~4 095)之間的電壓控制D/A(1)的參考電壓來完成波形幅度的調(diào)節(jié)。
通過D/A的參考電壓來調(diào)節(jié)信號幅度,需要D/A(1)和D/A(2)的有機結(jié)合。在系統(tǒng)運行過程中,D/A(2)最終輸出的電壓信號直接影響著D/A(1)的信號輸出。由圖2可以看出,D/A(2)輸出的電流信號經(jīng)過后續(xù)調(diào)理電路轉(zhuǎn)換成了電壓信號,其表達式為:
2 系統(tǒng)軟件設(shè)計
2.1 FPGA軟件設(shè)計
如圖3所示為FPGA的頂層文件。其中,MCUInter-Face為MCU接口控制模塊,DDSCore為DDS核心模塊[6],PPL為鎖相環(huán)[7]。MCUInterFace的輸入接口ALE、RST、WR、P0[7..0]和P1[4..0]與MCU的I/O口連接,MCU通過一定的時序向MCUInterFace輸入DDS的頻率控制字、相位控制字和波形控制字,經(jīng)MCUInterFace轉(zhuǎn)換后將相應的控制字輸入到DDSCore中,從而實現(xiàn)DDS頻率、相位和波形的控制。MCUInterFace模塊可減少MCU I/O口的使用,節(jié)省MCU的I/O資源。
本系統(tǒng)最終實現(xiàn)指標如下:
(1)波形:正弦波、方波、三角波、鋸齒波等任意波。
(2)幅度:范圍0~±5 V,分辨率0.1 V。
(3)頻率:范圍0~1 MHz,分辨率0.993 Hz。
(4)相位:分辨率π/512。
本文給出了一種幅度可調(diào)信號發(fā)生器的設(shè)計方法。通過調(diào)節(jié)D/A芯片的參考電壓,實現(xiàn)了信號幅度的調(diào)節(jié),該方法簡單易行,控制方便。系統(tǒng)軟件采用C語言和VHDL語言在IAR Embedded Workbench 5.40和QuartusⅡ 6.0開發(fā)環(huán)境中進行軟件設(shè)計。最終實現(xiàn)了幅度可調(diào)的信號發(fā)生器。在電氣安全測試方面,該系統(tǒng)已在人體感知電流閾值測試中得到了應用。
參考文獻
[1] 胡繼勝,李洪.基于SoPC/NIOS Ⅱ的信號發(fā)生器設(shè)計與實現(xiàn)[J].電子技術(shù)應用,2011,37(6):91-94.
[2] 張建民.基于單片機的低頻任意信號發(fā)生器[J].信息化研究,2009,35(7):12-15.
[3] 袁輝.基于FPGA的數(shù)字信號發(fā)生器的設(shè)計與實現(xiàn)[J].電子技術(shù)應用,2011,37(9):67-69,73.
[4] 張有志,張鹍.基于FPGA的幅值可調(diào)信號發(fā)生器設(shè)計[J].電子設(shè)計工程,2011,19(9):115-117.
[5] 趙艷華,曹丙霞,張睿,等.基于QuartusⅡ的FPGA/CPLD設(shè)計與應用[M].北京:電子工業(yè)出版社,2009.
[6] 楊會成.基于FPGA的直接數(shù)字頻率合成信號發(fā)生器的設(shè)計[J].安徽工程科技學院學報,2005,20(3):4-6.
[7] 張文濤,胡景春.高精度信號發(fā)生器的研究及其硬件設(shè)計[D].南昌:南昌航空大學,2009.
[8] 黃立新.基于單片機控制的數(shù)字函數(shù)信號發(fā)生器的設(shè)計與實現(xiàn)[J].科學技術(shù)與工程,2009,9(12):3278-3287.
[9] 張永瑞,劉振起,楊林耀,等.電子測量技術(shù)[M].西安:西安電子科技大學出版社,2009.