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

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

Info

Publication number
CN104753502B
CN104753502B CN201510196557.1A CN201510196557A CN104753502B CN 104753502 B CN104753502 B CN 104753502B CN 201510196557 A CN201510196557 A CN 201510196557A CN 104753502 B CN104753502 B CN 104753502B
Authority
CN
China
Prior art keywords
continuous
phase accumulator
flow type
adders
latch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510196557.1A
Other languages
English (en)
Other versions
CN104753502A (zh
Inventor
刘明哲
柳炳琦
庹先国
成毅
王磊
杨剑波
贺春燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Univeristy of Technology
Original Assignee
Chengdu Univeristy of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Univeristy of Technology filed Critical Chengdu Univeristy of Technology
Priority to CN201510196557.1A priority Critical patent/CN104753502B/zh
Publication of CN104753502A publication Critical patent/CN104753502A/zh
Application granted granted Critical
Publication of CN104753502B publication Critical patent/CN104753502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于FPGA的DDS信号发生器,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器。本发明通过对相位累加器进行流水式结构改进,将32为相位累加器分割成4级流水线,利用多级流水线对输入数据的同时处理明显地提高了相位累加器的工作速度,从而很好地提高系统的输出频率,其性能稳定,资源消耗小,可成功应用于通信、仪器测试、自检系统等领域。

Description

一种基于FPGA的DDS信号发生器及其实现方法
技术领域
本发明涉及一种波形发生器,具体地讲,是涉及一种基于FPGA的DDS信号发生器及其实现方法。
背景技术
随着电子计算机技术,尤其是嵌入式技术的大力发展,FPGA(Field-Programmable Gate Array,现场可编程门阵列)和DDS(Direct Digital Synthesizer,直接数字式频率合成器)技术得到了广泛的发展与应用。FPGA因其并行处理能力强、控制逻辑简单等特点逐步成为极具优势的核心处理器,而DDS技术因其易于控制、频率分辨率高和频率转换速度快等优点已经成为最为重要的频率合成技术。
现有DDS信号发生器的结构相对复杂,工作速度相对较慢,不太适应于现在高速发展的计算机科学技术。系统输出信号频率fout可由公式计算得出,其中,K为频率控制字,fclk为系统输入时钟频率,N为相位累加器的位数。根据上述公式研究,影响系统输出信号的最高频率的因素之一是相位累加器的工作速度,如果能够提高相位累加器的工作速度,便能够在一定程度上提高系统的输出频率。
发明内容
为了克服现有技术的缺陷,本发明提供一种通过提高相位累加器的工作速度来达到提高系统输出频率的基于FPGA的DDS信号发生器,并可实现提高频率分辨率和输出任意波形的目的。
为了实现上述目的,本发明采用的技术方案如下:
一种基于FPGA的DDS信号发生器,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值信号的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器。
具体地,所述流水式相位累加器为32位相位累加器。
进一步地,所述流水式相位累加器包括四路每路输入8位数据的反馈型流水线结构,其中四路每路输入的8位数据依次排列构成与32位相位累加器匹配的完整32位。
更进一步地,所述反馈型流水线结构包括依次串接的9位加法器和9位锁存器,其中,8位数据由9位加法器输入并由9位锁存器输出,并且9位锁存器将输出反馈给本路的9位加法器,也输出至下一路的9位加法器进行累加。
为了便于同步输出,每一路所述反馈型流水线结构还包括3个用于保证每路同步输出的8位触发器。
具体地,对应频率控制字K[7:0]的第一路结构由1个9位加法器、1个9位锁存器和3个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第二路的9位加法器;对应频率控制字K[15:8]的第二路结构由1个8位触发器、1个9位加法器、1个9位锁存器和2个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第三路的9位加法器;对应频率控制字K[23:16]的第三路结构由2个8位触发器、1个9位加法器、1个9位锁存器和1个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第四路的9位加法器;对应频率控制字K[31:24]的第四路结构由3个8位触发器、1个9位加法器和1个9位锁存器依次连接组成,该9位锁存器反馈输出本路的9位加法器。最终流水式相位累加器将四路累加后的数据并列合成32位相应的输出数据。
作为优选,所述相位/幅值查找表采用双端口RAM存储器。
作为优选,所述FPGA核心控制器采用Altera公司的EP4CE15F17C8,所述数模转换器采用TI公司的DAC8871,所述低通滤波器采用Linear公司的LT6604-10滤波器。
基于上述构造,本发明还提供了上述基于FPGA的DDS信号发生器的实现方法,包括如下步骤:
(S10)流水式相位累加器在系统时钟频率fclk上升沿到来时,对输入的频率控制字K进行累加;
(S20)将流水式相位累加器输出的累加结果作为相位/幅值查找表的地址进行查表,输出信号波形在各相位的幅值信号;
(S30)将相位/幅值查找表的结果输出至数模转换器转换为模拟信号;
(S40)经低通滤波器滤波后获得所需的波形信号。其中可获取正弦波、方波、三角波、锯齿波等多种标准波形信号。
进一步地,该方法还包括(S50)当流水式相位累加器经过2N/K次累加后产生溢出,完成一个周期的波形信号输出,其中,N为流水式相位累加器的位数,N=32。
具体地,所述步骤(S10)中对频率控制字K累加时,先将K转换为32位数据串,然后按位数将其依次等分为四路各8位的数据对应输入流水式相位累加器的四路中。
与现有技术相比,本发明具有以下有益效果:
(1)本发明构思巧妙,通过对相位累加器进行流水式结构改进,将32为相位累加器分割成4级流水线,利用多级流水线对输入数据的同时处理明显地提高了相位累加器的工作速度,从而很好地提高系统的输出频率,具有突出的实质性特点和显著的进步,并且其结构设计简单巧妙,充分利用FPGA的片上资源,有效灵活地实现了任意波形信号的发生,性能稳定,资源消耗小,实用性极强,非常适合推广应用,可成功应用于通信、仪器测试、自检系统等领域。
(2)本发明巧妙地在每一路反馈型流水线结构中设计8位触发器,对流水线进行打拍,可靠地保证了每一路流水线的同步输出。
(3)本发明采用双端口RAM存储器作为相位/幅值查找表实现高速存取,结合DAC8871高速数模转换器和LT6604-10滤波器,保证了系统的高速工作条件基础。
附图说明
图1为本发明的结构框图。
图2为本发明中流水式相位累加器的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。
实施例
如图1所示,该基于FPGA的DDS信号发生器,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值信号的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器。其中,所述FPGA核心控制器采用Altera公司的EP4CE15F17C8,所述相位/幅值查找表采用双端口RAM存储器,通过预先存储设置不同波形数据的查找表可以获得相应波形信号的输出;所述数模转换器采用TI公司的DAC8871,所述低通滤波器采用MAXIM公司的MAX261滤波器。
具体地,所述流水式相位累加器为32位相位累加器。所述流水式相位累加器包括四路每路输入8位数据的反馈型流水线结构,其中四路每路输入的8位数据依次排列构成与32位相位累加器匹配的完整32位。所述反馈型流水线结构包括依次串接的9位加法器和9位锁存器,其中,8位数据由9位加法器输入并由9位锁存器输出,并且9位锁存器将输出反馈给本路的9位加法器,也输出至下一路的9位加法器进行累加。为了便于同步输出,每一路所述反馈型流水线结构还包括3个用于保证每路同步输出的8位触发器。
如图2所示,具体地,本实施例采用的流水式相位累加器中,对应频率控制字K[7:0]的第一路结构由1个9位加法器、1个9位锁存器和3个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第二路的9位加法器;对应频率控制字K[15:8]的第二路结构由1个8位触发器、1个9位加法器、1个9位锁存器和2个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第三路的9位加法器;对应频率控制字K[23:16]的第三路结构由2个8位触发器、1个9位加法器、1个9位锁存器和1个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第四路的9位加法器;对应频率控制字K[31:24]的第四路结构由3个8位触发器、1个9位加法器和1个9位锁存器依次连接组成,该9位锁存器反馈输出本路的9位加法器。最终流水式相位累加器将四路累加后的数据并列合成32位相应的输出数据。当第四路在最终累加发生溢出时,形成一个波形信号的输出周期。其中,加法器可调用Quartus Ⅱ软件中提供的参数化的宏功能模块,以方便设计。该9位加法器由8位数据位和1位进位位组成。相比现在的32位加法器直接累加,极大地提高了累加工作效率,从而有效地提高了系统的输出频率。
基于上述构造,本实施例还提供了上述基于FPGA的DDS信号发生器的实现方法,包括如下步骤:
(S10)流水式相位累加器在系统时钟频率fclk上升沿到来时,对输入的频率控制字K进行累加;其中,累加时先将K转换为32位数据串,然后按位数将其依次等分为四路各8位的数据对应输入流水式相位累加器的四路中。
(S20)将流水式相位累加器输出的累加结果作为相位/幅值查找表的地址进行查表,输出信号波形在各相位的幅值信号。
(S30)将相位/幅值查找表的结果输出至数模转换器转换为模拟信号,体现为阶梯波形。
(S40)经低通滤波器滤波后获得所需的波形信号。其中可获取正弦波、方波、三角波、锯齿波等多种标准波形信号。
(S50)当流水式相位累加器经过2N/K次累加后产生溢出,完成一个周期的波形信号输出,其中,N为流水式相位累加器的位数,本实施例中N=32。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。

Claims (5)

1.一种基于FPGA的DDS信号发生器,其特征在于,包括用于生成频率控制字K和提供系统时钟频率fclk的FPGA核心控制器,对输入的频率控制字K进行累加的流水式相位累加器,存储有波形数据并将流水式相位累加器的输出结果转换为对应波形幅值信号的相位/幅值查找表,获取相位/幅值查找表的输出结果并将其转换为模拟信号输出的数模转换器,以及与数模转换器连接并用于输出最终波形信号的低通滤波器;
所述流水式相位累加器为32位相位累加器,用于累加由频率控制字K转化的32位数据串K[31:0];
该流水式相位累加器包括四路每路输入8位数据的反馈型流水线结构,其中所述32位数据串K[31:0]按位数依次等分为四组8位数据K[7:0]、K[15:8]、K[23:16]和K[31:24],分别各对应一路反馈型流水线结构;
每一路所述反馈型流水线结构包括依次串接的9位加法器和9位锁存器,以及3个用于保证每路同步输出的8位触发器;其中,
对应数据K[7:0]的第一路所述反馈型流水线结构由1个9位加法器、1个9位锁存器和3个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第二路的9位加法器,
对应数据K[15:8]的第二路所述反馈型流水线结构由1个8位触发器、1个9位加法器、1个9位锁存器和2个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第三路的9位加法器,
对应数据K[23:16]的第三路所述反馈型流水线结构由2个8位触发器、1个9位加法器、1个9位锁存器和1个8位触发器依次连接组成,该9位锁存器反馈输出本路的9位加法器,并输出至第四路的9位加法器,
对应数据K[31:24]的第四路所述反馈型流水线结构由3个8位触发器、1个9位加法器和1个9位锁存器依次连接组成,该9位锁存器反馈输出本路的9位加法器;
所述流水式相位累加器将四路累加后的数据并列合成32位相应的输出数据。
2.根据权利要求1所述的一种基于FPGA的DDS信号发生器,其特征在于,所述相位/幅值查找表采用双端口RAM存储器。
3.根据权利要求2所述的一种基于FPGA的DDS信号发生器,其特征在于,所述FPGA核心控制器采用Altera公司的EP4CE15F17C8,所述数模转换器采用TI公司的DAC8871,所述低通滤波器采用Linear公司的LT6604-10滤波器。
4.如权利要求1~3任一项所述的基于FPGA的DDS信号发生器的实现方法,其特征在于,包括如下步骤:
(S10)流水式相位累加器在系统时钟频率fclk上升沿到来时,对输入的频率控制字K进行累加;其中,累加时先将K转换为32位数据串,然后按位数将其依次等分为四路各8位的数据对应输入流水式相位累加器的四路中;
(S20)将流水式相位累加器输出的累加结果作为相位/幅值查找表的地址进行查表,输出信号波形在各相位的幅值信号;
(S30)将相位/幅值查找表的结果输出至数模转换器转换为模拟信号;
(S40)经低通滤波器滤波后获得所需的波形信号。
5.根据权利要求4所述的基于FPGA的DDS信号发生器的实现方法,其特征在于,还包括(S50)当流水式相位累加器经过2N/K次累加后产生溢出,完成一个周期的波形信号输出,其中,N为流水式相位累加器的位数。
CN201510196557.1A 2015-04-23 2015-04-23 一种基于fpga的dds信号发生器及其实现方法 Active CN104753502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510196557.1A CN104753502B (zh) 2015-04-23 2015-04-23 一种基于fpga的dds信号发生器及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510196557.1A CN104753502B (zh) 2015-04-23 2015-04-23 一种基于fpga的dds信号发生器及其实现方法

Publications (2)

Publication Number Publication Date
CN104753502A CN104753502A (zh) 2015-07-01
CN104753502B true CN104753502B (zh) 2017-08-29

Family

ID=53592705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510196557.1A Active CN104753502B (zh) 2015-04-23 2015-04-23 一种基于fpga的dds信号发生器及其实现方法

Country Status (1)

Country Link
CN (1) CN104753502B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3355819A1 (en) * 2015-09-30 2018-08-08 Ethicon LLC Generator for digitally generating electrical signal waveforms for electrosurgical and ultrasonic surgical instruments
CN106789782B (zh) * 2017-02-28 2019-11-26 深圳市鼎阳科技有限公司 一种i/q基带信号发生器
CN109358698B (zh) * 2018-08-30 2020-03-20 西北大学 一种基于复合频率控制字的直接数字频率合成方法及装置
CN110350892B (zh) * 2019-07-24 2023-03-31 中北大学 一种基于dds时钟移相技术的延时装置及方法
CN111211758B (zh) * 2020-01-10 2023-03-24 西安科技大学 一种适应于声表面波传感器的反馈扫频式dds设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102324933A (zh) * 2011-06-21 2012-01-18 中国兵器工业第二○六研究所 一种正交低杂散直接数字频率合成器
CN202841081U (zh) * 2012-10-26 2013-03-27 浙江工贸职业技术学院 基于cordic算法的dds波形发生器
CN103944565A (zh) * 2013-01-18 2014-07-23 西安电子科技大学 一种数字直接频率合成器
CN104485952A (zh) * 2014-12-15 2015-04-01 华中师范大学 串联型多相相位累加器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102324933A (zh) * 2011-06-21 2012-01-18 中国兵器工业第二○六研究所 一种正交低杂散直接数字频率合成器
CN202841081U (zh) * 2012-10-26 2013-03-27 浙江工贸职业技术学院 基于cordic算法的dds波形发生器
CN103944565A (zh) * 2013-01-18 2014-07-23 西安电子科技大学 一种数字直接频率合成器
CN104485952A (zh) * 2014-12-15 2015-04-01 华中师范大学 串联型多相相位累加器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张冬梅等.《基于FPGA实现DDS技术的雷达波形产生器的设计》.《现代电子技术》.2005,第28卷(第4期),第103-105页. *

Also Published As

Publication number Publication date
CN104753502A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN104753502B (zh) 一种基于fpga的dds信号发生器及其实现方法
CN100429603C (zh) 一种基于fpga的高速任意波形发生器
CN104202023B (zh) 一种基于fpga的单极性spwm脉冲信号实现方法
CN101867371B (zh) 基于fpga的线性调频信号实现方法
CN102073032A (zh) 多波形雷达信号的模块化产生方法
CN103176503B (zh) 一种dds信号发生器及其幅度控制方法
CN106502308A (zh) 一种超声脉冲激励信号的波形产生系统及产生方法
CN106200759A (zh) 一种快速响应的混合信号发生器及其实现方法
CN102545680B (zh) 一种基于fpga驱动发生的级联型多电平变频器
CN203054516U (zh) 一种基于fpga的多波形信号发生器
CN206498391U (zh) 多路dds信号发生器
CN103873018B (zh) 一种生成谐波信号的方法及谐波信号发生器
CN106155177B (zh) 基于数字处理器实现spwm波形的方法
CN203482173U (zh) 具有多路信号叠加功能的信号发生器
CN202841081U (zh) 基于cordic算法的dds波形发生器
CN103178783B (zh) 求和调制信号发生器
Fang et al. Design and simulation of DDS based on Quartus II
CN105322919A (zh) 一种基于fpga的dds多信号发生器
CN103684263A (zh) 一种基于单片机实现简易混合信号发生器的方法
CN207123738U (zh) 一种基于终端拟合的任意信号发生器
CN202475298U (zh) 一种基于fpga驱动发生的级联型多电平变频器
CN103607182A (zh) 一种多分量混合信号发生器及多分量混合信号发生方法
CN201742387U (zh) 一种基于同步坐标系的单相锁相环
CN103595373A (zh) 一种九分量混合信号发生器及九分量混合信号发生方法
CN104660218A (zh) 一种任意波形合成器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Liu Mingzhe

Inventor after: Liu Bingqi

Inventor after: Tuo Xianguo

Inventor after: Cheng Yi

Inventor after: Wang Lei

Inventor after: Yang Jianbo

Inventor after: He Chunyan

Inventor before: Liu Bingqi

Inventor before: Liu Mingzhe

Inventor before: Tuo Xianguo

Inventor before: Cheng Yi

Inventor before: Wang Lei

Inventor before: Yang Jianbo

Inventor before: He Chunyan

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant