基于MSP430G2553的简易信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MSP430G2553的简易信号发生器
浙江工业大学
摘要:本作品基于TI的LaunchPad设计了一款简易信号发生器,选用TI的MSP430G2553单片机。通过单片机加外围LCD12864、DAC0832及TL082放大电路,实现了可产生正弦波、锯齿波、三角波、方波的简易信号发生器,且频率可调。
关键词:MSP430G2553 DAC0832 正弦波锯齿波三角波
一、作品基本功能介绍
2 在信号产生和处理方面。通过MSP430G2553内部的TA 定时器,外加DAC0832产生四种波形,在DA 输出后,通过一个由运算放大器TL082和精密可调电位器组成的运算放大电路,以实现信号的增益控制。最后在 50负载电阻上输出电压。系统总体框图如图1.1所示。
图1.1 系统总体框图
3 人机交互方面。本作品使用三个独立按键来控制菜单选项,其功能如表1.2所表1.2 按键功能说明
二、系统硬件和软件说明
1
硬件构成
本作品使用LCD12864作为人机交互模块,由于MSP430G2553的I/O 口很少,所以通过对LCD 的进行串行数据输入,以节约I/O 口。其连接如图1.2所示。
+5V
图1.2 LCD12864硬件连接
由于是通过MSP430G2553输出数字量的信号来产生波形,因此需要用到
DA将数字量转换为模拟量。考虑到单片机的I/O口数量,选用8位的DA来进行数模转换。硬件如图1.3所示,DAC0832采用直通工作方式,节省I/O口控制引脚。
+5V
P1.0-P1.3
P1.4-P1.7
+5V
I OUT
图1.3 DAC0832 直通方式硬件连接
由DAC输出模拟量后,由于波形的幅值太小,因此还需要进行幅值的放大。其中R3是精密可调电位器,方便用户对信号的幅度进行调节。50Ω的电阻可以保证整个信号发生器的输出阻抗为50Ω。信号幅度调节和输出部分电路如图1.4所示。
图1.4 幅值放大的硬件电路
2 软件系统
整个系统的软件主要有主函数、定时器TA中断函数、按键中断函数三个大
的模块组成。系统软件框图如图1.5所示。
图1.5 系统软件框图
各函数的作用和相互关系:
在主函数中首先对系统的时钟、I/O 口、定时器TA 进行了初始化。初始化完毕,开启总中断。接着进入while (1)循环等待定时器中断子程序的执行。按键中断函数主要对三个菜单按键(P2.2、P2.1、P2.0)的动作进行处理。这三个菜单按键可以实现波形的切换,频率的加减,信号的使能输出。在按键中断函数中修改的信号频率大小和波形的种类这两个参数会被主函数和定时器TA 中断函数调用。
定时器频率计算原理。
TA 定时器设置为连续增计数模式,时钟频率f s 采用SMCLK 同步。若要产生X Hz 的正弦波、锯齿波、三角波和方波则有:
TA0CCR0=
X
s
200f
在上式中,寄存器TA0CCR0是用以定时器TA 的初始值。本作品采用的是200个采样点。
三、方案论证
方案一:
由MSP430G2553结合低通滤波器电路来模拟实现DDS 芯片的功能,进而产生各种波形。
优缺点:利用此方案可以充分利用MSP430G2553上资源,使系统成本大大降低。但是此方案只能产生低频率的波形,不适合此次参赛题目要求。
方案二:
控制部分由MSP430G2553实现,波形产生部分使用FPGA 或CPLD 芯片采用波形查找表结合高速的DAC 产生。
优缺点:此方案自由度大,符合现在的发展趋势。但是,FPGA 或CPLD 芯片价格相对比较高,加上高速的DAC 芯片,使设计成本大大提高。而且整个设计中MSP430G2553仅仅完成简单的控制功能,资源得不到充分的利用。
方案三:
由MSP430G2553实现对专门的DDS 芯片(如AD9850、AD9833)的控制,
来产生各种波形。
优缺点:利用此方案产生波形的频率稳定度高,易于程控。但是,专门的DDS芯片价格高,系统成本高。
方案四:
控制部分由MSP430G2553实现,波形通过代码控制生成数字量信号,再用D/A转换器输出正弦波、锯齿波、三角波及方波,也可以实现频率的数控调整。
优缺点:方法简单易行,采用单片专用芯片,系统体积大大减小。可产生较高的频率,容易调节频率。但是,未能很好的利用MSP430G2553的内部资源。
综上,方案四的系统成本低,性价比较高。方案的可行性也较高,外围电路简单,能产生较高的频率且可以满足此次参赛要求。所以本作品最终采用方案四。
四、程序流程图
1 主程序流程图
开机后,主程序首先关闭看门狗,接着对相应的I/O口、系统时钟、定时器TA进行初始化,完成后开总中断。然后,执行main函数。主程序流程图如图1.6所示。
图1.6 主程序流程图
2 定时器中断服务子程序流程图
定时器TA的中断服务程序中主要处理判断信号标志位key的值,然后输出相应值的波形。定时器中断服务程序流程图如图1.7所示。
3按键中断服务程序流程图
按键中断服务程序中主要处理波形的选择、频率的加减、信号输出使能等功能。按键中断服务程序流程图见图1.8所示。
图1.7 定时器中断服务子程序流程图
图1.8 按键中断服务子程序流程图
五、结论
本文设计的信号发生器基本达到了比赛的要求,能够实现正确波形,能步进100Hz调节输出波形的频率,输出频率也比较稳定。但是由于DA存在点问题(已被我焊坏),输出的波形放大能力不高。还有待改进。
表1.3是主要的波形测试结果。