M-BUS相关资料

来源:互联网 发布:键盘弹钢琴软件下载 编辑:程序博客网 时间:2024/05/01 23:44

转自:http://blog.sina.com.cn/s/blog_46c505460101ccl9.html

1.1   MBus总线协议概述

MBus总线是一种主从式半双工传输总线,采用主叫/应答的方式通信,即只有处于中心地位的主站(Master)发出询问后,从站(Slave)才能向主站传输数据,如1-1 所示。

M-BUS协议基础知识。

 

图1-1 MBus总线结构

MBus的主要特点如下:

1.        两线制总线,不分正负极性,施工简单;

2.        采用独特的电平特征传输数字信号,抗干扰能力强,传输距离长;

3.        可以选择远程总线供电,降低维护成本;

4.        总线型拓扑结构,扩展方便,组网成本低;

5.        任一从站的故障不影响整个总线的功能

6.        专门设计的报文格式,满足能耗计量仪表联网和远程读数需要;

MBus总线协议的体系结构建立在ISO/OSI参考模型上,由下至上定义了物理层,数据链路层和应用层(参见1-1)。

表1-1 MBus总线协议与OSI参考模型

OSI

MBus

功能

物理层

MBus

电缆、拓扑结构、Bit流的表示传输、电气特性

数据链路层

IEC870-5

传输参数、数据报格式、寻址、数据完整性

网络层

MBus

扩展寻址(可选)

传输层

 

会话层

 

表示层

 

应用层

MBus

定义数据结构、数据类型、功能代码等

     物理层负责主从站间的bit流传输,数据链路层负责主从站间无差错的传送以帧(Frame)为单位的数据,应用层确定主从站间所传送数据的意义以满足用户的需要。对于扩展的MBus网络(超过250个从站)还定义了网络层以提供扩展寻址的功能。其中物理层、应用层和扩展的网络层采用MBus自定义的协议,而数据链路层则采用国际电工委员会IEC870-5传输协议。

1.2   MBus协议栈

1.2.1   MBus物理层

图1-2 基于MBus的远程抄表系统

   

M-BUS协议基础知识。

原则上MBus可以任一种拓扑结构建立网络,如星型、环形、总线型等,但通常MBus采用总线型拓扑结构。典型的MBus系统如1-2 所示,由一个主站、若干个从站和两根连接电缆组成。

主站是一个智能控制器,可为MBus总线提供电源,与从站进行通信,保存从站的测量数据,还可以利用各种现有的通讯手段与异地的计算机联网构成一个完备的远程管理计量系统。从站是各种计量仪表,如电表、水表、热表、气表等,它们通过MBus接口并联在总线主电缆上,该接口负责收发总线数据,控制总线电源和电池电源的切换。两线电缆通常采用标准电话双绞线,没有正负极性之分。

MBus物理层bit流传输具有独特的电平特征(如1-2 )。主站到从站的bit流传输通过总线电平切换实现,而从站到主站的bit流传输通过电流调制实现。定义逻辑“1MARK,逻辑“0SPACE

表1-2 MBus物理层bit流表示

Bit

Bit流的表示

Bit流传输方向

逻辑“1”(MARK

22VVmark42V

主站到从站

0mAImark1.5mA

从站到主站

逻辑“0”(SPACE

12VVspaceVmark-10V

主站到从站

Imark+11mAIspaceImark+20mA

从站到主站

主站向从站发送逻辑“1”(MARK)时,总线电压为Vmark(≤42V),发送逻辑“0”(SPACE)时,电压下降10V以上,降到Vspace(≥12V);从站向主站发送逻辑“1”时,从站所取电流为Imark(≤1.5mA),发送逻辑“0”时,从站的MBus接口会在Imark上加上脉冲电流11-20mA,形成Ispace

MBus协议规定总线处于空闲状态时用逻辑“1表示,即总线电压维持在Vmark,而每个从站取电流Imark1.5mA,即两线制总线上的总电流等于Imark*从站总数。这样无论总线处于空闲状态还是数据传输状态,总线电压不低于Vspace,每个从站所取电流不小于Imark,这个电流就可用作从站电源。可见在MBus的正常运行状态下,总线可以持续不断地既传信号又供电源,使终端仪表所用电池成为备用电源,减少了仪表定期维护、更换电池等工作量,仪表的安装位置也可以比较随意。MBus总线上的bit流传输过程如1-3 所示。

 



M-BUS协议基础知识。

        图1-3 MBus总线上的bit流传输

虚线左边的时间段是主站到从站的bit流传输,总线电压在VspaceVmark间切换,从站电流维持Imark不变;虚线右边的时间段是从到主的bit流传输,从站所取电流在ImarkIspace间切换,总线电压基本维持Vmark不变,但由于MBus电源输出阻抗的存在,使得电流增大时总线电压略有减小。这表明数据传输过程中任意时刻MBus总线上要么传输电压信号,要么传输电流信号,所以MBus只能工作在主从半双工方式下。

主站通过检测总线上是否出现11-20mA脉冲电流确定接收“0”还是“1”;从站接收数据时,由于总线绝对电压会随着距离和总线电流变化而变化,故通过检测总线电压与动态参考电压是否相差10V以上来确定接收“0”还是“1”。TI公司的MBus接口芯片TSS721A采用的就是这种动态电平识别逻辑,它的动态参考电压由从站接入位置处的Vmark对芯片内的一个电容充电获得。该电容充放电电流之比约为40,在波特率大于300的情况下只要在传输的bit流中每11位至少出现一个“1”(Vmark),就可以保证动态参考电压始终维持在Vmark附近。

1.2.2   MBus数据链路层

MBus数据链路层以国际电工委员会IEC870-5(遥控装置和系统传输协议)为基础,规定了MBus的信号传输方式、字节表示、帧格式以及主从站的连接过程等。

根据物理层的特点,MBus采用半双工、异步串行信号传输方式,波特率为3009600。信号格式采用起止式异步协议(IEC870-5-1),以字节为单位进行传输,先传低位bitLSB)再传高位bitMSB)。总线上表示一个字节的11bit流按传输顺序是:起始位/8bit字节/奇偶校验位/停止位。由于MBus的空闲位(VmarkImark)为逻辑“1”,所以起始位定义为逻辑“0”,而停止位定义为逻辑“1”。这样,一个字节的传输过程中包括起始、数据、校验、停止共11比特,其中至少有一个逻辑“1”,满足MBus从站的电平要求。

MBus采用FT1.2异步式字节传输帧格式(IEC870-5-2),由多个字节组成,传输时字节间不允许停顿。FT1.2定义了三种帧格式,分别是单字节帧(1-3 )、定长短帧(1-4 )和变长长帧(1-5 )。其中S:表示起始位;D:未加说明均表示一个字节;P:表示奇偶校验位;E:表示停止位;发送顺序从左至右,从上至下。


表1-3 单字节帧

S

D

P

E

0

E5H

1

1

 

表1-4 定长短帧

S

D

P

E

0

10H

1

1

0

C字段

P

1

0

A字段

P

1

0

CS字段

P

1

0

16H

1

1

表1-5 变长长帧

S

D

P

E

0

68H

1

1

0

L字段

P

1

0

L字段

P

1

0

68H

1

1

0

C字段

P

1

0

A字段

P

1

0

CI字段

P

1

0

用户数据区0252字节

P

1

0

CS字段

P

1

0

16H

1

1


单字节帧E5H用于接收确认,定长短帧用于主站向从站发送指令,变长长帧用于主从站间的数据交换。后两种格式除了起始字节(如10H68H)、终止字节(16H)外,还定义了CALCICS字段,变长长帧还封装了一个长达252个字节的用户数据区,各字段的意义如下。

    C:控制字段或者叫功能字段,定义了帧的功能、数据流向,保证帧的正确发送和接收。根据C字段的不同,IEC870-5-2将报文帧命名为不同的功能代码,MBus常用的功能代码有SND_NKE(初始化从站)、SND_UD(向从站发送数据)、REQ_UD2(请求从站发送数据)和RSP_UD(向主站发送数据)。

    A:地址字段,范围0255,表示接收数据或发送数据的从站地址。

    L:长度字段,记录变长长帧的长度信息。

    CS:校验和字段,通过对前面几个字段求和来检验报文帧是否出现传输错误。

    CI:控制信息字段,主要有两方面的功能,一方面是完成主对从的一些配置功能,如设定波特率、从站地址等;另一方面在从站向主站发送测量数据时,CI字段设定了用户数据区的基本参数,如字节顺序、数据结构等。

MBus的通信完全由主站控制,主从站之间按以下两种非平衡式传输规则交换报文帧:

1.        Send/Confirm

SND-NKE<>E5H,主站发送SND-NKE,被呼叫从站以E5H单字节帧确认,用于通信开始或者通信中断后的初始化。

SND-UD<>E5H,主站发送SND-UD,被呼叫从站以E5H单字节帧确认,用于主站向从站传输数据或者控制信息,如设定波特率等。

2.        Request/Respond

REQ_UD2<> RSP_UD,主站发送REQ_UD2,被呼叫从站以RSP_UD回复,用于主站采集从站的测量数据,如热量、流量等,这些数据位于RSP_UD的用户数据区。

1.2.3   MBus应用层

MBus应用层定义了测量记录的数据类型和数据结构。从站利用这些数据类型和结构将测量记录进行编码处理,并封装在长帧的用户数据区内发送;主站则根据这些数据类型和结构的定义,对长帧的用户数据区进行相应的解码,从而获取从站的测量数据。因此用户数据区的数据类型和数据结构的定义对于MBus的应用具有重要的意义,MBus在这方面针对消耗量计量仪表的测量数据进行了专门的设计。

MBus定义了多种数据类型,包括无符号BCD整型、二进制整型、无符号二进制整型、布尔型、32bit复合型(表示测量类型、物理单位等)、32bit日期时间型、16bit日期型、浮点型。在这些数据类型的基础上,MBus定义了两种数据结构:固定数据结构和可变数据结构。长帧的用户数据区实际上就是一个用固定数据结构或可变数据结构表示的数据块。

1.        固定数据结构(Fixed Data Structure):

分为6个字段,按顺序分别是:从站标识号码/访问次数/从站状态/测量量类型和单位/计数器1数据/计数器2数据。这种数据结构只能传输两个计数器的数据,且对测量记录只能进行固定长度的编码,因此适用于从站只有一两个测量量的场合。

2.        可变数据结构(Variable Data Structure):

可变数据结构分为4个部分,按顺序分别是:固定数据头/数据记录块(DRB/厂商数据头/厂商自定义数据块。固定数据头同固定数据结构的前3个字段的意义基本类似;数据记录块由若干子数据块组成,子数据块数目以及每个子数据块的类型、长度、意义都是可变的,每个子数据块保存一个测量数据;厂商数据头是一个标识符(0FH或者1FH),表明自此以后是厂商自定义数据块;厂商自定义数据块使得在主从站间可以按照自定义的规则交换数据,不受标准的约束,进一步增加了使用的灵活性。可变数据结构能充分满足远程读数的需要,适用于从站有多种测量量的场合。

对于热力站监控系统来说,可变数据结构中的数据记录块保存的各个子数据块是最重要的,因为它们保存了热量表的测量数据。每个字数据块由三部分组成,按顺序分别是:数据信息块(DIB/量值信息块(VIB/数据编码块(DCB)。数据信息块由一个或多个字节表示,说明测量数据的编码类型(二进制还是BCD以及数据编码块的位数)、数据类别(瞬时值还是平均值等);量值信息块也是由一个或多个字节表示,说明测量值的量纲和量级;数据编码块保存该测量数值的编码。

应用层除了定义测量记录类型和数据结构外还有其它用途。实际上最新的MBus标准中通过规定许多新的CI字段控制字节,并结合用户数据区存储的信息,为用户提供了许多新的功能。随着MBus协议的不断发展,应用层功能将不断扩展和完善,包括寻址、设定参数、报警以及更为灵活的抄表方式等。

1.2.4   MBus从站接口芯片TSS721A

热力站监控系统中,MBus从站(Slave)是各公司生产的热量表,其核心部分是一块高度集成的控制芯片,它可以完成流量、温度等物理量的测量,并可以进行热量值的积分计算。热量表为了便于远程抄读,一般都提供了MBus接口,热量表的核心控制芯片也提供了对MBus协议的支持。热量表MBus接口电路广泛使用了TSS721A收发芯片。

TSS721A接口芯片是MBus协议组织与TI公司合作开发的MBus协议从站专用接口芯片,遵循EN1434-3标准。借助TI公司的强大技术力量,TSS721A接口芯片实现了MBus协议对物理层的各项规定要求,有力地推动了MBus协议的推广。根据MBus总线物理层的相关定义,TSS721A从站接口芯片具备检测总线电压(接收数据)和调制总线电流(发送数据)的功能,关于TSS721A的通信电路原理可以参阅有关文献。TSS721A除了MBus通信功能外,还对MBus总线远程供电和电池供电提供了很好的支持。


0 0
原创粉丝点击