APP下载

基于M-BUS的公建能耗数据采集器

2012-07-18陈蒙蒙

关键词:采集器处理器数据中心

吴 斌,蒋 鹏,陈蒙蒙

(杭州电子科技大学信息与控制研究所,浙江杭州310018)

0 引言

随着经济的不断发展,能源供应与经济发展间的矛盾日趋严重。响应国家节能减排号召,降低建筑能耗、实施建筑节能是大势所趋。通过构建公共建筑能耗监测平台、采集分析能耗数据,可有效遏制能源浪费与提高能源利用率[1]。构建能耗监测平台的关键技术之一是解决能耗数据的采集和传输问题。传统的公建能耗数据采集器能实现能耗数据的采集和传输问题,但其与计量基表的通信接口较为单一,只支持M-BUS接口基表或者RS-485接口基表。这导致用户在基表的选择方面具有局限性、缺乏自由度,后期基表的维护更换不够便捷。为解决这些问题,本文介绍了一种基于M-BUS和RS-485的公建能耗数据采集器,可同时使用M-BUS和RS-485接口类型的基表,能支持市面上绝大多数基表。

1 系统硬件设计

公建能耗数据采集器的采集对象为建筑物中的各能耗分项,主要包括:用电量、用水量、用热量、用气量。数据采集器需实现定时、集中地采集能耗分项数据,然后处理并发送至远程数据中心。公建能耗数据采集器由基表通信接口电路、数据远传、数据处理等部分组成。其中,基表通信接口电路包括M-BUS接口电路和RS-485接口电路,数据远传部分通过GPRS模块实现,数据处理部分通过ARM处理器实现。M-BUS接口电路和ARM处理器的UART3相连,RS-485接口电路和ARM处理器的UART2相连,GPRS模块和ARM处理器的UART0相连。整个系统的硬件结构如图1所示。

图1 数据采集器硬件结构

1.1 基表通信接口电路

基表通信接口电路用于数据采集器与基表间的通信,M-BUS、RS-485的接口电路设计如下。

M-BUS是专为计量仪表设计的总线通信方式,采用主从异步半双工方式传输数据。主站(数据采集器)向从站(基表)发送数据时总线采用电压调制方式通信,主站发送逻辑“1”时,总线输出24~42V之间的一个Vmark电压(本数据采集器选定的Vmark电压为30V),发送逻辑“0”时,总线电压会在Vmark基础上拉低12V;主站接收从站数据时总线采用电流调制方式通信,从站用输出恒定的1.5mA电流表示逻辑“1”,逻辑“0”是在逻辑“1”的电流基础上额外增加11~25mA的电流来表示[2]。由于目前还未开发出M-BUS主站专用的收发电路集成芯片,所以需根据M-BUS规约自主设计收发电路。本设计中的M-BUS主站收发电路采用三极管、高精度电阻、二极管等模拟器件搭建。发送电路输入端、接收电路输出端的信号均为RS-232电平信号,然后RS-232电平信号通过RS-232电平转换芯片MAX3232与ARM处理器的UART3相连。M-BUS接口电路的原理图如图2所示。

图2 M-BUS接口电路原理图

图2中的RSRXD3、RSTXD3分别与MAX3232的RS-232电平端相连;M+、M-与可输出正负电压的稳压电源相连;MBUS+、MBUS与M-BUS总线相连。本M-BUS主站收发电路可驱动约120块M-BUS基表。

RS-485半双工异步通信总线是一种应用广泛的数据总线通信方式,其接口电路设计相对简单,采用常规设计即可。本设计中的RS-485收发器件采用SPX3485,最大可支持32个节点,该芯片的驱动器输入端、接收器输出端与ARM处理器的串口UART2相连;SPX3485的使能控制端与ARM处理器的P1.31引脚相连,用于控制SPX3485接收状态与发送状态间的切换。

1.2 数据远传

数据远传部分用于数据采集器与远程数据中心的通信,本设计采用GPRS方式实现远程通信。GPRS模块与ARM处理器的串口UART0相连,ARM处理通过向GPRS模块发送AT指令来控制GPRS模块的数据收发,GPRS模块采用杭州爱赛德科技有限公司的A60T模块。

1.3 数据处理

数据处理部分的核心是ARM处理器,要完成数据的采集、处理、及远传任务。ARM处理器采用NXP公司的工业级高性能嵌入式处理器LPC2368FBD100,该处理器基于ARM公司的ARM7TDMI内核,集成众多外设,单电源供电,性价比高,可满足本设计需要[3]。本设计中处理器供电电路采用的电源芯片为SPX1117M3-3.3;处理器外接12MHz晶振;复位电路采用专用复位芯片MAX811EUS-T;RTC外接32.768kHz晶振。

2 系统软件设计

系统软件需实现定时采集能耗数据,并通过GPRS模块发送能耗数据至远程数据中心,以及响应远程数据中心命令的功能。为提高系统可靠性、实时性以及简化程序设计,本设计在ARM处理器LPC2368FBD100上移植了μC/OS-Ⅱ操作系统,并在此基础上增加了队列操作的功能[4,5]。

本设计中移植的μC/OS-Ⅱ版本为V2.51,系统每秒时钟节拍数200,时钟片长度5ms,处理器运行频率48MHz。系统任务主要有:数据采集任务,GPRS接收任务,GPRS发送任务。任务间的通信采用信号量实现,如图3所示。

图3 任务间通信

2.1 数据采集任务

数据采集任务负责与计量基表的通信,并将采集到的能耗数据添加到GPRS发送队列中等待发送。数据采集任务可由RTC中断服务函数唤醒,也可由GPRS接收任务唤醒。RTC中断服务函数可每15分钟唤醒一次数据采集任务,启动数据采集;GPRS接收任务则在接收到远程数据中心的采集指令后唤醒数据采集任务,启动数据采集。数据采集任务唤醒后依次调用读RS-485基表子程序和读M-BUS基表子程序,最后唤醒GPRS发送任务。数据采集任务的流程如图4所示。

图4 数据采集任务流程图

以读RS-485基表为例,读基表程序的关键代码如下:

程序首先从链表上获取一个含有基表信息的rs485meter数据块,然后调用函数createframe函数根据基表信息创建控制帧,最后调用sendframe函数将控制帧发送至总线。任务在发送完控制帧后会将自身挂起3s,若3s内未收到应答信息,则表示通信出错,程序将进行重传,且最多重传3次;若收到应答信息,则依次调用uartread、delleadbyte、checksum函数,对收到的帧进行去前导字节、校验等操作,最后提交数据帧到GPRSendQ队列并进入下一轮循环。

2.2 GPRS 发送任务

GPRS通信任务负责通过GPRS模块建立数据采集器到远程数据中心的通信链路并收发数据。GPRS模块与ARM处理器的串口UART0相连,由ARM处理器通过AT指令控制。由于GPRS模块在1min中内无数据发送会进入休眠状态,因此在远程数据中心向数据采集器发送断开连接指令前,GPRS模块需定期(如50s)发送心跳包给远程数据中心以保持GPRS连接。GPRS通信任务含有一个数据发送队列,所有待发送数据需保存在此队列中,通过GPRS接收到的数据则作为待处理数据直接添加到数据处理队列中。

3 结束语

本文研究开发了一种基于M-BUS和RS-485的公建能耗数据采集器,详述其软硬件系统的设计。该数据采集器运行μC/OS-Ⅱ嵌入式操作系统,最大可支持约152块基表通信,能可靠的采集基表数据并通过GPRS发送至远程数据中心,具有较强的理论意义和现实意义。今后的工作重点是降低该数据采集器的能耗,完善系统功能,进一步增强系统稳定性。

[1] 龙惟定.建筑节能与建筑能效管理[M].北京:中国建筑工业出版社,2005:3-8.

[2] M-Bus Usergroup.The M-Bus A Documentation Rev[DB/OL].http://www.m-bus.com/files/MBDOC48.PDF,1997 -11 -11.

[3] Nxp Semiconductors.Lpc23xx User Manual[DB/OL].http://www.cn.nxp.com/documents/user_manual/UM10211.pdf,2009 -08 -25.

[4] 邵贝贝.μC/OS-Ⅱ嵌入式实时操作系统(第二版)[M].北京:北京航空航天大学出版社,2003:283-316.

[5] 周立功.ARM嵌入式系统基础教程(第二版)[M].北京:北京航空航天大学出版社,2005:362-377.

猜你喜欢

采集器处理器数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
COVID-19大便标本采集器的设计及应用
基于ZigBee的大型公共建筑能耗采集器设计
基于LabVIEW的多数据采集器自动监控软件设计与开发
基于云计算的交通运输数据中心实现与应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
Overlay Network技术在云计算数据中心中的应用
多接口温湿度数据采集器的设计