设计和实现一个超低功耗的数据采集系统.docx
《设计和实现一个超低功耗的数据采集系统.docx》由会员分享,可在线阅读,更多相关《设计和实现一个超低功耗的数据采集系统.docx(13页珍藏版)》请在冰豆网上搜索。
设计和实现一个超低功耗的数据采集系统
设计和实现一个超低功耗的数据采集系统
摘要:
本文介绍了一种基于MSP430单片机的数据采集系统。
该系统利用单片机的强大的处理能力和丰富的片上外围模块可在具有良好电源的便携式设备上工作。
它可实时记录对象的动态数据,即使是在超低功耗的情况下,依然可工作。
所以,该系统可方便的进行数据的回放和存储。
实践证明,该设计方案是确实有效的。
关键字:
MSP430F449,数据采集,超低功耗,串口
介绍
微处理器决定了系统的智能化水平和信号采集系统的结构,是数据采集、处理和传输的主要设备。
随着电子技术、微型计算机和半导体的发展,微处理器向着小型化,低功耗,高速度的方向发展。
基于微处理器的数据采集系统具有智能自动化、高精度、低成本的特点[1]。
MSP430系列单片机混合了信号微控制器,具有低电压、低功耗、处理能力强的特点。
它同时具有丰富的片上外围模块和方便的开发环境[2-4]。
本文将介绍一款基于MSP430F449单片机的可长时间采集数据的数据采集系统。
同时还介绍了能够保证信号采集完整性的付延迟功能。
MSP430F449单片机的FLASH存储模块可在电源关闭的情况下记录数据。
由于体积小(3平方厘米)、过载高(40000~60000G)、功耗低、抗干扰能力强、可靠性高,该系统在实践中有非常好的应用。
系统的设计方案
数据采集系统包括信号处理模块、CPU、串口通信模块、电源管理模块等等。
其基本结构如图1所示。
原始信号通过传感器传输给信号处理模块进行放大和滤波。
然后传送给CPU进行处理和分析。
最终信号通过串口通信模块传输给PC机。
考虑到需要提高系统的信噪比,减低电磁干扰,体积小、功耗低,该系统还需要加一些外围电路。
图1:
数据采集系统基本结构
信号处理模块
由于系统使用的传感器的灵敏度是微伏,小信号很容易被噪声覆盖,所以在送入CPU前要对它进行预处理,如前置放大和滤波。
放大器是对微弱的信号进行不失真放大。
本文在前置放大模块选择了具有噪声低、偏置电流低、功耗低的AD620放大器。
它可以方便的调整增益(1~1000)。
AD620的增益方程是(如公式
(1)所示):
(1)
图2:
放大模块电路图
增益G可以很方便的通过调节
进行改变。
放大模块的电路图如图2所示。
本系统是采集频率低于10KHz的信号。
系统的滤波器是采用通过2个集成运算放大器TL084(其他两个是用来驱动信号)组成的四阶巴特沃斯低通滤波器[6,7],截止频率是10KHz,电路图如图3所示。
图3:
四阶巴特沃斯低通滤波器电路图
CPU
MSP430F449是系统的控制核心,主要完成数据的采集、处理和传输。
它是MSP430系列单片机的最新产品。
除了拥有MSP430单片机的共同特点,它还有自身的优势:
拥有内部参考源、采样保持、12位自动扫描A/D转换器,最大存储容量Flash存储器可达60KB,RAM可达2KB。
利用片上的JTAG接口对Flash进行连接便于调试和模拟[2,4]。
单片机F449使用独有的12位A/D转换器采集模拟量,避免了接口的复杂性,提高了系统的可靠性。
A/D转换器是单通道多转换模式。
多转换模式是通过系统选择在某一个通道内进行。
一旦转换完成后,相应的中断标志位设置表示为该转换结束。
该单片机电源电压+3.3V,利用引脚XT2OUT和XT2IN连接频率为8MHz的振荡器来启动。
在串口通信模块,引脚XOUT和XIN连接频率为32.768KHz的振荡器为LFXTICLK(低频时钟晶振产生低时钟频率)提供时钟频率。
对于数据采集功能,系统设计了一个复位键来控制系统的工作状态,通过控制数字I/O引脚P2.2电平的高低来进行控制,高电平是采集状态,低电平是串口通信状态。
利用片上JTAG接口和可擦除的Flash存储器,系统在断电的情况下仍可存储数据。
首先,系统通过JATG接口从Flash存储器中下载程序,然后,系统通过软件控制程序的运行。
在处理过程中,采集到的数据存储到Flash存储器中(断电后仍可保留)。
采集完成后,信息通过串口传输给PC机。
这里需要强调一点,Flash存储器在擦除或写的时候不能够访问。
另外,在MSP4430F449单片机中有5个特殊的JTAG引脚,分别是RST/NMI,TCK,TMS,TDI和TDO/TDI.JTAG接口的电路图如图4所示,其中S1是控制系统状态的复位键。
图4:
JTAG接口电路原理图
串口通信模块
MSP430F449单片机串行通信模块利用全双工异步串行通用模式的USART具有自己的特点。
它的波特率为9600bps。
通过设置一系列的寄存器,硬件可以自动的完成串行数据的输出或接收。
数据流的输出或接收取决于一个移位寄存器。
在接收状态,数据流达到一个字节时被存储在接收缓冲器中。
在输出状态,输出缓冲器中的数据从端口一个比特一个比特的传输。
本系统采用RS232C标准[8],选择MAX232CWE芯片来实现基于TTL电路的单片机和基于CMOS电路的计算机之间的电平输出形式的转换。
串口通信模块电路图如图5所示。
图5:
串口通信电路图
电源管理模块
MSP430F449单片机的工作电压是1.8V~3.6V。
为了确保系统在低功耗状态下工作,其内部的所有电子装置可以很好的工作在±3V以内。
三个纽扣电池串联,作为系统的主电源,保证了系统的稳定性。
线性稳压芯片采用TI公司的生产的具有低功耗、低电压差的TPS76930芯片。
它可将9V的输入电压转换为3V的输出电压,作为MSP430F449电源。
由于系统中用到传感器和AD620芯片,COMS单片集成输出电压转换器MAX660芯片可将+3V的输入电压转换为-3V的输出电压,系统可用其作为传感器和AD620芯片的电源。
由于输入A/D转换器的模拟信号的幅度非常小,系统中数字电路的数字开关的噪声会严重影响A/D转换器的转换精度。
所以电源需要分为模拟的和数字的。
模拟部分和数字部分需要严格的分开,他们只有一个共同点。
功耗设计
为了减低系统的功耗,我们采用了几种方案,此外还选用了低功耗的元器件。
1.在达到系统要求的性能的基础上,我们可以尽可能的减少电路中接口电路、高性能装置、电容的数量[9]。
2.采用模块化设计。
该系统分为三个部分,如电源模块、采集/处理模块和串行通信模块。
在数据采集的时候,只有电源模块和数据采集/处理模块工作。
数据采集完成后,串口通信模块才工作,将采集的数据传输到PC机中[2]。
3.MSP430F449提供的低功耗模式可得到充分利用。
CPU在完成主程序任务后,可设置进入低功耗模式。
CPU的大部分工作需要在中断服务程序中完成。
相应的中断服务程序完成后会提醒CPU,然后CPU会进入低功耗模式。
4.系统的功耗和单片机CPU的时钟频率成正比,在控制和计算任务不重时,会尽可能的降低CPU的时钟频率。
系统的软件
本系统的软件是在集成开发环境IAREmbeddedWorkbench中编译,并使用调试器C-SPY进行调试。
如果程序调试成功,将可执行代码下载到MSP430F449单片机Flash存储器中运行[10]。
软件主要功能是初始化MSP430F449、数据采集和滤波等。
MSP430F449单片机的初始化是建立芯片操作模式的重要一步。
当通电时,由于要初始化数据,CPU需要进入预置状态。
在设置好时钟频率和将引进P2.2设为高电平后,A/D转换器进行初始化。
然后,A/D转换器开始工作,等待阀值电压(预先设置)。
当信号电压达到阀值电压值,数据采集开始,采集到的数据在处理之后存储到Flash存储器中。
复位后,引进P2.2的电平变为低电平。
这个时候,存储在Flash存储器中的数据通过串口发送程序发送给PC机作进一步的分析。
程序流程图如图6所示。
低电平
高电平
no
yes
yes
no
图6:
程序流程图
这里有三点需要解释一下:
1.为了确保信号的完整性,数据采集过程中用到了负延迟的方法。
如图7所示的信号的波形是在没有使用负延迟功能设计下获得的,由图中可以看出信号波形的最高波峰是不足的,所以在信号峰值处的值是不能被观察和计算清楚的。
这样的设计并没有达到预期的目标。
有两种方法可以用来改善它,一个是减低采集电路的触发电平,另一个是在硬件中使用软件负延迟方法。
第一种方法是很容易实现的,但是考虑到电源的强噪声,降低触发电平,采集的信号会被噪声覆盖。
同时,考虑到硬件负延迟的复杂性,本系统采用软件负延迟方法。
图7:
无负延迟功能的信号波形
有一百份数据被循环抽样和存储到RAM中直到信号达到阀值。
然后这一百份数据被加到后面采集的数据中以获得完整的数据,并且有2份数据被保存到Flash存储器中。
这种方法非常的容易和方便。
确保了断电后数据的完整性。
2.信号通过软件滤波器进行处理。
考虑到单片机MSP430F449最高可高效处理16位数据,积分系数数字滤波器采用极点和零相互抵消构成[11,12]。
滤波器的截止频率为1KHz。
3.系统可通过软件设置时间实现多个分割系数。
测试结果与分析
利用振动传感器的数据采集实验验证了系统的性能。
传感器被固定在桌子上,通过敲击桌子产生振动信号。
通过一次一次的设定时间,数据被数据采集系统和数字示波器同时采集。
数字示波器采集的信号如图8所示,数据采集系统采集的信号如图9所示(其中(a)图是单次采集的信号,(b)图是多次采集的信号)。
图8:
数字示波器采集的信号波形
图9:
数据采集系统采集的信号波形
比较数据采集系统和数字示波器采集到的信号的波形,可以看出数据采集系统可即好又准确的捕捉到从传感器输出的实时信号。
获得的数据完全的再现了振动波形,所以本系统达到了要求。
有一点需要指出,为了清楚的观察2次采集的信号,2个设备的参数需要设置为0.
结束语
数据采集存储系统的设计具有硬件结构简单、体积小、功耗低、抗干扰能力强特点。
负延迟方法和积分系数数字滤波器在软件中的使用,确保了信号的完整性和提高了实时数据的处理能力。
不同类型的传感器的使用,该系统可以从许多信号源采集数据。
测试结果表明设计达到要求。
系统可方便稳定的采集数据,它已被多次应用于室外振动和冲击信号的采集。