CN102497205A - 一种改进型dds信号发生器及其信号发生方法 - Google Patents
一种改进型dds信号发生器及其信号发生方法 Download PDFInfo
- Publication number
- CN102497205A CN102497205A CN201110384207XA CN201110384207A CN102497205A CN 102497205 A CN102497205 A CN 102497205A CN 201110384207X A CN201110384207X A CN 201110384207XA CN 201110384207 A CN201110384207 A CN 201110384207A CN 102497205 A CN102497205 A CN 102497205A
- Authority
- CN
- China
- Prior art keywords
- phase
- fpga
- acc
- signal
- phase accumulator
- 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.)
- Granted
Links
Images
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公布了一种改进型DDS信号发生器及其信号发生方法。目前DDS信号发生器要产生低频频率信号和实现低频率步进,需要使用很大的存储空间。本发明中DDS信号发生器包括晶振、FPGA、SRAM和D/A转换器。FPGA接收晶振输入的时钟信号和外部输入的频率字,FPGA进行处理后输入至SRAM,SRAM的输出与D/A转换器信号连接。FPGA由锁相环、相位累加器和除法器组成;锁相环接收晶振输入的时钟信号,锁相环输出的信号作为相位累加器的时钟,相位累加器接收外部输入的频率字,相位累加器的输出作为除法器的输入,除法器输出信号作为FPGA的输出。本发明减小了波形存储器的容量,降低了频率步进值。
Description
技术领域
本发明属于仪器仪表领域,涉及一种改进型DDS信号发生器及其信号发生方法。
背景技术
DDS信号发生器,即直接数字式频率合成器,与传统的频率合成器相比,DDS信号发生器具有低成本、高分辨率和快速转换时间等优点,广泛使用在典型与电子仪器领域。当前的DDS信号发生器相位累加器输出数据直接送入存储器地址输入,导致所需要的波形存储器容量大,且频率步进值大,不容易调节。
发明内容
本发明的目的在于,针对传统的DDS信号发生器,提出一种改进型DDS信号发生器及其信号发生方法,旨在减小频率步进值,节省存储空间。
一种改进型DDS信号发生器,包括晶振、FPGA、SRAM和D/A转换器。FPGA接收晶振输入的时钟信号和外部输入的频率字,FPGA进行处理后输入至SRAM,SRAM的输出与D/A转换器信号连接。
所述的FPGA由锁相环、相位累加器和除法器组成;锁相环接收晶振输入的时钟信号,锁相环输出的信号作为相位累加器的时钟,相位累加器接收外部输入的频率字,相位累加器的输出作为除法器的输入,除法器输出信号作为FPGA的输出。
利用上述的DDS信号发生器产生DDS信号的方法包括以下步骤:
步骤A1:将输入到FPGA频率为ƒx 的时钟输入,经锁相环,输出产生频率为ƒclk的CLK_DIV 信号,其中ƒclk频率为ƒx频率的十分之一。
步骤A2:FPGA将外部输入的频率字存入FPGA内建的REG_FW步长寄存器中,将输入的相位初始值存入FPGA内建的REG_PHASE相位寄存器中。
步骤A3:在FPGA中内建相位累加寄存器REG_ACC,设定相位累加器寄存器REG_ACC的初始值为REG_PHASE相位寄存器所保存的数值。
步骤A4:相位累加器寄存器REG_ACC在CLK_DIV信号的上升沿时,以REG_FW步长寄存器中的数值为步长自增,并将相位累加器寄存器REG_ACC对累加器模值取模,即数值M_MAX取模,并将所得的数值存入相位累加器寄存器REG_ACC。
步骤A5:取出相位累加器寄存器REG_ACC中的数值,将相位累加器寄存器REG_ACC的数值乘以36000,再整除累加器模值M_MAX后赋值给正弦ROM存储表地址寄存器ROM_ADDR;所述的正弦ROM存储表存储在SRAM中。
步骤A6:将正弦ROM存储表内地址为ROM_ADDR中存储的数据输出到D/A转换器的输入端,D/A转换器的输出即为DDS信号。
所述的相位累加器寄存器REG_ACC的取模运算实现方法具体是:
步骤B1:判断相位累加器寄存器REG_ACC中的数值是否大于累加器模值M_MAX,如果是则执行步骤B2,否则执行步骤B3。
步骤B2:将相位累加器寄存器REG_ACC中的数值减去累加器模值M_MAX后赋值给相位累加器寄存器REG_ACC。
步骤B3:相位累加器寄存器REG_ACC中的数值保持不变。
进一步说,ƒx时钟输入频率为36MHz。
进一步说,累加器模值M_MAX为36000000,是36000的整数倍。
进一步说,正弦ROM存储表地址寄存器ROM_ADDR数值的整除运算使用14级流水线除法器实现。
与现有的技术相比,本发明的有益效果是:减小了波形存储器的容量,降低了频率步进值。
附图说明
图1是本发明的硬件框图;
图2是本发明的方法实现框图。
具体实施方式
以下结合附图对本发明作进一步说明。
如图1所示,改进型DDS信号发生器包括晶振、FPGA、SRAM、D/A转换器;FPGA接收晶振输入的时钟信号和外部输入的数据,FPGA将输入处理之后输出给SRAM地址输入端,SRAM数据输出端输出数据给D/A转换器,D/A转换器输出的信号就是所需要的信号;其中FPGA包括锁相环、相位累加器和除法器,锁相环接收FPGA接收的晶振输入的时钟信号,锁相环输出的信号作为相位累加器的时钟,相位累加器的输出作为除法器的输入,除法器输出信号直接送出FPGA。
如图2所示,上述信号发生器产生DDS信号的具体步骤:
步骤A1:将输入到FPGA频率为36MHz的时钟输入,经锁相环,输出产生频率为360KHz的CLK_DIV 信号。
步骤A2:FPGA将外部输入的频率字存入FPGA内建的REG_FW步长寄存器中,将输入的相位初始值存入FPGA内建的REG_PHASE相位寄存器中,其中REG_FW步长寄存器是用于调节输出信号频率。
步骤A3:在FPGA中内建相位累加寄存器REG_ACC,设定相位累加器寄存器REG_ACC的初始值为REG_PHASE相位寄存器所保存的数值,其中REG_PHASE相位寄存器是用来调整输出信号相位。
步骤A4:相位累加器寄存器REG_ACC在CLK_DIV信号的上升沿时,以REG_FW步长寄存器中的数值为步长自增,并将相位累加器寄存器REG_ACC对累加器模值即数值36000000取模,并将所得的数值存入相位累加器寄存器REG_ACC。
步骤A5:取出相位累加器寄存器REG_ACC中的数值,SRAM地址寄存器ROM_ADDR的数值等于相位累加器寄存器REG_ACC的数值乘以36000,再整除累加器模值36000000,其中除法采用了14级流水线除法器实现。
步骤A6:将SRAM内地址为ROM_ADDR中存储的数据输出到D/A的输入端,D/A的输出端就得到了所需要的信号。
相位累加器寄存器REG_ACC的取模运算是这样实现的:
步骤B1:判断相位累加器寄存器REG_ACC中的数值是否大于累加器模值M_MAX,如果是则执行步骤B2,否则执行步骤B3。
步骤B2:相位累加器寄存器REG_ACC中的数值等于相位累加器寄存器REG_ACC中的数值减去累加器模值M_MAX。
步骤B3:相位累加器寄存器REG_ACC中的数值不变。
Claims (6)
1.一种改进型DDS信号发生器,包括晶振、FPGA、SRAM和D/A转换器,其特征在于:FPGA接收晶振输入的时钟信号和外部输入的频率字,FPGA进行处理后输入至SRAM,SRAM的输出与D/A转换器信号连接;
所述的FPGA由锁相环、相位累加器和除法器组成;锁相环接收晶振输入的时钟信号,锁相环输出的信号作为相位累加器的时钟,相位累加器接收外部输入的频率字,相位累加器的输出作为除法器的输入,除法器输出信号作为FPGA的输出。
2.利用权利要求1所述的DDS信号发生器产生DDS信号的方法,其特征在于该方法包括以下步骤:
步骤A1:将输入到FPGA频率为ƒx 的时钟输入,经锁相环,输出产生频率为ƒclk的CLK_DIV 信号,其中ƒclk频率为ƒx频率的十分之一;
步骤A2:FPGA将外部输入的频率字存入FPGA内建的REG_FW步长寄存器中,将输入的相位初始值存入FPGA内建的REG_PHASE相位寄存器中;
步骤A3:在FPGA中内建相位累加寄存器REG_ACC,设定相位累加器寄存器REG_ACC的初始值为REG_PHASE相位寄存器所保存的数值;
步骤A4:相位累加器寄存器REG_ACC在CLK_DIV信号的上升沿时,以REG_FW步长寄存器中的数值为步长自增,并将相位累加器寄存器REG_ACC对累加器模值取模,即数值M_MAX取模,并将所得的数值存入相位累加器寄存器REG_ACC;
步骤A5:取出相位累加器寄存器REG_ACC中的数值,将相位累加器寄存器REG_ACC的数值乘以36000,再整除累加器模值M_MAX后赋值给正弦ROM存储表地址寄存器ROM_ADDR;所述的正弦ROM存储表存储在SRAM中;
步骤A6:将正弦ROM存储表内地址为ROM_ADDR中存储的数据输出到D/A转换器的输入端,D/A转换器的输出即为DDS信号。
3.根据权利要求2所述的方法,其特征在于:步骤4中相位累加器寄存器REG_ACC的取模运算实现方法具体是:
步骤B1:判断相位累加器寄存器REG_ACC中的数值是否大于累加器模值M_MAX,如果是则执行步骤B2,否则执行步骤B3;
步骤B2:将相位累加器寄存器REG_ACC中的数值减去累加器模值M_MAX后赋值给相位累加器寄存器REG_ACC;
步骤B3:相位累加器寄存器REG_ACC中的数值保持不变。
4.根据权利要求2所述的方法,其特征在于:ƒx时钟输入频率为36MHz。
5.根据权利要求2所述的方法,其特征在于:累加器模值M_MAX为36000000,是36000的整数倍。
6.根据权利要求2所述的方法,其特征在于:步骤B5中正弦ROM存储表地址寄存器ROM_ADDR数值的整除运算使用14级流水线除法器实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110384207 CN102497205B (zh) | 2011-11-28 | 2011-11-28 | 一种改进型dds信号发生器及其信号发生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110384207 CN102497205B (zh) | 2011-11-28 | 2011-11-28 | 一种改进型dds信号发生器及其信号发生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102497205A true CN102497205A (zh) | 2012-06-13 |
CN102497205B CN102497205B (zh) | 2013-09-18 |
Family
ID=46189000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110384207 Active CN102497205B (zh) | 2011-11-28 | 2011-11-28 | 一种改进型dds信号发生器及其信号发生方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102497205B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103956994A (zh) * | 2014-03-24 | 2014-07-30 | 杭州电子科技大学 | 一种基于fpga的dds任意波形信号发生器 |
CN104378562A (zh) * | 2014-12-01 | 2015-02-25 | 重庆洪深现代视声技术有限公司 | 电视信号发生器 |
CN104917494A (zh) * | 2015-05-08 | 2015-09-16 | 深圳市鼎阳科技有限公司 | 一种函数信号发生器 |
CN104965200A (zh) * | 2015-07-09 | 2015-10-07 | 国家海洋技术中心 | 基于拖曳式水声信号发射系统的动态信号发生装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060020865A1 (en) * | 2004-07-22 | 2006-01-26 | Fa Dai | Automatic analog test & compensation with built-in pattern generator & analyzer |
CN200941168Y (zh) * | 2006-08-25 | 2007-08-29 | 王悦 | 一种dds信号发生器 |
CN101131594A (zh) * | 2006-08-25 | 2008-02-27 | 王悦 | 一种dds信号发生器及其波形存储深度控制方法 |
CN202334494U (zh) * | 2011-11-28 | 2012-07-11 | 杭州电子科技大学 | 一种改进型dds信号发生器 |
-
2011
- 2011-11-28 CN CN 201110384207 patent/CN102497205B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060020865A1 (en) * | 2004-07-22 | 2006-01-26 | Fa Dai | Automatic analog test & compensation with built-in pattern generator & analyzer |
CN200941168Y (zh) * | 2006-08-25 | 2007-08-29 | 王悦 | 一种dds信号发生器 |
CN101131594A (zh) * | 2006-08-25 | 2008-02-27 | 王悦 | 一种dds信号发生器及其波形存储深度控制方法 |
CN202334494U (zh) * | 2011-11-28 | 2012-07-11 | 杭州电子科技大学 | 一种改进型dds信号发生器 |
Non-Patent Citations (1)
Title |
---|
周俊峰 陈涛: "基于FPGA的直接数字频率合成器的设计和实现", 《集成电路应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103956994A (zh) * | 2014-03-24 | 2014-07-30 | 杭州电子科技大学 | 一种基于fpga的dds任意波形信号发生器 |
CN103956994B (zh) * | 2014-03-24 | 2016-12-07 | 杭州电子科技大学 | 一种基于fpga的dds任意波形信号发生器 |
CN104378562A (zh) * | 2014-12-01 | 2015-02-25 | 重庆洪深现代视声技术有限公司 | 电视信号发生器 |
CN104378562B (zh) * | 2014-12-01 | 2018-05-04 | 重庆洪深现代视声技术有限公司 | 电视信号发生器 |
CN104917494A (zh) * | 2015-05-08 | 2015-09-16 | 深圳市鼎阳科技有限公司 | 一种函数信号发生器 |
CN104917494B (zh) * | 2015-05-08 | 2017-10-31 | 深圳市鼎阳科技有限公司 | 一种函数信号发生器 |
CN104965200A (zh) * | 2015-07-09 | 2015-10-07 | 国家海洋技术中心 | 基于拖曳式水声信号发射系统的动态信号发生装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102497205B (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102497205B (zh) | 一种改进型dds信号发生器及其信号发生方法 | |
CN201708773U (zh) | 一种任意波形发生器 | |
CN101807089A (zh) | 输出信号偏移量任意可调的波形信号发生器 | |
CN102739202B (zh) | 一种可级联的多通道dds信号发生器 | |
CN102882517A (zh) | 一种生成低失真度的低频正弦信号的装置及方法 | |
CN204926079U (zh) | 基于dsp和fpga的控制板卡 | |
CN102025366B (zh) | 等占空比时钟的分频时钟切换方法及分频器 | |
JP2022019553A (ja) | 低面積および低消費電力の時間-デジタル変換器 | |
US20130214826A1 (en) | Fully digital method for generating sub clock division and clock waves | |
EP2742419B1 (en) | Data storage for voltage domain crossings | |
CN101359909B (zh) | 具有扩展的范围能力的灵活波形发生器 | |
CN202334494U (zh) | 一种改进型dds信号发生器 | |
CN107436619B (zh) | 一种高精度低代价数字正弦波发生装置 | |
CN105425898A (zh) | 一种低功耗嵌入式系统 | |
CN103675373A (zh) | 一种在fpga内实现的数字信号产生方法 | |
KR101406087B1 (ko) | 분주기 및 분주기의 분주 방법 | |
CN203086442U (zh) | 一种基于加法器的锁相式快跳源 | |
CN105811968A (zh) | 调制器、锁相回路及响应频率控制字产生控制码的方法 | |
EP2777156B1 (en) | Oscillator based frequency locked loop | |
CN103078637B (zh) | 展频锁相环控制电路 | |
CN103338037A (zh) | 一种锁相环中时钟信号转数字信号的方法和装置 | |
CN207603614U (zh) | 一种dds信号源时钟发生电路及信号源 | |
CN103576826B (zh) | 存储器控制方法、装置及存储器系统 | |
CN105005240A (zh) | 基于离线计算的任意波发生器 | |
RU2452085C1 (ru) | Цифровой вычислительный синтезатор для многочастотной телеграфии |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |