APP下载

基于MSP430的无线抄表系统

2015-06-24李海燕

电脑知识与技术 2015年11期

李海燕

摘要:我国的城市化进程在加速,对于小区中的水表、电表、气表和暖表的管理也显得日益重要。根据相关文件,智能小区的建设与实施应满足“一户一表”的需求。本文设计了基于MSP430的无线抄表系统,数据采集端通过基站和远程管理系统通信,将采集到的各表数据传输给管理中心,同时管理中心可以对数据采集端的数据进行实时监测与管理。

关键词:自动抄表系统;MSP430单片机;CC1101无线模块

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)11-0206-02

1 前言

随着网络和通信技术的不断发展以及人们生活水平的提高,人们对水、电、煤气、暖气等各种资源的消费在增长,从而使得对资源消费的计量、收费和管理工作更加复杂,因此人们迫切需要一种能够提高管理效率以及更加智能化的产品,无线抄表系统应运而生。目前人工抄表方式,不能够保证数据完全准确,并且存在一定的延时,也造成了很多人力资源的浪费,甚至错抄和漏抄的情况时有发生。传统的人工抄表已经不能够适应时代的发展,不满足人们对智能化、高质量、高效率生活的需求,而无线抄表系统的优势也显现出来,这样能够统一抄收并集中传送水、电、煤气、暖气四表数据的无线抄表系统的设计与实现就被提上了日程。

无线抄表系统能够自动采集客户的用电、用水和用气情况,并且可以通过远程无线通信方式将采集到的客户数据传送到数据管理中心,然后由管理系统对数据进行分析处理,完成对客户用电量、用水量和用气量的计费、统计。作为智能化系统的重要部分,无线抄表系统具有实时、准确、高效的特点,从根本上改善了传统手工抄表方式的缺点,使得对于水、电、气的管理逐步智能化,也更加方便。在无线抄表系统中,将数据采集终端通过通信网络与远程计算机连接,可以实现对各表的集中和定时抄录,并且及时进行分析和统计。

2 系统功能

无线抄表系统主要可以实现以下功能:

1)实现抄录各表数据,智能化无人值守,节省了人力资源。

2)实现在线对水表、电表、燃气表、暖气表的计量。

3)实时监控小区用户的用水、用电量,有效地节约水电资源。

4)在线监控突发性的用电、用气事故,系统辅助分析造成事故的原因。

5)实现远程控制开关阀门的功能。

6)如果水表、电表、燃气表、暖气表四表出现异常,及时向管理中心汇报,相关部分收到消息后能够及时维护和解决问题。

3 硬件设计

本系统使用的采集终端及其基站主要使用的是由TI公司的MSP430F4152单片机和CC1101无线模块构成,采集终端的构成主要由MSP430F4152单片机和CC1101无线模块两个部分构成,基站的构成主要由MSP430F4152和CC1101无线模块以及UART串口这三个部分构成,其中采集终端主要负责的是采集能耗表(水表、煤气表、电表等)的数据,同时在采集终端上面,还设计了显示模块这一部分,显示模块我们采用的是段式液晶。本系统采用的段式液晶,显示采集到的数据量的值。同时为了降低板子的成本,我们在设计的时候做了以下的考虑:第一、MSP430F4152采用的是内部晶振,因为不需要外接辅助的晶振,省去了晶振的花费;第二、减小板子的尺寸,我们采用的下载接口的电路是四线JTAG下载接口,而不是采用14芯牛角插座的形式进行程序的下载,这样可以节省很大的面积,用来放置元器件等,同时板子上的所有的芯片我们全部采用的是贴片的形式,这样就使得整个板子尺寸很小,使用的时候也比较的方便;第三、复位电路的设计,我们采用的是上电复位,而不是通过手动的按键复位。在整个系统中MSP430单片机与无线模块的连接采用的是SPI接口模块 ,同时为了与上位机软件进行通信,我们采用UART异步通信接口模块,这样可以把采集到的数据发送至上位机软件。因此我们可以通过上位机观察数据量的值。

图1

图2

4 软件设计

本系统程序的总体设计采用的状态机的方式进行展开的,我们在程序中定义了以下几个状态机制,睡眠状态、等待状态、事件状态这三个状态,为了低功耗的要求,我们设计的抄表系统,在通常的情况下,处于的是睡眠状态,此时的功耗非常的低,然后通过看门狗定时器,延时一个是时间进入到等待状态,由于整个程序一上电处于的是低功耗模式3,因为在低功耗模式3当中,主系统时钟子系统时钟等是不能运行的,此时只有子系统时钟可用,因此这边的延时唤醒只能采用的是看门狗定时器,因为看门狗定时器的时钟来源,可用选择的是辅助时钟,辅助时钟在低功耗模式3下是可以运行的,看门狗定时时间到我们进入到等待状态,在等待状态中,我们设计的是多久处理事件,例如一秒采集一次数据或者是一秒传输一次数据等,可以根据需要设计我们的等待的时间等,当等待时间到了,我们就进入到了事件状态,事件状态是我们要做的所有的事,例如单片机与无线模块的通信,段式液晶显示采集到数据量,FLASH存储当前抄表中的数据值,UART串口将抄表数据发送至上位机等等一些列的操作。

图3

程序的主要部分如下:

#include "clock.h"

#include "wdt.h"

#include "io.h"

#include "lcd.h"

#include "led.h"

#include "timera.h"

#include "rtc.h"

#include "uart.h"

#include "flash.h"

void APP_FSM(void);

void APP_Sleep_Status(void);

void APP_Wait_Status(void);

void APP_Event_Status(void);

void main()

{

HAL_Init_Clock();

HAL_Init_IO();

HAL_Init_Wdt();

HAL_Init_RTC();

HAL_Init_Uart();

devSleepRdy = FALSE;

devState = DEVICE_SLEEP_STATUS;

HAL_Init_Timer_A();

HAL_Init_Flash();

_EINT();

APP_FSM();

}

void APP_FSM(void)

{

for(;;)

{

switch (devState)

{

case DEVICE_SLEEP_STATUS:

APP_Sleep_Status();

break;

case DEVICE_WAIT_STATUS:

APP_Wait_Status();

break;

case DEVICE_EVENT_STATUS:

APP_Event_Status();

break;

default:

break;

}

}

}

void APP_Sleep_Status(void)

{

if(!devSleepRdy)

{

devSleepRdy = TRUE; ( 下转第212页)

(上接第207页)

HAL_Start_Wdt(3);

LPM3;

}

}

void APP_Wait_Status(void)

{

if(!devWaitRdy)

{

devWaitRdy = TRUE;

HAL_Toggle_Led(1);

disp();

HAL_Start_Wdt(3);

}

}

void APP_Event_Status(void)

{

if(!devEventRdy)

{

devEventRdy = TRUE;

delay_ms(1000);

devSleepRdy = FALSE;

devState = DEVICE_SLEEP_STATUS;

}

}

5 总结

无线抄表系统是中国智能建筑发展的需求,也是抄表方式发展的方向。无线抄表系统采集数据单元都是安装在各表内并且密封,各表的数据采集、存储、传送与处理等一系列工作都是由此表自身完成,另外,如果各表出现无线通信中断,并不会影响到单表数据的采集和存储,表的数据仍然可以准确读出并记录,当无线通信恢复后,系统自动重新发送数据到管理中心,不需要复位,此无线抄表系统安全、可靠、稳定。无线抄表系统不需要铺设有线设施,而是通过远程无线收发数据信息,使得安装和维护更加方便。与采用了有线通信方式的其他相关产品相比而言,无线解决方案的优点在于安装灵活、费用低廉而且适应建筑智能化中安装的可移动性。

参考文献:

[1] 秦龙.MSP430单片机常用模块与综合系统实例精讲[M].北京:电子工业出版社,2007.

[2] 黄利军,王晓鹏,向腊,周妮.无线抄表终端的设计与实现[J].怀化学院学报,2011(8).

[3] 周和平,林峰浩. zigbee无线自动化抄表系统的应用[J].供用电,2009(2).