基于dds的信号源设计与制作正文内容摘要:

比较麻烦,本设计采用间接连接方式, 在此重点讨论 8位总线方式。 其电路图如图。 陕西理工学院毕业论文 (设计 ) 第 13 页 共 55 页 图 LCD1602 与单片机的间接连接电路 如图所示, LCD 的 8 位数据总线与 AT89C51 的 P1 口相连,三个控制端口 RS、 R/W 和 E 分别接 AT89C51 的 、 、 ,根据程序设计的不同也可选用 P3口的其它管脚。 VL 是 LCD的对比度调节端,接正电源时对比度最弱,接地时对比度最高,本电路使用 1K 的电位器来调整对比度,也可直接串接一个电阻到地。 单片机要写入指令时 RS 为低电平;单片机要写入数据时 RS 为高电平; R/W为高电平时读取数据, R/W为低电平时写入数据。 需要背光时, BLA串接一个限流电阻接 VDD, BLK接地。 9 管脚的复位端分别接 10uf 极性电容和 10K电阻,电容接电源,电阻接地,同时复位端通过按键接电源,当按键按下时单片机复位。 独立式按键接 AT89C51 的 P0 口,键盘控制频率输入在 LCD 上显示。 低通滤 波器是保证输出信号频谱纯度的重要部件。 为了有效地滤除主频以上的杂散分量 ,要求滤波器的衰减特性要陡直 ,延迟时间要短。 根据这个要求 ,考虑到椭圆函数滤波器比全极点型滤波器 (如 :巴特沃兹 (Butterworth )、切贝雪夫 Chebyshev)滤波器等 )能做到对理想低通的最佳近似,且在同等技术指标下所需阶数最低,因而电路实现起来也比其他类型滤波器容易。 故采用椭园函数滤波器。 图 的电路图。 该图指标为 :从 035MHz最大波纹 < 0. 2dB,在 35MHz处 最小衰减 Amin为 50dB,Rs=R1=200Ω。 陕西理工学院毕业论文 (设计 ) 第 14 页 共 55 页 图 椭圆函数低通滤波器电路 软件程序 参考了指导老师提供的程序。 总程序分为三大部分,即键盘控制程序、显示 控制 程序和 DDS控制部分的程序,后者是难点,关键是把二者结合起来。 键盘及液晶显示程序流程图 如 图 所示。 首先 LCD 进行初始化,包括清除显示,设置工作方式、光标闪烁设置等。 工作方式设置为:DL=1,为 8位数据长度接口; N=1,为两行显示; F=0,为 5*7点阵字符。 N Y Y N Y N Y N 图 键盘及 液晶显示 程序 流程图 采用三个独立式按键控制频率的输入,三个独立式按键的功能分别是:光标移位、数值加 1和确认。 调用光标移位子程序用于光标自左向右移动;加“ 1”子程序的功能是对某一位的数值加 1,这样可以改变频率值;当输入频率的值确定时,按下确认键,此时光标消失,数值固定显示。 开 始 LCD 初始化 有键按下。 显 示 移位键按下。 加 1 键按下。 确认键按下。 调用光标移位子程序 调用加“ 1”子程序 去光标,数值固定 陕西理工学院毕业论文 (设计 ) 第 15 页 共 55 页 当确认键按下时,键盘输入信号的频率值,单片机进行控制、计算、查表、求值,产生相应的频率控制字,通过 P2口将频率控制字送给 AD9850 芯片, 输出的 正弦波形 即 为 所需 要的 信号 , 频率值送 LCD 显示。 然后返回键盘扫描程序处于等候状态 , 具体程序见附录 D。 DDS控制部分的程序 是整个程序的核心。 首先是 频率控制字的计算: 由于输出频率 clk320 K ff 2 ( ) K ( △ PHASE) 就是频率控制字,所以要让 DDS 输出正确的频率,就得通过此计算公式进行计算。 在单片机的显示缓冲存储单元里面存储的是输出频率的十进制数,而我们要送给 DDS 的是频率控制字 K ,所以不能把显 存中的数据直接赋给 DDS。 对公式 ,得到 320clk•K=f2f ( ) 这样我们可以按照此公式进行计算后,将数据传输给 DDS, DDS就能输出正确的频率了。 在计算前首先将显存里面的数据转换成十六进制数据,同时也要把 322 和 fclk都转化成十六进制数。 整个计算过程就是十六进制数的乘法和除法。 通过计算得到的数据还是十六进制数,这些数据在 DDS三个控制信号( FQ_UD、 W_CLK、 RESET)的作用下,按照并行输入的顺序传输给 DDS。 这样 DDS就能生成 LCD显示的频率。 其次是 传输程序。 因为 DDS 的频率控制字是 32位,也就是四个字节。 只需要按照频率控制字并行输入时序和顺序在 W_CLK、 FQ_UD信号的作用下输入给 DDS。 由并行输入时序图 ,第一组数据为相位控制字,包括 5位相位控制, 2位工作方式选择, 1位掉电设置。 由于我们的设计题目对相位没有要求,所以给第一组为全 0,当给 W_CLK 一个高电平,一组数据就送进 DDS 的输入寄存器,连续 5次后,数据就全部送 入了 DDS的输入寄存器,最后在 FQ_UD信号上升沿把 40位数送进 DDS 的频率相位数据寄存器。 完成后, DDS 就能输出频率控制字对应的频率了。 在进行这些操作之前,应该给 DDS复位,给 reset信号一个高电平,然后经几个空操作后在给一个低电平就可以了,接着就可以传输数据了。 主程序在调用 DDS 程序完毕后进入了死循环,从而使系统稳定了下来。 各个子程序在调用完之后返回到键盘扫描处,等待再次输入频率值。 系统的软件流程图如图。 源程序 代码 见附录 D。 陕西理工学院毕业论文 (设计 ) 第 16 页 共 55 页 N Y Y N Y N N Y Y N Y 图 系统的软件流程图 数据 及 结果 分析 测试仪器: SS7810型示波器, E321A型通用计数器。 在实验过程中我们对数据进行了测量 , 测量结果如表 : 开 始 LCD 初始化 输出频率 输入频率值送 DDS 计算控制字 将控制字写入AD9850 送 FQ_UD 信号 送完 5 次了吗 有键按下。 显 示 移位键按下。 加 1 键按下。 确认键按下。 调用光标移位子程序 调用加“ 1”子程序 去光标,数值固定显示 陕西理工学院毕业论文 (设计 ) 第 17 页 共 55 页 表 用 SS7810 型示波器测量的输出频率数值 理论值(键盘输入值) 实际测量值 误差 百分误差 1Hz Hz Hz % 2 Hz Hz Hz % 3 Hz Hz Hz % 10 Hz Hz Hz % 11 Hz Hz Hz % 12 Hz Hz Hz % 1000 Hz Hz Hz % 1001 Hz Hz Hz % 1002 Hz Hz Hz % 表 用 E321A 通用型计数器测量的输出频率值 理论值(键 盘输入值) 实际测量值 误差 百分误差 1000000 Hz KHz Hz % 2020000 Hz KHz Hz % 5000000 Hz KHz Hz % 10000000 Hz KHz Hz % 15000000 Hz KHz % 20200000 Hz KHz Hz % 23000000 Hz KHz Hz % 由以上 两 组数据 分析 可以得 出 以下 结论: 首先 ,数据误差都在 %~ %之间,其主要原因是实验室中暂时没有 48MHz的有源晶振,所以实际电路中用 50MHz的有源晶振 代替了 48MHz的有源晶振。 这样就产生了 4%的误差。 也就是说明了系统电路部分的误差只有 %~ %。 其次 ,通过测试可以看出系统的稳定性良好。 在 1Hz~ 10MHz内,完全可以实现步进 1Hz,达到了设计要求。 当键盘输入频率值在 24MHz以上时,输出频率维持在 24M附近,误差迅速增大。 通过 SS7810型 示波器的观察,当输出频率小于 20MHz时波形均正常,其中 100Hz~ 10MHz之间的波形最好。 当输出频率大于 20MHz时波形较差,出现失真。 在实际条件下,当输出频率在 24MHz以内时 DDS都可以正常输出频率。 当要求输出 值 大于 24MHz时, DDS已经无法 产生稳定的频率和波形。 因为根据奈奎斯特抽样定理可知, DDS的最大输出频率为1/2倍的外部时钟频率 ,本设计中外部时钟 为 50MHz,故输出频率范围为 0~ 25MHz。 最后, 要消除有源晶振产生的误差的方法有两种,一种方法是在电路中使用 48MHz 的有源晶振;另一种方法是修改程序中计算频率控制字部分的有关数据。 由于时间关系和对程序的理解分析还不 陕西理工学院毕业论文 (设计 ) 第 18 页 共 55 页 够深入详尽,所以没有进一步的对程序做出修改。 经测试 分析 ,由单片机、 DDS芯片 AD9850构成的信号源达到了题目提出的要求。 由于采用了较为灵活的设计方案,本系统具有 结构紧凑,电路简单,功能强大,可扩展性强的特点。 陕西理工学院毕业论文 (设计 ) 第 19 页 共 55 页 总结 在设计 中,通过对硬件的 设计、安装、调试以及软件程序的分析。 我 对 单片机、 DDS 芯片、 液晶显示技术的 工作 原理和特点有了充分的了解 和认识 ,特别是进一步熟悉了 AD9850 和 字符点阵式液晶模块 LCM1602B 的应用,在对软件程序分析 的过程中进一 步掌握了汇编语言编程。 键盘输入的频 率值可在液晶上稳定显示,并可以通过功能键的设。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。