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