M-Bus仪表总线协议及其应用

M-Bus是Paderborn大学的Dr.Horst Ziegler与TI公司的Deutschland GmbH和TechemGmbH共同提出的,专门用于公共事业仪表的总线结构,称Meter-Bus,简称M-Bus。

M-Bus仪表总线属于局域网(Local Area Net-work,简称LAN),是处于同一幢建筑、同一大学或方圆几公里远地域内的专用网络,被用于连接远程监控计算机和工作站、测量仪表等设备,以便资源共享和数据传输。

M-Bus仪表总线具有LAN的3个基本特征:(1)范围,(2)传输技术,(3)拓扑结构。LAN具有星形、环形和总线形拓扑结构。M-Bus一般采用总线形拓扑结构。

M-Bus仪表总线可以满足由电池供电或远程供电的计量仪表的特殊要求。当计量仪表收到数据发送请求时,将当前测量的数据传送到主站,(主站可以是手持单元、计算机或其它终端)。主站定期地读取某幢建筑中安装的计量仪表的数据。

一般而言,挂接在仪表总线上的计量仪表的数目可达数百个,数据传输距离达数千米。在总线上传送的数据具有高度的完整性和快速性。

1、M-Bus总线的结构模型及特点

国际标准化组织(ISO)于1978年提出了OSI(Open SystemInterconnection,即开放系统互联)7层参考模型。M-Bus总线协议以ISO-OSI参考模型作为参考,但是只采用了OSI模型的物理层、数据链路层、网络层和应用层。

1)物理层

物理层的功能是提供一条“非结构位流”传送的物理通道,并为数据链路层提供建立、维护和解除物理连接。物理层规定了主站与从站之间的物理接口的物理和电气特性,负责物理媒体上信息的接收和发送。M-Bus的物理层采用M-Bus总线标准。

2)数据链路层

数据链路层的功能是在物理连接的基础上建立、维护和解除数据连接。数据链路层以帧为单位传输信息,在每帧信息中附加了许多协议控制信息(如同步信息、地址信息、纠错信息、应答信息等),以保证信息无差错传送。M-Bus的数据链路层采用IEC870标准。

3)应用层

应用层是直接面对用户的一层。主要功能包括读数据、写数据、密钥设定、广播校对,以及更改通信速率等等。M-Bus的应用层采用EN1434—3标准。

M-Bus总线协议为主-从结构的半双工通讯方式,可以进行一主一从或一主多从的操作,从站均有各自的地址编码。采用0.5mm2双绞线,连接250个从站时,最远连接距离可达到380m。采用1.5mm2双绞线,连接64个从站时,最远连接距离可达到3 600 m。M-Bus总线结构由主站以及挂接在双绞线上的一系列从站组成,从站之间彼此并联。

2、M-Bus仪表总线协议

信息帧的控制由主站发出,每帧由前导字节、帧起始符、仪表类型、从站地址域、控制码、数据长度、数据域、帧信息纵向校验码及帧结束符等9个域组成,每个域由若干字节组成。帧的格式见图2。每字节含8位二进制码,传输时加上1个起始位(0)、1个奇偶校验位和1个停止位(1)共11位,其传输序列如图3所示。D0是字节的最低位,D7是字节的最高位,先传低位后传高位。

(1)前导字节

由主站或从站发送的所有帧前面有一串规定数目的十六进制的字符“FE”,这些字符称为帧的前导字节。前导字节本质上是一种物理层的要求,经常用来使接收器适应和同步,一般是2~4个字符。

(2)帧起始符

帧起始符68H,表示一帧信息的开始。

(3)仪表类型

仪表类型(T)是指参与通信的从站属于哪种类型的计量仪表,如表2所示。

(4)地址域

地址域由7个字节组成(A0A1A2A3A4A5A6),每个字节为2位BCD码格式。地址长度为14位十进制数。其中A6A5为厂商代码,低地址在前,高地址在后。当某一字节以AAH寻址时,忽略该字节地址。当地址为AAAAAAAAAAAAAAH时,为广播地址。

(5)控制码

其中:

D7:0—表示由主站发出的控制帧; 1—表示由从站发出的应答帧;

D6:0—表示从站正确应答; 1—表示从站对异常信息的应答;

D5~D0:控制码

000000:保留;

000100:读计量数据;

000101:读地址;

001000:广播校时;

001100:更改通信速率;

010010:写机电同步数据;

010100:写时域;

010101:写阀门控制;

011010:设定密钥;

1XXXXX:厂商自定义。

(6)数据长度

数据长度字段包含一个表示字节数的整数,用十六进制表示,是数据长度字段和校验字段之间(不包括该两个字段)的数据字节的计数值。读数据时数据长度小于或等于64H。写数据时数据长度小于或等于32H,数据长度等于零表示无数据域。

(7)数据域(DATA)

数据传送时,发送方按字节进行加33H处理,接收方按字节进行减33H处理。

(8)校验码(CS)

一个字节从帧起始符开始到校验码之前的所有各字节进行二进制算术累加,不计超过FFH的溢出值。

3、数据的传输

所有多字节数据域均先传送 低位字节,再传送高位字节。

每次通讯先由主站发出命令帧,被选择的从站根据命令帧的要求做出响应。传输响应的时序见图6、图7。数据通信过程中,若接收方检测到校验和奇偶校验或格式出错,均放弃该信息帧不予响应。

图中Tbit=1/波特率秒———二进制位传送时间

Tbyte=11Tbit———字节传送时间

Td 1=Tbyte———延迟时间

Tframe=帧字节数*Tbyte———帧传输时间

Tr=50 ms+30*Tbyte———最长响应时间

Tfba=实际帧字节长度*Tbyte———实际帧传输时间

Tb≤1Tbyte———字节间的停顿时间

4、M-Bus仪表总线的应用

M-Bus总线的工作状态分为数据传输状态和空闲工作方式两种。数据传输状态又分为主站至从站的数据传输和从站至主站的数据传输。主站至从站的数据传输只允许一个主站连接到户用仪表总线。主站工作时应向总线提供电源。

5、小 结

M-Bus仪表总线是一种低成本的户用电子系统,可以实现公共事业仪表的联网和远程抄表功能。公共事业仪表包括户用电表、水表、热量表等计量仪表。文章详细介绍了M-Bus仪表总线,包括总线结构、总线的通信协议,及其在远程抄表中的应用。家用公共事业仪表通过扩展M-Bus总线,使其具有与M-Bus仪表总线通讯的功能,从而实现远程抄表。