数
图15系统软件框图
各函数的作用和相互关系:
在主函数中首先对系统的时钟、IO口、定时器TA进行了初始化。初始化完毕,开启总中断。接着进入while(1)循环等待定时器中断子程序的执行。按键中断函数主要对三个菜单按键(P22、P21、P20)的动作进行处理。这三个菜单按键可以实现波形的切换,频率的加减,信号的使能输出。在按键中断函数中修改的信号频率大小和波形的种类这两个参数会被主函数和定时器TA中断函数调用。
定时器频率计算原理。TA定时器设置为连续增计数模式,时钟频率fs采用SMCLK同步。若要产生XHz的正弦波、锯齿波、三角波和方波则有:
TA0CCR0
fs200
X
在上式中,寄存器TA0CCR0是用以定时器TA的初始值。本作品采用的是200个采样点。
三、方案论证
方案一:由MSP430G2553结合低通滤波器电路来模拟实现DDS芯片的功能,进而产生各种波形。优缺点:利用此方案可以充分利用MSP430G2553上资源,使系统成本大大降低。但是此方案只能产生低频率的波形,不适合此次参赛题目要求。方案二:控制部分由MSP430G2553实现,波形产生部分使用FPGA或CPLD芯片采用波形查找表结合高速的DAC产生。优缺点:此方案自由度大,符合现在的发展趋势。但是,FPGA或CPLD芯片价格相对比较高,加上高速的DAC芯片,使设计成本大大提高。而且整个设计中MSP430G2553仅仅完成简单的控制功能,资源得不到充分的利用。方案三:由MSP430G2553实现对专门的DDS芯片(如AD9850、AD9833)的控制,
f来产生各种波形。优缺点:利用此方案产生波形的频率稳定度高,易于程控。但是,专门的
DDS芯片价格高,系统成本高。方案四:控制部分由MSP430G2553实现,波形通过代码控制生成数字量信号,再用
DA转换器输出正弦波、锯齿波、三角波及方波,也可以实现频率的数控调整。优缺点:方法简单易行,采用单片专用芯片,系统体积大大减小。可产生较
高的频率,容易调节频率。但是,未能很好的利用MSP430G2553的内部资源。综上,方案四的系统成本低,性价比较高。方案的可行性也较高,外围电路
简单,能产生较高的频率且可以满足此次参赛要求。所以本作品最终采用方案四。
四、程序流程图
1主程序流程图
开机后,主程序首先关闭看门狗,接着对相应的IO口、系统时钟、定时器TA进行初始化,完成后开总中断。然后,执行mai
函数。主程序流程图如图16所示。
开始
系统初始化
Mai
函数
图16主程序流程图
2定时器中断服务子程序流程图定时器TA的中断服务程序中主要处理判断信号标志位key的值,r