4.系统软件设计
4.1 系统软件总体设计
要实现对系统的软件控制,合理安排程序流程尤为重要。系统程序流程图见图5.
从低到高的时钟信号从外部输入,或者由内部32位的刷新时钟把I/O缓冲寄存器中的控制字传送到AD9850的DDS内核,这样就可以从写端口写入AD9850的控制字暂时寄存在I/O缓冲寄存器中;所以,程序设计中要特别注意AD9850的时序要求,正确送出逻辑控制字,注意其刷新时钟。
4.2 键盘扫描及按键识别子程序
在本设计中,所设定的频率和初始相位都是通过2×2键盘输入的,因此要通过键盘扫描和按键识别程序将输入的键值处理后送至AD9850.键盘的工作方式一般有循环查询工作方式、定时中断扫描工作方式和中断工作方式。
为了提高CPU的工作效率,可以采用中断的方法扫描键盘,即只有在键盘有键按下时,才执行键盘扫描并执行该按键功能程序。如果无按键按下,单片机将不理睬键盘。子程序流程图如图6所示。
4.3 控制字写入程序
并行控制写入过程如下:FQ UD由高电平转为低电平,单片机将数据W0输出;之后,单片机控制W CLK由低电平转为高电平,保持至少3.5ns后,再由高电平转为低电平,此时写完控制字W0;然后按照写入W0过程,依次写入W1、W2、W3、W4;,单片机控制FQ UD由低电平转为高电平,完成40位数据写入过程,同时把地址指针复位到个输入寄存器W0,为下次写入频率/相位控制字作好准备。控制字写入流程如图7所示。
并行控制字写入子程序如下:
5.系统测试
系统功能的实现需要CPU与外围电路的密切配合。为保证系统按照设计意图正常工作,必须对硬件电路和程序代码进行仔细调试,因此系统的调试在设计中占据着重要的地位。
5.1 系统上电前的测试
在系统上电前,需要对硬件电路板进行仔细测试,看电源和地之间是否短路,芯片各引脚之间是否短路,芯片各引脚是否与焊盘连接良好,是否有焊接错误。主要是采用两种方法,其一就是利用显微镜对电路板的焊接情况进行仔细检查,看是否有短路,焊接是否可靠;其二就是利用数字万用表对各引脚和测试点进行检查,保证电路上没有短路。
5.2 电源、晶振的测试
电源电路、晶振电路和复位电路是保证整个系统正常工作的基础,虽然其调试相对比较简单,但也应首先保证他们的正常工作。单片机和AD9850的供电电源是5V.在接入外部电源前。首先要对外部输入电压进行测量,用万用表测得5v是否符合要求,经测试,电压值为5V,符合系统供电要求。然后用示波器对两个电源进行检测,看其是否干净,有没有杂散,实测5V电压均很稳定。
晶振的调试就比较简单,单片机使用的是12MHz的温度补偿晶振,用示波器检测后,发现其工作正常。AD9850使用100MHz的温度补偿晶振,用示波器检测后,发现其工作正。
5.3 正弦信号的产生
从键盘输入正弦信号的频率和初始相位值,通过单片机将输入的频率和相位值转换为频率/相位控制码,AD9850选择的是并行数据输入模式,40位的数据控制字经8位数总据线分5次重复输入。W CLK端和FQUD经过5次加载后,输入了40位的数据控制字,W CLK端信号的上升沿将被忽略,数据将不再被加载,直到下一个复位信号或者下一个FQ UD端信号的上升沿到来为止。在FQUD端信号的上升沿将40位的控制字加载进入相位累加器,并且将地址指针复位指向个数据输入地址端。每传输8位的控制码后,延时3.5ns,置单片机引脚P3.3为l,即产生一个有效的W CLK上升沿信号,将控制码送入AD9850输入数据寄存器当中,重复5次后,就可将40位的控制码全部加载到AD9850的输入数据寄存器当中,然后再延时lns,置单片机引脚P3.2为l,即产生一个有效的FQ UD上升沿信号,再延时Ins后,将40位的控制码全部加载到AD9850中的DDS频率合成部分中,经过13至118个周期后,就可以得到所需要的信号了。图8为1MHz的正弦信号,图9为10MHz的正弦信号。
6.结论
本文根据现代电子技术的发展需要以及直接数字频率合成技术的特点,设计出了一套基于DDS的高信号源,该信号源能够产生正弦波信号波形。经过系统的软件、硬件调试试验,所设计的系统能够产成正弦波形,信号的频率、相位、幅度的调节和抗干扰性等技术性能指标基本上达到了预期的设计目标。通过本文设计以及对DDS的研究表明,DDS技术可以应用在高速宽带频率合成领域,特别是在对频率切换速度、频率分辨率及相噪、杂散要求较高的场合,DDS技术显示了特殊的优势。本文只是DDS技术的初步研究,要达到性能完善,还有很多工作要做。比如电磁兼容的考虑、各种同步信号的设计以及系统稳定性问题等等。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。