基于MSP430的水质监测系统远端测控单元的实现
2011-05-12温宗周李丽敏李志勇
温宗周,李丽敏,李志勇
(西安工程大学 电子信息学院,陕西 西安 710048)
水作为自然环境的重要资源其污染问题日益严重[1]。而应用于水质监测系统的远端测控单元(RTU),由于大部分要在野外市电供应不便的地方工作,只能依赖太阳能或者风能通过蓄电池供电,因此对功耗的要求很苛刻[2]。传统的RTU种类繁多,但重点在功能的实现,对功耗的考虑不多且通信的灵活性不够。针对这些问题,本文充分考虑现实条件对功耗的严格要求,用MSP430低功耗单片机作为控制芯片,实现了具有低功耗特点的远端测控单元RTU。
1 系统总体设计
根据设计要求,该系统采用MSP430低功耗单片机[3]为主控制器,通过芯片自身携带的A/D转换功能进行数据采集,并通过外扩GPRS无线通信模块实现与上位机之间的无线通信。该测控单元可以实现对8路模拟信号量进行采集,将采集到的信号转换成数字量之后存储在存储单元,当需要时,则可以实时采样并可以通过GPRS无线通信模块将数据发送到上位机,对数据进行显示。
水质监测系统RTU的总体设计框图如图1所示。系统以MSP430F149芯片为核心控制器,数据采集模块、存储/时钟模块、键盘/显示模块和无线通信模块作为主要功能模块。数据采集模块定时采集水质参数的信号并将其转换为数字信号,存储到指定的数据存储器中实现巡测功能。如果上位机需要访问则可从存储器中调出需要的数据进行相应的操作以实现召测功能;存储/时钟模块存储定时采集的数据和记录采样时间;键盘/显示模块用于设置系统参数、发出相应的控制命令和显示系统信息及实时数据;无线通信模块完成对采集到的数据向上位机的无线发送以及接收上位机的控制指令。一般工作模式下,RTU定时采样水质信息。如果上位机要查看实时信息,则可以通过网络发送即时短消息,RTU通过GPRS无线通信模块接收到信息后,立即进行数据采集,并将采集的实时数据进行打包,以短信息的形式发给上位机。
图1 RTU整体设计框图
2 系统硬件电路设计
2.1 控制模块设计
MSP430单片机的超低功耗,主要体现在以下两个方面:(1)MSP430系列单片机的电源电压采用的是1.8 V~3.6 V电压,因而可使其在1 MHz的时钟条件下运行时,芯片的电流只有200 μA~400 μA左右,时钟关断模式的最低功耗只有 0.1 μA;(2)独特的时钟系统设计。在MSP430系列中有两个不同的时钟系统:基本时钟系统和锁频环(FLL和 FLL+)时钟系统(或 DCO数字振荡器时钟系统)。有的使用一个晶体振荡器(32.768 kHz),有的使用两个晶体振荡器。由时钟系统产生CPU以及各功能所需的时钟,并且这些时钟可以在指令的控制下打开和关闭,从而实现对总体功耗的控制。由于系统运行时打开的功能模块不同(即采用不同的工作模式),芯片的功耗也有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。在等待方式下,耗电为0.7 μA;在节电方式下,最低可达 0.1 μA。 因此本设计采用MSP430作为总控制器。系统主控电路如图2所示。
图2 系统主控电路图
系统主控电路的设计主要包括:
(1)电源转换电路
由于MSP430单片机的供电电压为3.3 V,因此在MSP430的电源端DVCC处必须接入3.3 V的电压。而5 V电压的开关电源很普遍,因此可以通过将5 V的电压转换为3.3 V的电压,在本电路中采用三端稳压芯片AMS1117实现电平转换。
(2)晶振电路
为了编程时时钟选择的灵活性,MSP430单片机的两个晶振输入端口,分别接入32.768 kHz和4 MHz的晶振。
(3)模拟量输入电路
8路的模拟量可以通过插座方便地接入电路中。
(4)JTAG测试电路
引出MSP430单片机的相应引脚到JTAG测试插座上,电路则可以作为程序的下载入口,如图2所示。
(5)串口电路
先将单片机的串口0和串口1通过电平转换芯片MAX3238进行电平转换,然后分别连接到两个9帧的串口上,以便与其他设备进行通信。
2.2 无线通信模块设计
基于GPRS的无线通信模块的结构框图如图3所示。MSP430单片机控制GPRS模块的接收和发送信息,通过标准RS232串口与外部控制器(如数据采集端)进行数据通信。其中,GPRS模块采样的芯片是MC35i。用软件实现中断,完成数据的转发。
图3 基于GPRS的无线通信模块的结构框图
其通信模块主要实现过程如下:
(1)通过AT指令初始化 GPRS无线模块,使之附着在GPSR网络上,获得网络运营商动态分配的GPRS终端IP地址,并与目的终端建立连接。
(2)通过串口0扩展RS232标准串口与外部控制器(数据采集端)连接,外部控制器端接出标准串口,按照约好的协议可很容易利用GPRS无线通信模块进行通信。
(3)复用 P3.6和 P3.7(即串口 1)分别与GPRS模块的 TXD0和 RXD0连接,P1口的其他6个端口分别接到GPRS模块对应的剩余RS232通信口,通过软件置位完成对GPRS的初始化和控制GPRS模块的收发数据。
2.3 附加功能模块设计
附加功能模块包括存储/时钟模块和键盘/显示模块,其结构框图如图4所示。图中,MSP430的Flash存储器可全部作为Flash程序存储器,也可以全部作为Flash数据存储器。因为要嵌入实时操作系统和网络协议需要一定的空间,因此本设计将其全部用作程序存储器,74LS373作为地址锁存器。6264芯片作为扩展数据存储器,8 KB的数据存储空间可以供存储平时定时采样的数据。由于设计中I/O口剩余较多,同时为了编程方便,采用独立式连接方式设计键盘。点阵式液晶LCD显示采用122X32A芯片。122X32A内置有SED1520液晶显示控制器的屏,集行、列驱动器和控制器于一体,被广泛应用于小规模液晶显示模块中。
图4 附加功能模块结构框图
3 系统软件设计
由于该系统要实现数据的采集、通信以及显示等功能,因而软件设计是重要的一环。系统的总体软件流程图如图5所示。系统上电后,首先进行单片机自身的初始化(包括时钟、堆栈的初始化等);调用显示模块,显示初始待机界面;按动相应的按键之后执行相应的操作。最常用的定时采样设置是可以设置多长时间采样一次现场参数,设置之后系统就会按照设置进行定时采样,并且将采集到的数据存储到指定的数据存储区。如果在这个过程中接收到上位机的实时采样命令,那么立即开启A/D转换,进行数据采集,并将采集到的数字量通过网络以短信息的形式发送给上位机。
图5 单片机总体软件流程图
4 实验验证
系统的验证主要验证数据采集的正确性和无线通信数据传输的正确性。本设计通过自动测量液位值来检测本装置采集和通信的正确性,选择一个液位变送器对液位进行测量。已知容器中水液位为2 m,通过运行该RTU,采集得到的最后数据为eb90 07 10 02 20。已知eb90为协议标识符,07为设备地址,10表示数据位液位值,而02为经过单片机内部软件编程之后换算出的液位值,20为校验值。由此可知,该系统运行良好,并且能够保证对模拟量的正确采集以及通信中数据传输的正确性。
本文详细设计了一种低功耗的水质监测系统远端测控单元(RTU),并且进行了相关的正确性和有效性的验证。通过对一种液位变送器测量值的分析,验证了该系统可以实现良好运行和数据传输的正确性。
[1]胡大可.MSP430系列Flash型超低功耗16位单片机[M].北京:北京航空航天大学出版,2001.
[2]Wei Yechen, Wu Jin, Liu Hunghuan.Performance analysis ofradio resource allocation in GSM/GPRS networks[J].IEEE VTC, 2002, 8(3):1461-1465.
[3]李朝青.PC机与单片机数据通信技术[M].北京:航空航天大学出版社,2002.