新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AD9850实现嵌入式信号源设计

AD9850实现嵌入式信号源设计

作者:时间:2011-09-19来源:网络收藏
2 系统软件

本文引用地址:http://www.eepw.com.cn/article/150203.htm

  软件主要分为菜单操作和频率控制值计算两部分。在系统中通过外接4×4软键盘输入设定频率和调整步进。一共16个按键,不同的按键代表着不同的数字和功能,除了正常的10个数字键0~9外,为了方便频率值的输入,还了菜单键、删除键、步进一、步进十、确认键、输出键等功能键。通过输入0~9数字键,输入设定频率;按下确认键,输出相应频率的波形;按下菜单键,可根据需要按下1,2,3数字键,分别选择1 Hz,10 Hz,100 Hz三个档位的频率步进;按下确认键,此后按下步进+、步进一即可对输出信号进行频率的步进调整;欲重新设定频率只需按下删除键,再次输入预设的频率即可。

  该系统中单片机与采用串行通信方式连接。其中,频率控制字的计算:的时钟信号采用30 MHz,根据式(1)得:

  

  式中:fo为从键盘上输入的频率值。式(3)计算的结果在不影响精度的情况下舍去小数部分,转换为32位的频率控制字。有40位控制字,32位用于频率控制,5位用于相位控制,1位用于电源休眠(PowerDown)控制,2位用于选择工作方式。这40位控制字可通过并行方式或串行方式输入到AD9850。实际应用中,工作方式选择位通常设定成00,该系统中AD9850的40位控制字高8位设置为00H。串行接口方式下需满足的时序关系为:在W_CLK的上升沿,引脚D7上的数据自最低有效位开始逐位串行移人输入寄存器,40位数据输入结束后,任何W_CLK上升沿到来,都会造成数据顺序移出并导致原来数据无效。此时,FQ_UD端的上升沿将40位数据装入频率/相位控制寄存器,更新芯片的输出频率和相位,同时把地址指针复位到第一个输入寄存器,等待下一组新数据的写入。AD9850的控制字串行输入时序图如图6所示。

  

  该系统的总程序框图如图7所示,程序开始后,运行初始化程序,包括初始化单片机MSP430F149、初始化AD9850、初始化液晶显示模块1602等。然后扫描键盘状态,检查到有键按下就运行键值处理程序,对按键值进行查表处理,之后执行相应的子程序。输入的信号相关信息通过运行液晶显示程序,在LCD上显示正确的输入数据和提示字符。在按下确认键后,MSP430F149计算出所需信号的数据或控制命令,将其传送到AD9850,输出最终信号。

  

  3 系统测试与结果分析

  为了检验本系统的实际性能,在完成所有设计后,使用HDSTO22M型示波表对该系统进行实测,经过实验测试系统达到下列性能指标:输出信号频率范围为1 Hz~10 MHz;步进调整为1 Hz,10 Hz,100 Hz三档步进;失真度无明显失真;输出电压峰峰值为1~10 V;频率稳定度优于10-4。

  4 结 语

  在此给出一种基于DDS芯片AD9850和MSP430F149单片机的设计方法,该可输出频率范围为1 Hz~10 MHz的正弦波和方波,且具有频率设定1 Hz,10 Hz,100 Hz多档步进调整和幅度调节的功能。可以通过按键进行频率值设定,并有LCD显示波形的频率等信息,经实验测试,在1 Hz~10 MHz频率范围内,得到的正弦波方波信号具有频率稳定性好,频率准确度高及频率分辨率高等特点。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭