2 系统软件设计
软件设计主要分为菜单操作和频率控制值计算两部分。在系统中通过外接4×4软键盘输入设定频率和调整步进。一共16个按键,不同的按键代表着不同的数字和功能,除了正常的10个数字键0~9外,为了方便频率值的输入,还设计了菜单键、删除键、步进一、步进十、确认键、输出键等功能键。通过输入0~9数字键,输入设定频率;按下确认键,输出相应频率的波形;按下菜单键,可根据需要按下1,2,3数字键,分别选择1 Hz,10 Hz,100 Hz三个档位的频率步进;按下确认键,此后按下步进+、步进一即可对输出信号进行频率的步进调整;欲重新设定频率只需按下删除键,再次输入预设的频率即可。
该系统中单片机与AD9850采用串行通信方式连接。其中,频率控制字的计算:AD9850的时钟信号采用30 MHz,根据式(1)得:
式中:fo为从键盘上输入的频率值。式(3)计算的结果在不影响精度的情况下舍去小数部分,转换为32位的频率控制字。AD9850有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频率范围内,得到的正弦波方波信号具有频率稳定性好,频率准确度高及频率分辨率高等特点。
该设计的创新点在于:将DDS芯片AD9850与超低功耗的MSP430F149单片机结合,提出了具有较高性价比和集成度、低功耗的嵌入式信号源设计方案;并且AD9850与MSP430F149采用串行连接方式,节省单片机的I/O资源,便于系统的功能扩展和产品升级。该信号源具有精度高,频率范围宽,频率输出稳定,体积小,功耗低,控制灵活方便的特点,可广泛应用于日常教学和科研工作中,如果再经过结构优化,将具有良好的市场前景。