MSP430单片机实用技术讲座(18)
第13讲 简易存储示波器的设计
・南京航空航天大学 魏小龙・
前几讲讲述了ADC12、TA、串口等片内外围设备的情况,再加上一个新的模块运算放大器,这一讲将它们进行综合应用,具体各部分设计
至此,有了大致的设计思路。首先要介绍MSP430片内设计一个简易存储示波器。此设计的目标如下:
输入信号的频率在DC~20kHz;输入信号的电压在20mV~2V;
输入信号的波形通过串口传输到PC机显示;输入信号波形1.5K深度存储。
设计分析与设计思路
以及资源分配
首先,输入信号的频率在DC~20kHz范围。则根据采样定理要求采样频率在40kHz内可调整。而ADC12的最高采样频率在100kHz,就将采样频率设计在100kHz内可调。这里使用定时器TA进行定时采样,通过调整TA的定时时间达到在指定频率采样的目的。
其次,模拟输入信号的电压范围在20mV~2V内,而ADC12的参考电压为1.5、2.5V,要想达到这么大的动态范围,只有将输入信号调节。这里运用MSP430片内自有的运算放大器实现。MSP430片内有3只可编程的运算放大器,每只放大器的放大倍数在1~16倍可调,则可以方便地调节输入信号进入ADC12的幅度。
第三,使用串口送采集的数据到PC机是很方便的。
第四,在PC机端写参数选择面板与示波器波形显示屏程序。
最后,示波器的波形能存储以便分析。这里利用MSP430片内自有的2K字节RAM可以方便实现。
综上所述,此简易存储示波器设计框图如图1所示。
图1
・25的运算放大器。因为模拟输入信号最终需要放大(缩小)到1.5、2.5V内,只有使用运算放大器实现,而运算放大器在MSP430FG43系列中,所以本设计将使用MSP430FG439,MSP430FG439的片内资源为:定时器TA、TB、ADC12、运算放大器OA、通用串口、看门狗等。图2是MSP430FG439片内
图2
运算放大器的结构框图。
以上运算放大器的结构框图为单只运放的框图,其他两只完全一样。在MSP430FG439芯片中,三只运算放大器的引脚都在P6端口上。
每只运算放大器的所有功能在OAiCTL1、OAiCTL0两个寄存器中实现。寄存器各位含义简介如下:
2005年6期
・电子世界单片机与可编程器件
上传与下达两部分。
上传数据包括:模拟量的ADC转换值、采样频率、放大倍数的大小、本次存储的数据长度等信息。
下传的数据包括:要求的采样频率增大还是减小、要求放大倍数增大还是减小、要求本次存储深度等信息。
所以,PC机的屏幕安排如下:三个参数直接使用加减更改,之后下传采集终端(如图5)。
通过以上寄存器的各位可以方便地使用放大器。比如要改变放大倍数,直接更改OAiCTL1中的第5、6、7位的数值即可。
OAiCTL1中的第5、6、7位的数值改变将直接影响图中运算放
大器反馈电阻的阻值改变:反馈电阻中4个R、两个2R两个4R的不同接入方式即图3中的RF。运用
此运放可方便更改放大
图3
倍数这一特点来实现宽的输入电压范围。
图5
1. 构想 在了解了运算放大器的使用之后,下面在本设计中配置这三个放大器:第一个放大器用于输入信号与本示波器的隔离,第二第三放大器用于信号放大。本设计思路:使用第一放大器射极跟随(信号隔离),然后根据信号的大小,再调节放大器的放大倍数到需要的值(能在PC屏幕上显示比较满意的波形)。只有两级放大,放大器的倍数最大为256倍,根据需要,输入信号的幅度范围为10mV~2V,则需要放大200倍,完全能满足要求。所以输入信号在1~200倍可调放大。电路如图4所示。
在输入信号为10mV时,运放放大200
倍,幅度将达到2V,在ADC12的参考电压取2.5V时,转换数据为2/
图4
软件设计
1. MSP430方面 需要完成以下几部分事情:主程序编写、
定时器中断服务程序的编写、串口通讯程序、定时器中断服务程序、ADC12转换程序、运算放大器程序等。主程序主要完成初始化工作,框图如图6。
定时器中断服务程序完成定时采样、整个时序的搭配控制等。所以ADC12转换程序涵盖在定时器中断服务程序中。定时参数的改变在此程序中完成。
图6
框图如图7。
串口通讯程序需要完成通讯数据的上传与下达。数据上传为主动方式,接收PC机的数据为被动方式,采用中断。在接收到PC机的数据上传请求命令时,上传数据,如图8所示。
2.PC机程序设计 在PC机端主要完成由采集终端送来数据的显示、多个命令参数的更改同时下达到采集终端。
在显示波形时,横坐标为
2.5*4096 = 3276。
在输入信号为
200mV时,运放放大10倍,幅度将达到2V,在ADC12的参考电压取2.5V时,转换数据为2/2.5*4096 = 3276。
在输入信号为2V时,运放放大1倍,幅度将达到2V,在ADC12的参考电压取2.5V时,转换数据为2/2.5*4096 = 3276。
根据以上分析,如此配置运放是完全可行的。
ADC12的配置应该为:片内参考电压为2.5V;P60为模拟输入信号A0,如果设计为多通道示波器,则使用A1~A7做其他模拟输入通道,此处为单通道,仅使用A0;采样使用主动读取方式,非ADC12中断。
采样与保持的时间取最小值,主要为了兼顾最快采样。
2. 考虑定时器的设置 定时器使用TA,TA使用SMCLK,SMCLK设置为8MHz,这样,采样频率可以方便调整。本设计要求:输入信号在DC~20kHz。所以,采样频率最高取100kHz,最低取300Hz(300Hz可以利用视觉暂停避免闪烁),TA设置如下:运行在连续计数模式;SMCLK为输入时钟;产生中断,在中断服务程序中实现ADC12采样;定时长度的改变由PC机操作实现。
3. 设计通讯部分 使用普通RS232串口与计算机通讯,分
图7
时间,纵坐标为电压(ADC12
结果)。使用VB、VC编写(略)。
参数改变:当鼠标点击减小按钮时,对应参数减小一半,当点击增加按钮时,相应参数增加一倍,同时参数下达
图8
到采集终端。
编者附记:MSP430讲座到本期为止已经结束,读者对本讲座有何疑问,欢迎登陆本刊论坛:bbs.eleworld.com交流。◆
・26・电子世界2005年6期
因篇幅问题不能全部显示,请点此查看更多更全内容