__________________
图5主程序流程图
3.2 CF卡接口软件模块设计
CF卡接口软件模块设计的目的是使其作为独立装置嵌入到MSP430单片机整个系统软件中。为了使存储到CF卡上的数据可以被计算机直接读取,需要在CF卡上写入FAT文件系统,这样写入的文件能被Windows操作系统读写。True IDE模式下CF卡的操作方式与硬盘的操作方式相似。CF卡读写必须以扇区为单位 ,每个扇区为512字节 ,每次可以读写一个扇区或连续多个扇区。由于每次采集数据帧长为32字节,为了高效利用资源和降低功耗,利用MSP430F5438内部RAM(内部RAM大小为16KB)开辟一块512字节的缓存区来存放连续16帧数据,在第16帧采样后,将缓存区的数据写入CF卡,其余时间CF卡进入待机状态。
由于系统仅需要在CF卡上建立一个数据文件,这样大大简化程序量,提高MSP430F5438的效率,文件按照envir+年份月份的方式命名,例如2008年5月的数据文件名称为envir200805. dat。程序初始化时,判断当前时间是否为上一次存储的时间,否则重新创建文件。
写CF卡,首先确定当前数据存储的扇区地址,即数据存储的位置。初始的CF卡参数在初始化程序中已设定好,然后根据在创建缓冲区中设置的全局变量就可以确定数据存储扇区的地址。接着调用写扇区子程序,更新数据存储所用的全局变量即可。
3.3噪声测量的软件设计
MSP430F5438采样来的数字信号进行有效值检波器指示出信号的有效值。由于A/D的采集速度很快,信号不会丢失,积分计算法可以近似为累加计算,如公式3-1,这种方法是真有效值检波。实测结果表明,峰值因数可以达到10。
__ (1)
3.4上位机软件设计
___ 上位机软件采用VC++编写。运用MScomm串口通信ActiveX控件,采用MSComm控件的事件驱动方式完成上位机软件的设计。通过发送指令唤醒单片机使其进入不同的工作模式,并显示串口传来的数据[5]。
4小结
本文详细介绍了一种基于MSP430F5438单片机的环境数据采集系统,重点介绍了各个模块的硬件设计和软件设计。系统在温度为-40~128℃,相对湿度为0 %~100 % RH ,大气压为10~1100 mbar的测试环境下,系统工作状态稳定,气象数据采集精度高,温度误差为±0. 3℃,湿度误差为±1.8%RH ,气压误差为 ±0. 1mbar,很好地满足气象测量的要求。噪声测量采用A声级计权网络,用泰仕TES-1352A噪音计标定,测量范围40~120dBA,测量误差小于1dBA。采集的数据存储至CF卡,以FAT16文件系统的数据文件形式存储,极大地方便了后期的数据分析。具有通过串口配置系统工作模式和将数据实时上传或查询历史数据上传的功能。同时自身具有液晶屏,方便显示操作。该设计体积小,功耗低,精度高,抗干扰能力强。
参考文献
[1] TexasInstruments,Inc.MSP430x5xxFamilyUser'sGuide[EB/OL].[2009-01]. http://www-s.ti.com/sc/ saul/pdf.
[2]_ 张绍栋,孙家麒.声级计的原理和应用[M]计量出版社,1986
[3] 程拥强,郭凤龙,朱劲.单片机对CF存储卡文件读写的实现[J].计算机应 用 ,2003 ,09(23) :145 - 148.
[4] 姚放君. 嵌入式Compact Flash卡接口设计[J].计算机应用研究,2003,(6):225-227.
[5] 汪锋锁,曾璐.工业控制领域基于VC++6.0的PC机和单片机通讯设计[J].仪器仪表分析与监测,2007,2:11-13.
作者简介:习斌(1987-),男,陕西西安人,助理工程师,主要从事嵌入式系统设计;
__________ 李骁勇(1973-),男,硕士,工程师,主要从事航天测控应用;
__________ 段伯韬(1980-),男, 工程师,主要从事航天测控应用