Keywords: FPGA;DSP Builder;Direct Digital Frequency Synthesis;Digital Phase Shifting
1 概述
正弦信号发生器作为电子技术领域里最基本的电子应用及其广泛。随着电子信息技术的发展,其性能的仪.器,
要求也越来越高,如高频率稳定度和高转换速度、具有调幅在实际的测量中,不仅需要正弦信号发生器调相等功能[1]。
还经常需要移相正弦信号发生器,及存在相位差的两路同频信号。移相信号发生器目前已经广泛用于船舶、航空、检测等各行各业[2]。
构成,相位累加器是整个DDS核心。每来1个时钟脉冲,加法器将频率控制字与相位寄存器输出的数据相加,把相加后的结果送至相位寄存器的输入端。当下一个时钟脉冲时,累加器又将频率控制字与相位寄存器的输出数据相加,这样相.位累加器在参考时钟的作用下,进行线性相位累加,当相位累加器累积满量程(2π)时就会产生1次溢出,完成1个周期性的动作,这个周期就是DDS合成信号的1个频率周期,累加器的溢出频率就是DDS输出的信号频率如图3所示。
2 系统的整体设计方案
2.1 系统设计思想
利用MATLAB/Simulink中完成原理图的设计,模型仿真并通过SignalCompilder转换成为VHDL语言,最后验证VHDL代码,并将正确的代码下载到硬件现实系统功能。整个设计结构思路如图1所示。
2.2 系统设计框图
DDS以数控的方式产生频率、相位可以控制的正弦波,DDS的基本结构主要由相位累加器、正弦ROM查找表和D/A
图1 设计结构图
162020.05图2 设计框图图3 DDS输出波形图图4 整个系统电路原理图
直接数字频率合成(DDS)移相原理是:数字移相信号发生器的核心是DDS,在计数器的控制下相位累加器输出与相位增量相加,相加后的结果形成正弦查询表地址,取出表中与该相位对应的单元中的幅度量化正弦函数值,经高速D/A转换器输出模拟信号。两路信号的相位差用相位字来控制,当相位控制字无输入的时候,经正弦查找表输出的两组数据序列完全相同,则转换所得到的两路正弦波信号无相位差称为同相。当相位控制字有输入时,经正弦查找表输出的两组数据序列不相同,则转换所得到的两路正弦波信号就存在着相位差。只要相位字不同,就可得到两路不同相位的移相信号,由此可见移相的角度由输入的相位控制字决定。
3 系统的仿真电路设计
3.1 电路原理图
在原理图中,频率控制通过累加器输出信号如图5所示。
图5 DDS输出信号
当相位累加器字长为N,频率控制字为K,系统时钟频率为fc,
输出波形频率fout=fc/2N*K频率分辨率为Vf=fc/2N。设计研发图6 正选查找表输出信号当系统时钟的频率固定不变时,DDS的频率分辨率只有相位累加器的字长N决定,若系统中的的系统时钟为20MHZ,N=32那么:Vf=fc/2N=20MHZ/232=0.0047HZ,因此可以认为DDS的分辨率是非常高的。当信号通过LUT正弦查找表后输出信号近似如图6所示。当有相位控制字输入时,相位寄存器输出端与相位控制字通过加法器相加,就相当于在已有的正弦波基础上(即起始值为0的时候)重新设定一起始值,并生成正弦波,此正弦波就相当于移相信号。正弦ROM查找表的作用是将数字线性累加信号转换成为数字正弦信号。在ROM中存储的数据点越多,那么得到的正弦波波形就越光滑,失真就越小。其中M为ROM的位数,本设计ROM为10位,所以一张数据表格由2M=210=1024个数据点组成,存储了一个周期的正弦波。相位差的分辨率为:P=2π/210=0.35156250。相移:∆θ=P*相位控制字。假定系统的时钟频率为20MHZ,ROM中存储一个正弦周期数据为210=1024个,移相角度变化范围为0~2π,那么移相分辨率为2π/1024=π/1024=0.35156250。
3.2 电路仿真
Simulink仿真参数设置为Stop time为1000,Type为Fixed-step,步进为1e-3。运行仿真结果如图7所示输出波形。由仿真结果分析知其频率能够受频率控制字的控制,其相位也能够受相位控制字的控制。
图7 输出波形
图8 功能仿真图
仿真正确后,用SingalCompiler工具将此模型转换成
17设计研发VHDL语言源程序,并在QuartusII软件中编译生成的VHDL语言程序,并对生成的VHDL代码进行功能仿真。在QuartusII下打开项目工程文件,对VHDL语言代码进行编译,编译无误后,锁定引脚。进行功能仿真如图8所示;然后将代码转化成元器件如图9所示。表1 相移测试数据2020.05相位控制字50100150200250理论相移(度)17.635.252.770.387.9实际相移(度)18367390绝对误差(度)0.40.81.32.72.1相对误差2.2%2.2%2.4%3.69%2.39%注:绝对误差=|实际值-理论值| 相对误差=绝对值/实际值*100%由上表分析可知,该移相正弦信号发生器所产生的移相正弦信号相移度数与理论度数基本相似,误差较小。图9 VHDL代码转换成的元器件 4 总结本设计基于FPGA的移相正弦信号发生器,利用了Altera公司开发的DSP Builder的建模方便快捷,提高了开发效率,缩短研发周期,而且系统的调试方便,容易修改。该设计系统产生的信号频率相位均可以调节,且分辨率极高,精度可调。如果要改变输出波形的频率和相位,只需要将频率控制字、相位控制字的输入即可。如要改变输出波形的精度,只需要改变设计原理图中相位累加器和正弦查找表的的位宽。因此采用基于FPGA的DSP Builder设计数字移相信号发生器简单快捷且方便可调,实验表明系统产生的波形稳定,抗干扰能力强,频率、相位和幅度调节方便,精度高,有一定的开发及生产价值。创新点:采用DSP Builder模块实现数字移相信号,设计简单,避免了VHDL编程的复杂性,而且又便于修改和扩充其功能。
图10 SignalTap II显示信号波形
为了简便,频率和相位控制字设定为常数。将编译生成的SOF格式配置文件配置到FPGA实验箱中,设计采用Quartus软件中的嵌入式逻辑分析仪SignalTapII来观察波形。在实际的检测中,SignalTapII讲测得的样本信号暂存于目标器件中的嵌入式RAM中,然后通过器件的JTAG端口采得的信号传出,送入计算机进行显示分析。如图10所示。
Clk设置为100MHz,频率控制字F=100,相位控制字P=250。由原理图有当相位累加器字长为N=32,相位加法器字长M=10,那么就有输出频率fout=fclk/2N*F=2.33Hz,相移∆θ=2π/2M*P=87.90,根SignalTap II显示信号波形可知相移其绝对误差=|测量值-真实值|=900-87.90=2.10,相为900,
对误差=绝对误差/真实值*100%=2.10/87.90*100%=2.39%。由此可见,所设计的系统移相控制教准确。当相位控制发生改变后,移相信号的相移也相应的发生改变。
当保持频率不变,改变相位控制字的输入观察Signa lTapII显示的正弦信号波形以及移相信号波形。当频率控制依次为50,100,150,200,250的时候观察波形,并记录下相关数据如表1所示。
参考文献
[1]王艳林.相位差可调的双通道信号发生器的设计[J].电子
技术应用, 2004. 05 : 1-6.
[2]曹亚楠,王秀娟,刘继光.基于DDS的数字移相信号发
生器[J].煤矿现代化, 2010. 01 : 2-6.
[3]王志强.数字移相信号发生器的设计研究[J].中国高新技
术企业, 2008. 22 : 1.
[4]邢燕.基于FPGA的新型短波时码产生器的设计与实现[J].
中国科学院国家授时中心, 2007.
[5]罗贤亮.面向FPGA的EDA开发流程设计[J].科技与生活,
2010(4). 6
[6]黄俊.基于FPGA的高频高精度数字移相信号发生器[D].
浙江师范大学, 2013.
[7]刘新云.基于FPGA的移相信号发生器的实现[J].黄石理
工学院学报, 2011. 01 : 3-14.
(上接第140页)
粘接,2019,40(11):60-62.
[2]徐晓东,董志强.新能源汽车动力电池压差故障与维修技
术研究[J].内燃机与配件,2019(17):197-198.
[3]徐艳民.电动汽车退役锂离子动力电池故障诊断及梯次
利用关键技术研究[D].华南理工大学,2018.
[4]张经国. W新能源汽车动力电池公司生态化运营管理研
究[D].武汉纺织大学,2018.
18
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务