蒋 勇,赵德艳,鲁江伟,朱 琳
(中国人民解放军63726 部队,宁夏 银川 750004)
随着工业化的进步,传统的采用人工进行数据记录登记的方式已经远远不能满足现代工业化生产的要求,而采用单片机实现的数据采集系统具有无人值守和自动化特点,应用十分广泛[1]。MSP430F149 是美国TI 公司研发的超低功耗单片机,工作电压为1.8~3.6 V,内部包含有ADC12 模数转换模块,具有高速和通用的特点,能够实现12 位精度的模数转换。ADC12的内核是一个带有采样和保持功能的12 位转换器,配置有8 路外部通道和4 路内部通道,可以对模拟量进行采集。另外有6 组(每组8 路)通用I/O 口,既可以对数字量进行采集,也可以以串口的方式直接读取传感器(内部有A/D 转换模块)的信息。单片机有两个UART 串口通信模块,系统采集得到数据后,通过串口通信模块将数据传送至上位机,上位机再对数据进行处理,这样可以避免采集系统增加额外的存储器,从而减轻本系统的负担[2]。
图1 为采集系统的组成框图。整个系统的核心是MSP430F149 单片机,另外还包括许多模拟量采集传感器、数字量采集模块、电源供电模块、串口通信模块。模拟量传感器主要用于采集模拟量,数字量采集模块主要采集开关量。如果采集数据后需要进行大量的数据运算,为减轻单片机系统的处理负担,可以利用串口通信模块将数据传送至上位机进行处理。电源模块主要是为整个系统提供可靠的电源。
图1 采集系统组成
单片机模块是整个系统的核心控制部分,主要功能是对系统进行初始化,对模拟量或数字开关量采集后进行处理。单片机电路可按照典型电路设计,由于其内部包含ADC12 模数转换模块,模拟量采集时不需要额外的A/D 转换芯片,可降低系统设计的复杂性,而且还可以提高系统的可靠性。单片机采用一般I/O 口实现数字量采集电路的接口。MSP430F149 单片机采用内部32 KHz 的时钟信号,如果增加串口通信,可外接8 MHz 时钟信号。
单片机工作电压为1.8~3.6 V,如果采集传感器也需要供电,电压也可能不一样。系统设计时,必须对输入电源进行二次稳压,多路输出。为减小输入端受到干扰,输入端可放置一个100 uF 的滤波电容。二次稳压后,每路输出之间通过磁珠进行隔离。同时在每路输出增加2.2 uF 和0.01 uF 的电容,减小输出电源纹波对采集信号的影响。
在采集电路中,采集信息通常包括模拟信息和数字信息。对于模拟信息,由于单片机A/D 转换时基准为电压,需要将采集信息(比如:温度、湿度、电流等)通过传感器转换成电压信号,将该信号直接送单片机A/D 转换。如果转换后电压过高,必须进行降压处理才能送至单片机处理。对于数字信息,数字量的“1”或者“0”相当于电路的开和关,采集输入端产生的高低电平,从而完成数字量的采集任务。
单片机将数据传至上位机进行处理时,由于单片机系统电平是TTL,而上位机的电平是RS-232,因此在传输数据时需要进行电平转换。电平转换通常采用电平转换芯片,比如MAX3223 等,电平转换电路按照典型电路设计即可。
MSP430F149 单片机软件开发采用IAR 公司的集成开发环境:IAR Embedded Workbench[3]。整个程序采用中断的方式,通过设置一些全局变量和全局的缓冲区来实现中断程序与主程序之间的数据交互。系统初始化后打开中断,当采集到新数据后设置一个标志。主处理通过对标志进行判断,从指定的缓冲区读取数据,并进行处理或将数据发送至上位机进行处理。具体的流程图如图2 所示。
图2 系统程序流程
要采集某电源电路的电流大小,可采用如图3 所示电路。在电路中,芯片LTC6101 就是一种传感器,将电流转化为电压,芯片1 脚输出电压送至单片机,电压大小与+5V 电流的关系为,单片机通过A/D采集得到电压U 后,即可算出+5V 电流大小。
图3 电流采集电路
SHT15 传感器是一种温湿度复合传感器,测湿精度为±2.0%RH,在室温25 度测温精度为±0.3 度,具有品质卓越、超快响应、抗干扰能力强等优点。传感器内部有一个测湿元件和一个测温元件,同时有一个14 位的A/D 转换器以及串行接口电路,可直接与单片机的I/O 相连。SHT15 采用两线双向串行接口,SCK 是同步 信号,DATA 用于数据的读取。SHT15 的应用电路如图4 所示。
图4 温湿度采集典型应用
对于数字量,数字量“1”对应电路的高电平,“0”对应电路的低电平。通过采集输入端的高低电平,可完成数字量的采集任务。图5 为某数字量采集电路。在电路中,U1 为单片机,U2 为8 位拨码开关,U3 为电阻排。通过拨动开关位置,可以产生256 个开关量。单片机通过采集高低电平,可得到256 个状态量。
图5 数字量采集电路
本文介绍的利用MSP430F149 实现的数据采集系统具有设计简单、运行可靠等特点。用户也可以在该基础上进行硬件和软件的扩展升级,比如采用MSP430X32X 系列单片机。其内有14 位模数转换器,可实现更高精度的数据采集,也可以接不同的传感器,采集不同的数据源,实现自己更加丰富的功能。