一种基于fpga的dds信号发生器及其实现方法

文档序号:8433390阅读:615来源:国知局
一种基于fpga的dds信号发生器及其实现方法
【技术领域】
[0001]本发明涉及一种波形发生器,具体地讲,是涉及一种基于FPGA的DDS信号发生器及其实现方法。
【背景技术】
[0002]随着电子计算机技术,尤其是嵌入式技术的大力发展,FPGA (Field 一Programmable Gate Array,现场可编程门阵列)和 DDS (Direct Digital Synthesizer,直接数字式频率合成器)技术得到了广泛的发展与应用。FPGA因其并行处理能力强、控制逻辑简单等特点逐步成为极具优势的核心处理器,而DDS技术因其易于控制、频率分辨率高和频率转换速度快等优点已经成为最为重要的频率合成技术。
[0003]现有DDS信号发生器的结构相对复杂,工作速度相对较慢,不太适应于现在高速发展的计算机科学技术。系统输出信号频率fout可由公式计算得出,其中,K为频率控制字,fclk为系统输入时钟频率,N为相位累加器的位数。根据上述公式研宄,影响系统输出信号的最高频率的因素之一是相位累加器的工作速度,如果能够提高相位累加器的工作速度,便能够在一定程度上提高系统的输出频率。

【发明内容】

[0004]为了克服现有技术的缺陷,本发明提供一种通过提高相位累加器的工作速度来达到提高系统输出频率的基于FPGA的DDS信号发生器,并可实现提高频率分辨率和输出任意波形的目的。
[0005]为了实现上述目的,本发明采用的技术方案如下:
一种基于FPGA的DDS信号发生器,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值信号的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器。
[0006]具体地,所述流水式相位累加器为32位相位累加器。
[0007]进一步地,所述流水式相位累加器包括四路每路输入8位数据的反馈型流水线结构,其中四路每路输入的8位数据依次排列构成与32位相位累加器匹配的完整32位。
[0008]更进一步地,所述反馈型流水线结构包括依次串接的9位加法器和9位锁存器,其中,8位数据由9位加法器输入并由9位锁存器输出,并且9位锁存器将输出反馈给本路的9位加法器,也输出至下一路的9位加法器进行累加。
[0009]为了便于同步输出,每一路所述反馈型流水线结构还包括3个用于保证每路同步输出的8位触发器。
[0010]具体地,对应频率控制字K [7:0]的第一路结构由I个9位加法器、I个9位锁存器和3个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第二路的9位加法器;对应频率控制字K[15:8]的第二路结构由I个8位触发器、I个9位加法器、I个9位锁存器和2个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第三路的9位加法器;对应频率控制字K[23:16]的第三路结构由2个8位触发器、I个9位加法器、I个9位锁存器和I个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第四路的9位加法器;对应频率控制字Κ[31:24]的第四路结构由3个8位触发器、I个9位加法器和I个9位锁存器依次连接组成,该9位锁存器反馈输出本路的9位加法器。最终流水式相位累加器将四路累加后的数据并列合成32位相应的输出数据。
[0011]作为优选,所述相位/幅值查找表采用双端口 RAM存储器。
[0012]作为优选,所述FPGA核心控制器采用Altera公司的EP4CE15F17C8,所述数模转换器采用TI公司的DAC8871,所述低通滤波器采用Linear公司的LT6604-10滤波器。
[0013]基于上述构造,本发明还提供了上述基于FPGA的DDS信号发生器的实现方法,包括如下步骤:
(SlO)流水式相位累加器在系统时钟频率fclk上升沿到来时,对输入的频率控制字K进行累加;
(S20)将流水式相位累加器输出的累加结果作为相位/幅值查找表的地址进行查表,输出信号波形在各相位的幅值信号;
(S30)将相位/幅值查找表的结果输出至数模转换器转换为模拟信号;
(S40)经低通滤波器滤波后获得所需的波形信号。其中可获取正弦波、方波、三角波、锯齿波等多种标准波形信号。
[0014]进一步地,该方法还包括(S50)当流水式相位累加器经过2N/K次累加后产生溢出,完成一个周期的波形信号输出,其中,N为流水式相位累加器的位数,N=32。
[0015]具体地,所述步骤(SlO)中对频率控制字K累加时,先将K转换为32位数据串,然后按位数将其依次等分为四路各8位的数据对应输入流水式相位累加器的四路中。
[0016]与现有技术相比,本发明具有以下有益效果:
(I)本发明构思巧妙,通过对相位累加器进行流水式结构改进,将32为相位累加器分割成4级流水线,利用多级流水线对输入数据的同时处理明显地提高了相位累加器的工作速度,从而很好地提高系统的输出频率,具有突出的实质性特点和显著的进步,并且其结构设计简单巧妙,充分利用FPGA的片上资源,有效灵活地实现了任意波形信号的发生,性能稳定,资源消耗小,实用性极强,非常适合推广应用,可成功应用于通信、仪器测试、自检系统等领域。
[0017](2)本发明巧妙地在每一路反馈型流水线结构中设计8位触发器,对流水线进行打拍,可靠地保证了每一路流水线的同步输出。
[0018](3)本发明采用双端口 RAM存储器作为相位/幅值查找表实现高速存取,结合DAC8871高速数模转换器和LT6604-10滤波器,保证了系统的高速工作条件基础。
【附图说明】
[0019]图1为本发明的结构框图。
[0020]图2为本发明中流水式相位累加器的结构框图。
【具体实施方式】
[0021]下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
[0022]如图1所示,该基于FPGA的DDS信号发生器,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值信号的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器。其中,所述FPGA核心控制器采用Altera公司的EP4CE15F17C8,所述相位/幅值查找表采用双端口 RAM存储器,通过预先存储设置不同波形数据的查找表可以获得相应波形信号的输出;所述数模转换器采用TI公司的DAC8871,所述低通滤波器采用MAXM公司的MAX261滤波器。
[0023]具体地,所述流
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1