CN102497205B - 一种改进型dds信号发生器及其信号发生方法 - Google Patents
一种改进型dds信号发生器及其信号发生方法 Download PDFInfo
- Publication number
- CN102497205B CN102497205B CN 201110384207 CN201110384207A CN102497205B CN 102497205 B CN102497205 B CN 102497205B CN 201110384207 CN201110384207 CN 201110384207 CN 201110384207 A CN201110384207 A CN 201110384207A CN 102497205 B CN102497205 B CN 102497205B
- Authority
- CN
- China
- Prior art keywords
- phase accumulator
- fpga
- acc
- signal
- phase
- 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
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 (5)
1.一种改进型DDS信号发生器产生DDS信号的方法,所述的改进型DDS信号发生器包括晶振、FPGA、SRAM和D/A转换器,FPGA接收晶振输入的时钟信号和外部输入的频率字,FPGA进行处理后输入至SRAM,SRAM的输出与D/A转换器信号连接;
所述的FPGA由锁相环、相位累加器和除法器组成;锁相环接收晶振输入的时钟信号,锁相环输出的信号作为相位累加器的时钟,相位累加器接收外部输入的频率字,相位累加器的输出作为除法器的输入,除法器输出信号作为FPGA的输出;
其特征在于该方法包括以下步骤:
步骤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信号。
2.根据权利要求1所述的方法,其特征在于:步骤4中相位累加器寄存器REG_ACC的取模运算实现方法具体是:
步骤B1:判断相位累加器寄存器REG_ACC中的数值是否大于累加器模值M_MAX,如果是则执行步骤B2,否则执行步骤B3;
步骤B2:将相位累加器寄存器REG_ACC中的数值减去累加器模值M_MAX后赋值给相位累加器寄存器REG_ACC;
步骤B3:相位累加器寄存器REG_ACC中的数值保持不变。
3.根据权利要求1所述的方法,其特征在于:ƒx时钟输入频率为36MHz。
4.根据权利要求1所述的方法,其特征在于:累加器模值M_MAX为36000000,是36000的整数倍。
5.根据权利要求1所述的方法,其特征在于:步骤A5中正弦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 CN102497205A (zh) | 2012-06-13 |
CN102497205B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103956994B (zh) * | 2014-03-24 | 2016-12-07 | 杭州电子科技大学 | 一种基于fpga的dds任意波形信号发生器 |
CN104378562B (zh) * | 2014-12-01 | 2018-05-04 | 重庆洪深现代视声技术有限公司 | 电视信号发生器 |
CN104917494B (zh) * | 2015-05-08 | 2017-10-31 | 深圳市鼎阳科技有限公司 | 一种函数信号发生器 |
CN104965200B (zh) * | 2015-07-09 | 2017-04-05 | 国家海洋技术中心 | 基于拖曳式水声信号发射系统的动态信号发生装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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信号发生器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006012503A2 (en) * | 2004-07-22 | 2006-02-02 | Auburn University | Automatic analog test & compensation with built-in pattern generator & analyzer |
-
2011
- 2011-11-28 CN CN 201110384207 patent/CN102497205B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (2)
Title |
---|
周俊峰 陈涛.基于FPGA的直接数字频率合成器的设计和实现.《集成电路应用》.2002,第74页至第75页,第80页. |
基于FPGA的直接数字频率合成器的设计和实现;周俊峰 陈涛;《集成电路应用》;20021231;第74页至第75页,第80页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102497205A (zh) | 2012-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297046B (zh) | 一种锁相环及其时钟产生方法和电路 | |
CN102497205B (zh) | 一种改进型dds信号发生器及其信号发生方法 | |
CN101807089A (zh) | 输出信号偏移量任意可调的波形信号发生器 | |
CN102025366B (zh) | 等占空比时钟的分频时钟切换方法及分频器 | |
JP2022019553A (ja) | 低面積および低消費電力の時間-デジタル変換器 | |
CN101359909B (zh) | 具有扩展的范围能力的灵活波形发生器 | |
CN102761332A (zh) | 一种时钟产生电路 | |
CN202334494U (zh) | 一种改进型dds信号发生器 | |
CN107436619B (zh) | 一种高精度低代价数字正弦波发生装置 | |
CN203086442U (zh) | 一种基于加法器的锁相式快跳源 | |
CN105425898A (zh) | 一种低功耗嵌入式系统 | |
EP2777156B1 (en) | Oscillator based frequency locked loop | |
CN105811968A (zh) | 调制器、锁相回路及响应频率控制字产生控制码的方法 | |
CN102571036B (zh) | 用dds产生任意精准频率的方法 | |
CN103338037A (zh) | 一种锁相环中时钟信号转数字信号的方法和装置 | |
CN104660218A (zh) | 一种任意波形合成器 | |
CN201985842U (zh) | 微波带宽折叠接收器的本振频率产生电路 | |
CN202026299U (zh) | 一种频率合成装置 | |
CN205210137U (zh) | 一种多路同步信号输出装置 | |
CN208299782U (zh) | 一种高速低功耗四/五预分频器 | |
CN103871444A (zh) | 非挥发性存储器的读时序产生电路 | |
Shan et al. | Design and implementation of a FPGA-based direct digital synthesizer | |
CN103576826B (zh) | 存储器控制方法、装置及存储器系统 | |
CN102427342A (zh) | 开关电容时钟发生器 | |
RU127557U1 (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 |