文献标识码: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.