• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 基于FPGA和DDS技术的正弦信号发生器设计

基于FPGA和DDS技术的正弦信号发生器设计

录入:edatop.com     点击:

2.2 单元电路

2.2.1 单片机控制模块实现方式

单片机实现部分主要处理数据输入及数据显示,此模块以AT89S51为中心,控制键盘输入和LED显示,其中键盘输入值作为频率控制字送给FPGA处理。单片机的P1口直接与键盘连接,无键按下时为高电平,当有键按下时就变为低电平。可以设计键1为"0"值键、键2为"1"值键,满足频率控制字以二进制进行输入;键3为输入确定键;键4和键5为频率步进控制键,键4为加100 Hz键,键5为减100 Hz键,当键3按下时将输入设置的频率控制字以二进制数形式送至P2口,然后通过串行口输出并驱动LED静态显示。PO.O和PO.1及PO.2控制数据输出的先后顺序。此模块功能具体实现可通过汇编语言编程后下载到单片机调试并实现,限于篇幅,具体程序不在此展现,只展示设计思路。

2.2.2 FPGA处理模块

(1)FPGA处理模块控制原理

FPGA处理模块是本系统的核心,系统结构图中FPGA模块里的DDS基本结构图如图3所示。

\

图3中DDS工作原理为:相位累加器由32位加法器与32位累加寄存器级联构成。在时钟脉冲,fc的控制下,加法器将频率控制字M与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。

DDS采用改变寻址的步长来改变输出信号的频率,步长即为对数字波形查表的相位增量,由累加器对相位增量进行累加,累加器的值作为查表地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换,波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。

(2)FPGA处理模块实现方式

根据设计要求:要达到正弦波输出频率范围(1 kHz~10 MHz)及频率步进值100 Hz,设相位累加器的位宽为2N,sin表的大小为2P,累加器的高P位用于寻址Sin表。根据DDS工作原理,主频时钟Clock的频率为,fc=100 MHz,累加器按步进为1进行累加直至溢出一遍的频率即为频率步进值。

\

以M点为步长(M为频率控制字),产生信号的频率:

\

由于频率步进值为100 Hz,由式(1)可计算得N=20。要使输出频率达到10 MHz,由式(2)可计算得M=104 857,为了使输出的波形尽可能不失真,频率控制字位宽取17位,高三位添000,由于设计加法器为32位,则低12位添000000000000。本系统中使用的D/A转换器件的输入位宽为10,所以只取相位累加器输出的高10位可满足设计要求。整个过程的实现过程中,本系统选用Altera公司的Cyclone系列芯片,采用VHDL语言描述,利用开发软件QuartusⅡ进行综合,以实现产生l kHz~10 MHz频率范围内的各种正弦信号。

3 实验数据测试

由键盘输入的是二进制频率控制字,通过数码管可以显示出十进制的频率和相位,将信号发生器的输出端和双通道数字示波器接好,任意几个频率为1 kHz~10 MHz之间的信号测试结果如表1所示。

\

4 结语

本系统设计时,相位字是在编程时就固定的,输出正弦信号的频率变化是由频率字变化引起的,而频率字的预置是通过键盘输入的,因此能够得到频率变化的正弦信号,这样的信号源能够很好地满足需要变频信号的情况,因此,实用性较强。通过理论计算和实际测量相比较可以看出,基于FPGA的DDS技术实现正弦信号发生器输出正弦信号频率范围较宽、分辨率高、幅度和频率的精度较高。另外,本系统还很容易扩展,不需要对硬件电路进行较大的修改,只需要修改相应的程序便可实现相应的功能,比如产生PSK,ASK信号等。但是它也有局限性,主要表现在输出杂散大,这是由于DDS采用全数字结构,不可避免地引入杂散,主要来源有三个:相位累加器相位舍位误差造成的杂散;幅度量化误差造成的杂散和DAC非线性造成的杂散。

来源:慧聪网

上一篇:从链接角度理解UDP协议
下一篇:一般情形的电源分配问题

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图