基于M-Bus的智能水表数据采集器的设计
2011-08-11吴海峰李德敏
吴海峰, 李德敏, 邹 剑
(东华大学 信息科学与技术学院,上海 201620)
0 引言
M-Bus是一种专门用于公共事业仪表的总线结构。在欧洲,户用仪表总线的通讯方式以M-Bus为主,目前国内诸多大型水电气热表企业已采用M-Bus总线通讯技术。M-Bus总线的提出满足了公用事业仪表的组网和远程抄表的需要,同时它还可以满足远程供电或电池供电系统的特殊要求。并且,其串行通信方式的总线型拓扑结构非常适合公用事业仪表的可靠、低成本的组网要求,可以在几公里的距离上连接几百个从设备[1]。M-Bus仪表总线的应用前景广泛,但是,目前市场上可用的主机芯片很少,而且价格不菲,不利于M-Bus的推广。为解决以上问题,本文设计了基于M-Bus总线的智能水表数据采集器。新设计的集中器成本低,稳定性较好,对于小型企业而言,具有很好的经济价值。
1 M-Bus的通信协议
M-Bus是一个主从层次化的系统,由一个主设备、若干从设备和2根连接线缆组成,主设备引出2根M-Bus总线,所有从设备都挂接在总线上,由主设备控制所有从设备和上位机之间的通信。M-Bus主从结构如图1所示。
图1 M-Bus层次化结构
M-Bus通信协议规定:M-Bus主机发送电路通过控制总线电压变化向从机发送信息,而从机通过自身的电流消耗向主机反馈信息。当总线通信时,存在2种情况,即主机分别处于发送状态和接收状态。在主机向从机发送相关命令时,具体的电压变化如下:传送逻辑“1”时对应的电压为34 V,传送逻辑“0”时对应的电压为24 V;在主机接收从机数据时,具体的总线电流变化如下:传逻辑“1”用0~1.5 mA的恒定电流表示,传逻辑“0”则需在0~1.5 mA的基础上再增加约11~20 mA 的电流。当总线空闲时,主机和从机都应该保持逻辑“1”状态。
2 硬件层设计
硬件设计主要包括发送电路和接收电路的设计。发送电路是通过调制M-Bus总线电压的跳变来实现数据的传输的,且跳变的差值要大于等于8 V(由终端设备的TSS721芯片[2]决定);而接收电路是从机通过自身的电流消耗向主机反馈信息的,因此,需要将电流的变化转化为电压的变化,以便于单片机接收。图2是M-Bus总线驱动电路的框架[3]。
图2 M-Bus总线驱动电路
2.1 发送电路的设计
根据M-Bus通信协议,设计的发送电路如图3所示。
图3 发送电路
图3中,稳压块芯片L7824的输入端接三端可调正稳压器LM317的输出端,输出端引出M-Bus总线,且对地接1个10 V的稳压管,同时接到晶体管的集电极,晶体管的基极接到光耦的输出。当控制器通过串口发送低电平时,光耦不导通,从而晶体管导通,M-Bus总线上的电压为24 V。相反,当控制器通过串口发送高电平时,光耦导通,从而晶体管截止,芯片L7824输出电压被抬高了10 V,M-Bus总线上的电压变为34 V。这样,通过控制MCU输出的高低电平来控制光耦的通断,就可以得到M-Bus总线上的电压的跳变,跳变的幅度为10 V,从而实现上位机向终端传输信息。
2.2 接收电路的设计
设计的接收电路[4]如图4所示,其中,采样电阻为R11。
在图4中,采用的主要芯片是四运放LM324。其中,第一路运放和晶体管将检测到的电压进行放大,第二路运放构成一个跟随器电路,主要是为了稳定第一路输出的电压信号。此时,如果直接去接光耦的输入端的话,无法保证光耦在低电平时能够严格地被关掉。所以,运放三及其外围电路构成了一个减法装置,目的是暂时抬高对应的电压,最后一个运放及其外围电路构成了一个电压比较器,最终得到能够严格控制光耦通断的电平变化(0~5 V)。
图4 接收电路
3 软件层设计
数据采集器是连接上位机和终端的中间环节。当上位机发送相关命令时,控制器首先要对该命令进行分析,做出相应的响应。要将上位机发送的信息传送到终端;当终端有响应后,集中器需要将终端的响应信息存储在自身的存储器中,然后上传给上位机。需要说明的是,在实际应用中,采用的控制器是STC系列的双串口单片机STC11F04E,它是一款分时复用的双串口单片机。终端是型号为 ZENNER multidata S1compact 德国真兰智能水表,其内部有 M-Bus终端所必需的TSS721芯片和控制器芯片以及相关的存储设备,我们可以通过手持抄表器对水表的原有地址进行复位和更改。图5是集中控制器的主程序流程。
图5 主程序流程
4 结语
论文给出了基于M-Bus总线的智能水表远程抄表系统中的数据采集器的设计与实现方案。重点介绍了M-Bus总线硬件电路和驱动程序的设计。在实际的应用中,M-Bus布线非常灵活,相比485总线来说具有很大的优势,也使的它有较广的发展前景,特别是对住宅小区智能化建设具有重要意义。随着M-Bus总线在远程水表抄表系统中的推广应用,将给我们的日常生活带来更多方便。
[1]胡志华,郭其一. M-BUS仪表总线原理研究[J]. 微计算机信息,2005(18): 117-119.
[2]陶永明,刘立国,陈永刚. M-BUS终端收发芯片TSS721的原理及应用[J]. 国外电子元器件,2002(09): 31-34.
[3]曹贇,叶桦. 远程抄表系统中集中器及M-Bus总线通信模块的设计与实现[J]. 工业控制计算机,2009, 22(08): 7-9.
[4]徐乐年,韩进,刘坤. M-BUS总线主机接口装置.中国专利,2006-08-16.