基于DDS的信号发生器课程设计报告教材

基于DDS的信号发生器课程设计报告教材
基于DDS的信号发生器课程设计报告教材

电子系统CAD课程设计

报告

电子系统CAD课程设计任务书

电子系统CAD要求最多以两个人为一组的形式,完成以下选题中的一项。

选题一:基于GSM的远程测温系统

通过利用移动通信GSM网络实现无线远程温度报警系统,基于GSM的远程监控系统可以随时随地接收来自远端现场情况的最新资料和报警信息,即当远程现场的温度超过报警阈值时,会自动通过GSM网络(GSM/GPRS模块)以短信的方式发送报警信息给需要通知的手机用户。远端现场是基于PIC单片机的测温系统,并以RS232的方式与GSM模块通信。具体功能:

1、测温现场以LCD方式显示当前温度,每隔10S进行温度采集

2、通过键盘可以手动设置报警温度阈值,以及报警手机号码

3、通过键盘可以查询报警手机号码

4、当温度超过报警阈值时,蜂鸣器报警的同时,并以短信的方式通知报警

手机

扩展功能:

5、可用远程短信设置阈值以及报警号码;

6、当温度回落安全值时,单片机控制GSM发送安全短信告知报警解除。

选题二:基于DDS的信号发生器

(1)基于AD9851实现函数信号发生器,即通过PIC等微控制器控制DDS芯片AD9851

输出频率可设置的正弦波或方波。具体要求如下:

1、输出频率范围:1HZ~10MHZ

2、可通过键盘设置输出信号的频率,且频率步进可调,LCD做相应的显示

3、频率稳定度越高越好。

扩展功能:

4、输出正弦波的幅度可调节

(2)基于FPGA实现函数信号发生器

输出频率可设置的正弦波或方波。具体要求如下:

1、输出频率范围:1HZ~10MHZ

2、可通过拨码开关设置输出信号的频率,且频率步进可调,LED做相应的显示

3、频率稳定度越高越好。

选题三:基于步进电机的位移控制系统

PIC微控制器通过控制步进电机28BY-48的运转实现位移运动,具体要求:

1、给定电机的转速,并应用红外测速的方式测量电机转速

2、通过键盘给定转速、位移方向、位移距离,同时LCD显示设置要求,到达目

的地时,蜂鸣器鸣叫通知,位移精度越高越好;

扩展功能:

3、在PC机上开发控制步进电机运动的人机界面,PC通过RS232与PIC通信,

相互传输数据信息。用户通过PC机上的人机界面给出转速、位移方向和距离,同时PIC也向PC机返回位移运动结果。

基于DDS 的信号发生器课程设计

一、DDS 技术的基本原理

DDS 电路的工作原理如图1所示:

其工作过程为:

① 将存于数表中的数字波形,经数模转换器D/A ,形成模拟量波形。

② 两种方法可以改变输出信号的频率:

1) 改变查表寻址的时钟CLOCK 的频率,可以改变输出波形的频率。

2) 改变寻址的步长来改变输出信号的频率,DDS 即采用此法。

步长即为对数字波形查表的相位增量,由累加器对相位增量进行累加,累加器的值

作为查表地址。

③ D/A 输出的阶梯形波形,经低通(或带通)滤波,成为质量符合需要的模拟波形。

该DDS 系统的核心是相位累加器,它由一个加法器和一个N 位相位寄存器组成,每来一个时钟,相位寄存器以步长M 增加,相位寄存器的输出与相位控制字相加,然后输入到正弦查询表地址上。正弦查询表包含一个周期正弦波的数字幅度信息,每个地址对应正弦波中 0~360o 范围的一个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,驱动DAC ,输出模拟量。相位寄存器每经过M N

2个c f 时钟后回到初始状态,相应

的正弦查询表经过一个循环回到初始位置,整个DDS 系统输出一个正弦波。输出正弦波频率为:

c N out f M f 2

频率控制字与输出信号频率和参考时钟频率之间的关系为:

图1

图2 相位累加器工作示意图

fc

f M N

out 2?= 其中N 是相位累加器的字长。频率控制字与输出信号频率成正比,可见控制M 就能得

到任意频率的信号。 在图中,相位累加器输出位并不全部加到查询表,而要截断。相位截断减小了查询表长度,但并不影响频率分辨率,对最终输出仅增加一个很小的相位噪声。 通常用频率增量来表示频率合成器的分辨率,DDS 的最小分辨率为:

N c f f 2min

=?

这个增量也就是最低的合成频率。 由取样定理,所产生的信号频率不能超过时钟频率的一半,因此最高的合成频率为:

c o f f 21max

= 在实际运用中,为了保证信号的输出质量,输出频率不要高于时钟频率的1/4,以避免

混叠或谐波落入有用输出频带内。 正弦ROM 查询表完成输出信号相位到幅度的转换,它的输入是相位寄存器和相位控制字之和,其实也就是ROM 的地址值(宽度为P 位);ROM 查找输出的数据(也为P 位)送往D/A 转换成模拟信号。在实际应用中,P 不能太大,如果P 太大,会导致ROM 容量的成倍上升,而输出受D/A 精度的限制未有很大改善。图2为相位累加器工作示意图,从图中可以看出,虽然相位累加器的位数为N 位,但是只取高P 位进行ROM 查表。

二、设计思路及基本内容

1、构造信号发生器,产生频率可控的正弦波或方波

16位加法器由LPM_ADD_SUB 宏模块构成,设置了1阶流水线结构,使其在时钟控制下有更高的运算速度。16位寄存器由LPM_FF 宏模块担任。加法器与寄存器构成了一个16位的相位累加器,其中高7位A[14..8],A[15..9]均可作为波形数据ROM 的地址。

正弦波形数据ROM 模块的地址线为7位,数据线位宽为9位。这就是说,其中一个周期的正弦波数据有128个,每个数据有9位。其输出可以接一个8位(截去最低位)的高速DAC 。ROM 中的mif 文件由mif 波形发生器产生。

频率控制字输入为B[15..0]与由DAC[9..0]驱动的DAC 的正弦信号的频率关系可以表示为:

16

[15..0]2out clk B f f , 式中out f 为DAC 输出的正弦波信号频率;clk f 是CLK 的时钟频率,实验箱上的直接输入是262KHZ 。原理图如下:

其中,choose 模块用于选择所要输出的波形是方波还是正弦波,当ENB=1时,输出的波形是方波,当ENB=0时输出的波形为正弦波。

(1)由输入的时钟脉冲为262KHZ ,相位累加器位宽为16位,得到步进频率为4HZ ,当频率控制字为4时,得到的正弦波的频率为16HZ 左右,波形如下:

(2)当频率控制字比较大时,为了体现出频率控制字的倍乘,所取波形如下:

(3)由于ROM存储空间有限,在生成mif波形文件的时候,取的点数为128,当频率控制字控制得到的波形频率为15KHZ左右时,波形已经开始产生失真;当频率为138KHZ 左右时,则严重失真。因此如果希望得到比较完美的波形,可适当增加mif波形文件的采样点数以及数据位宽,这样在较高的采样频率下,仍能得到比较满意的波形。

(4)当ENB即波形选择使能端为高电平时,输出波形为方波。当频率达到26KHZ左右时,波形开始失真,示波器显示如下:

2、在产生正弦波或方波的基础上,增加频率计及显示模块

(1)计数器模块,即通过比较器和锁存器得到输入信号脉冲的个数,这里采用一个双十进制计数器74390和其他一些辅助元件来完成。

(2)时序控制电路设计

欲使频率计能自动测频,还需增加一个测频时序控制电路,要求产生3个控制信号:CNT_EN、LOCK和CLR,以便使频率计能够自动完成计数、锁存和清0三个重要的功能步骤。该电路由3部分组成:4位二进制计数器7493、4-16译码器74154和两个由双与非门构成的RS触发器。

(3)频率计主结构电路设计

在下图所示电路中,74374是8位锁存器;74248是7段BCD译码器,其7位输出可以直接与7段共阴数码管相接(上方的74284显示各位频率计数值,下方的显示十位频率计数值),加入之前已经生成的计数器模块和时序控制电路模块,原理图如下:

3、基于DDS的信号发生器

将上述频率计模块加入到信号发生器中,并进行软件仿真

仿真结果如下:

三、存在的问题及解决方案

1、首先对于波形失真,可以增加采样点数或者是降低采样频率。在只输出正弦波的设计中,可以得到1024个采样点,数据位宽为8位的mif文件,示波器显示结果很好。

2、由于ROM的存储空间有限,所以波形选择模块有待改进。比较满意的结果是,所有的波形数据均存储在同一个ROM宏模块中,通过处理采样得到的数据,输出相应波形

3、在结合频率计,测出输出波形频率的电路设计中,思路是通过时序控制电路得到输出波形过程中,对包含的时钟脉冲个数进行计数,得到相应的频率。软件仿真结果很好,但是在实验箱上的显示结果不太满意,可能与寄存器的存储脉冲频率以及计数形式有关。

四、总结

本次课程设计过程中,对之前学过的FPGA知识进行了巩固,对于一些以前没有接触过的模块进行了大胆尝试。此外,我觉得最重要的,或许不是最后做出的信号发生器输出的是什么结果,而是在这个过程中,锻炼了自己不断发现问题并解决问题的能力。一开始实现的信号发生器功能的确很少,在老师的指导下,进行了改进,优化了电路设计,并添加了新的功能,感觉收获颇多。

相关主题
相关文档
最新文档