基于Verilog的多路相干DDS信号源设计

2014-05-12 03:14孟秉林吴柯锐刘杏娟
山西电子技术 2014年2期
关键词:累加器信号源代码

孟秉林,吴柯锐,刘杏娟

(1.中北大学仪器科学与动态测试教育部重点实验室,山西太原030051;2.空军驻山西地区军事代表室,山西太原030024)

实现信号源的多路同步输出且各路间拥有固定的相位关系,在雷达、通信等多领域有着重要的应用[1]。为了实现此功能,大多数设计是利用单片机控制多个专用DDS芯片,实现多信号同步输出,如图1所示。但是由于采用分立的专用DDS芯片,各芯片参数很难做到完全相同,参数的差异会造成输出信号频率和相位不同[2,3]。因此,尽管各DDS芯片采用同一频率字,各个输出信号频率也难以完全相同。同样,由于参数的不一致,波形之间的相位也难以做到同步准确可调,更重要的是各个信号通道间频率差异的累积效应可能会导致同步失败。由于这些原因,要实现多路同步输出且各路信号间成相干关系必须采用另外的系统。本文给出了一种基于FPGA的3路相干信号源设计方案。

图1 通用多路同步信号源

1 DDS基本原理

DDS(Direct Digital Synthesizer)的实质是对相位进行可控等间隔的采样。一个DDS信号发生器是由:相位累加器、正弦查找表(波形Rom表)、数模转换器以及模拟低通滤波器(LPF)组成[4],原理框图如图2所示。

图2 DDS原理示意图

DDS系统的核心是相位累加器。相位累加器在参考时钟信号的控制下产生读取Rom表数据的地址值,随后通过查表变换,读出相应地址的信号波形的数字幅度值序列,再由数模变换器将代表波形幅度的数字序列转化为模拟电平,最后经由低通滤波器滤除高频分量使波形平滑。

2 基于FPGA的3路同步输出DDS工作原理

3路同步相干DDS信号源工作原理如图3所示。

图3 3路相干DDS原理示意

所有的部分都在统一时钟的控制下保证了各路信号的同步输出;各频率输入为同一控制字,使得各信号间有很好的同频性;不同的相位输入决定了各路间固定的相位差,满足了相干性要求。在FPGA里面做到的是D/A转换器之前的部分。3路信号结构相同,每一路的电路结构如图4所示。

图4 DDS电路结构图

3 电路设计

3.1 电路总体接口

本系统采用Verilog语言编程,综合工具为Quartusii,仿真工具为Modelsim。

电路接口有 clk,rst_n,K1,K2,K3,phase1,phase2,phase3,d_out1,d_out2,d_out3,其中 clk 为系统时钟,rst_n 为复位信号低电平异步复位,K1,K2,K3为频率控制字输入(本系统为同一输入),phase1,phase2,phase3为3路相位输入,d_out1,d_out2,d_out3 为3 路输出。

3.2 源程序代码代码

顶层模块代码如下所示,

顶层模块的RTL Viewer如图5所示。

图5 顶层模块的RTL Viewer

相位累加器模块代码如下所示。

波形ROM表利用Quartus ii软件的插件管理程序Megawizard plug—in manager获得,对于波形数据mif文件的获得这里使用了专用软件Guagle_Wave。

4 仿真与分析

仿真测试文件代码如下。

3路相干输出DDS的仿真结果如图6所示。途中竖线为相位跳变处,从此之后各路信号保持了良好的相干性,由此可见满足了设计要求。本设计只需改变各路的相位控制字就可实现各路之间的相位调整。本设计运用Verilog语言结合DDS原理和FPGA器件,实现了多路相干信号源设计,相位连续可调,且易于调节。

图6 3路相干输出DDS的仿真结果

[1]李国勇,谢克明.控制系统数字仿真与CAD[M].北京:电子工业出版社,2003.

[2]张骏凌,张玉兴.直接数字频率合成器中的相位噪声分析[J].电子科技大学学报,1999(1):24-27.

[3]夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2003.

[4]张厥盛,曹丽娜.锁相与频率合成技术[M].成都:电子科技大学出版社,1995.

猜你喜欢
累加器信号源代码
密码累加器研究进展及应用
创世代码
创世代码
创世代码
创世代码
Fpga的信号发生器设计原理
聚焦4K视频播放展望未来信号源发展
基于霍夫变换的工位点识别算法设计与实现
低噪声键控宽频信号源设计与实现
发射机信号源的自动处理和控制系统