欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201110384207X
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-26
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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级流水线除法器实现。