您现在的位置: 主页 > 电子技术 > EDA > 基于FPGA的DDS信号发生器设计 -
本文所属标签:
为本文创立个标签吧:

基于FPGA的DDS信号发生器设计 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-09 

[导读]摘要:利用FPGA芯片及D/A转换器,采用直接数字频率合成技术,设计并实现了一个频率、幅值可调的信号发生器,同时阐述了该信号发生器的工作原理、电路结构及设计思路。经过电路调试,输出波形达到技术要求,证明了该信

摘要:利用FPGA芯片及D/A转换器,采用直接数字频率合成技术,设计并实现了一个频率、幅值可调的信号发生器,同时阐述了该信号发生器的工作原理、电路结构及设计思路。经过电路调试,输出波形达到技术要求,证明了该信号发生器的有效性和可靠性。

本文引用地址: http://www.21ic.com/app/eda/201412/609179.htm

0 引言

信号发生器作为一种基本电子设备广泛的应用于教学、科研中,因此从理论到工程对信号的发生进行深入研究,有着积极的意义。随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟,利用DDS原理在FPGA平台上开发高性能的多种波形信号发生器与基于DDS芯片的信号发生器相比,成本更低,操作更加灵活,而且还能根据要求在线更新配置,系统开发趋于软件化、自定义化。本文研究了基于FPGA的DDS信号发生器设计,实现了满足预定指标的多波形输出。可产生不同频率、幅度的正弦波、三角波、矩形波信号,仿真和实测结果均证实了其灵活性和可靠性。

1 函数信号发生器的原理和设计

1.1 函数信号发生器的结构

图1为DDS信号发生器系统结构框图。系统以FPGA芯片为信息处理核心,主要完成数字频率合成、D/A转换、选择滤波、功率放大、LCD显示等功能。

基于FPGA的DDS信号发生器设计

频率控制字M送入32位的累加器进行累加运算,截取32位累加器的第24到第30位作为ROM的地址,ROM在累加器的控制下,输出8位的数字波形数据,经过DAC0832转换为模拟量,因为DAC0832输出的是电流的形式,所以通过电压转电流电路转换为电压形式的模拟波形,但其中还含有大量的高频成分,为了输出频率纯净的信号波形,再通过一个二阶的有源低通滤波器。最后为了调节输出信号的峰峰值,再引入一个幅度调节电路。

根据直接数字频率合成理论将系统的频率分辨率及输出频率写为:

基于FPGA的DDS信号发生器设计

其中fclk和N为系统时钟和位宽,M为频率控制字,利用信号相位与时间成线性关系的特性,直接对所需信号进行抽样、量化和映射,输出频率可调的信号波形。每个时钟周期内,由频率控制字M决定相位增量的大小以控制输出频率。由式子可以看出和N也关系着D/A转换的频率,位宽N越大、时钟fclk越低,分辨率越高,但系统时钟变低,也会

降低最大的输出频率,fclk以及一个周期波形的采样数值的输出个数。

1.2 数模转换电路

数模转换电路采用DAC0832,ADC0832是8位分辨率的倒T型电阻网络型D/A转换器。根据对DAC0832的数据锁存器和DAC寄存器的不同控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。本文使用的是直通的工作方式。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。

基于FPGA的DDS信号发生器设计

DAC0832转换结果以电流形式输出。为了得到模拟电压信号,需要通过一个高输入阻抗的线性运算放大器。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。为了将DAC0832转换得到的模拟电流值转换为模拟的电压值,在ADC0832的输出端接了由运放NE5532构成的电流转电压电路,如图3所示。

NE5532是高性能低噪声双运算放大器(双运放)集成电路。与很多标准运放相似,但它具有更好的噪声性能,优良的输出驱动能力及相当高的小信号带宽,电源电压范围大等特点。因此很适合应用在高品质和专业音响设备、仪器、控制电路及电话通道放大器。

DAC0832的转换电流输出为:

基于FPGA的DDS信号发生器设计

1.3 二阶有源低通滤波器

二阶有源低通滤波器也采用运放NE5532,其截止频率设计为6KHz,函数信号发生器的输出最高频率是20KHz,根据实际调试中出现的情况:将低通滤波器的截止频率设计为6KHz时,输出的波形频率纯净,如果提高低通滤波器的截止频率,输出波形就会有高频成分,如果降低截止频率就会降低输出波形的最高频率。二阶有源低通滤波器如图4所示。

其特征频率为:

基于FPGA的DDS信号发生器设计

将R=1KΩ,C=10nF带入式5计算得f0=16KHz。二阶低通滤波器的通带截止频率为:fp=0.37fo,将带入计算得截止频率f0=16KHz,通带放大倍数为1。

基于FPGA的DDS信号发生器设计

为了实现输出波形的幅度可调,在函数信号发生器的输出端连接一个电压跟随器,并用一个滑动变阻器调节输出的波形峰值。幅度调接电路由运放NE5532构成,如图5所示。

2 DDS的Verilog实现

DDS程序流程图如图6所示,32位累加器对输出的频率控制字进行不断的累加,取32位累加器的的第24到第30位作为ROM的地址,根据32位累加器的第32位和第31位的值对ROM地址和ROM输出数据做如下处理:

基于FPGA的DDS信号发生器设计

1)第32位等于0且第31位等于0,则ROM地址和ROM输出数据不变;

2)第32位等于0且第31位等于1,则ROM地址取反但ROM输出数据不变;

3)第32位等于1且第31位等于0,则ROM地址不变但ROM输出数据取反;

4)第32位等于0且第31位等于0,则ROM地址取反和ROM输出数据也取反。

DDS输出正弦波的时序仿真波形如图7所示。第一个信号是100MHz系统时钟clk,第二个信号是复位信号rst_n,第三个信号是累加器add,第四个信号是累加器的高8位即ROM地址,第六个信号是ROM输出即波形数据。

基于FPGA的DDS信号发生器设计

3 硬件调试

该信号发生器可以输出一定功率的幅度、频率可调的正弦波、方波、三角波信号。该信号发生器输出波形的频率分辨率为1Hz、输出频率范围:1Hz-20kHz,输出电压范围:50mV-1V。

由于低通滤波器的电容对输出三角波和方波的充放电影响,输出三角波和方波的频率越高,影响越严重,导致输出的波形失真。经过测量,三角波的输出不失真的频率为5KHz左右,输出方波不失真的频率为2KHz左右。由于DDS采用全数字结构,不可避免地引入了散杂。其来源主要有三个:相位累加器相位舍入误差造成的散杂;幅度量化误差造成的散杂和DAC非理想特性造成的散杂。

基于FPGA的DDS信号发生器设计

函数信号发生器输出频率为1.3KHz的正弦波如图8所示,函数信号发生器输出频率为1.2KHz的三角波如图9所示,函数信号发生器输出频率为1.2KHz的方波如图10所示。

4 结论

本文介绍了基于FPGA的DDS信号发生器的设计,描述了其电路结构、工作原理、设计思路及实现方法,并按照技术要求进行计算、编程。经过仿真、电路测试,结果表明输出波形达到了设计指标的要求,可以作为稳定的信号源使用,也对DDS的原理和实现有了更深的了解和认识。



              查看评论 回复



嵌入式交流网主页 > 电子技术 > EDA > 基于FPGA的DDS信号发生器设计 -
 

"基于FPGA的DDS信号发生器设计 -"的相关文章

网站地图

围观()