打印

MBUS通信问题

[复制链接]
4057|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinpaidianzi|  楼主 | 2014-6-21 22:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jinpaidianzi|  楼主 | 2014-6-21 22:32 | 只看该作者
该怎么办呢 困在这里了

使用特权

评论回复
板凳
teabottle| | 2014-6-21 23:50 | 只看该作者
先确认波特率以及接收程序是否正确,排除软件问题后再找电路方面的原因。

使用特权

评论回复
地板
wangjinlili| | 2014-6-22 00:09 | 只看该作者

注意相位、波特率是否匹配。

使用特权

评论回复
5
meishizhaoshi| | 2014-6-22 00:23 | 只看该作者
差不多就是这两方面的问题吧

使用特权

评论回复
6
dirtwillfly| | 2014-6-22 10:45 | 只看该作者
用示波器或逻辑分析仪看看时序吧

使用特权

评论回复
7
三好公民| | 2015-5-26 12:12 | 只看该作者
有一个MBUS项目外包,有兴趣吗?或者认识有做这种产品的人也麻烦介绍一下。多谢。QQ2354394275

使用特权

评论回复
8
Thor9| | 2015-5-26 14:28 | 只看该作者
IO口配置,时序,和波特率是关键,楼主还是在检查一下吧

使用特权

评论回复
9
mintspring| | 2015-5-31 21:28 | 只看该作者
M-BUS资料研究汇总
    目前我国的集中供热、采暖系统计量收费逐渐展开,热力站中主要的计量装置就是热量表。热量表是一种以微处理器和高精度传感器为基础的机电一体化仪表,与建筑业过去已经普遍使用的计量表,比如水表、电表、煤气表相比,它有着更复杂的设计和更高的技术含量。热量表通过温度和流量两种传感器,分别测得热载体在进出口的温度和流量,再经过密度和热焓值的补偿及积分计算而得到热量值。
随着电子和通信技术的发展,各种消耗量仪表(包括热量表)从“人工抄读”逐渐发展到“远程控制抄读”,后者是消耗量仪表技术的逻辑发展与延伸。热量表一般提供RS-485、Modbus或MBus总线接口之一以实现远程抄表和控制功能。仪表总线MBus(Meter-Bus)是一种专门为热量表远程数据传输设计的总线协议,它是测量仪表数据传输数字化的一种重要技术,已经广泛应用于热量计量领域,并成为欧洲的热量计量标准的一部分(欧洲标准EN1434-3)。除了热计量领域,它也可用于连接其他的各种消耗量仪表、传感器、执行器。
为了满足日常使用,一个优秀的总线系统必须满足如下一些经济和技术方面的要求:容量大,可扩展,鲁棒性、成本低、用电量少、传输速度。M-Bus总线协议在这些方面能获得最佳性价比,欧洲能源计量领域的著名公司,如斯伦贝谢、卡卢姆普、真兰等公司生产的热量表大多遵循EN1434-3技术标准,支持MBus协议,这使得MBus协议成为事实上的行业标准。随着MBus技术的发展,其应用将逐渐扩展到报警系统、照明系统等更广阔的领域。
远程终端很好地支持了MBus协议,实现了与国外先进仪表产品的无缝连接,可以通过MBus总线接口读取热力站内安装的热量表主要测量值,包括累积热量、累积流量、瞬时温度、瞬时流量、供水温度、回水温度和供回水温差,从而为监测、控制和计费提供依据。
1.1   MBus总线协议概述
MBus总线是一种主从式半双工传输总线,采用主叫/应答的方式通信,即只有处于中心地位的主站(Master)发出询问后,从站(Slave)才能向主站传输数据,如图1-1 所示。



图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的远程抄表系统


原则上MBus可以任一种拓扑结构建立网络,如星型、环形、总线型等,但通常MBus采用总线型拓扑结构。典型的MBus系统如图1-2 所示,由一个主站、若干个从站和两根连接电缆组成。
主站是一个智能控制器,可为MBus总线提供电源,与从站进行通信,保存从站的测量数据,还可以利用各种现有的通讯手段与异地的计算机联网构成一个完备的远程管理计量系统。从站是各种计量仪表,如电表、水表、热表、气表等,它们通过MBus接口并联在总线主电缆上,该接口负责收发总线数据,控制总线电源和电池电源的切换。两线电缆通常采用标准电话双绞线,没有正负极性之分。
MBus物理层bit流传输具有独特的电平特征(如表1-2 )。主站到从站的bit流传输通过总线电平切换实现,而从站到主站的bit流传输通过电流调制实现。定义逻辑“1”为MARK,逻辑“0”为SPACE。
表1-2 MBus物理层bit流表示
Bit
Bit流的表示
Bit流传输方向
逻辑“1”(MARK)
22V≤Vmark≤42V
主站到从站
0mA≤Imark≤1.5mA
从站到主站
逻辑“0”(SPACE)
12V≤Vspace≤Vmark-10V
主站到从站
Imark+11mA≤Ispace≤Imark+20mA
从站到主站
主站向从站发送逻辑“1”(MARK)时,总线电压为Vmark(≤42V),发送逻辑“0”(SPACE)时,电压下降10V以上,降到Vspace(≥12V);从站向主站发送逻辑“1”时,从站所取电流为Imark(≤1.5mA),发送逻辑“0”时,从站的MBus接口会在Imark上加上脉冲电流11-20mA,形成Ispace。
MBus协议规定总线处于空闲状态时用逻辑“1”表示,即总线电压维持在Vmark,而每个从站取电流Imark≈1.5mA,即两线制总线上的总电流等于Imark*从站总数。这样无论总线处于空闲状态还是数据传输状态,总线电压不低于Vspace,每个从站所取电流不小于Imark,这个电流就可用作从站电源。可见在MBus的正常运行状态下,总线可以持续不断地既传信号又供电源,使终端仪表所用电池成为备用电源,减少了仪表定期维护、更换电池等工作量,仪表的安装位置也可以比较随意。MBus总线上的bit流传输过程如图1-3 所示。



使用特权

评论回复
10
mintspring| | 2015-5-31 21:29 | 只看该作者





        图1-3 MBus总线上的bit流传输
虚线左边的时间段是主站到从站的bit流传输,总线电压在Vspace和Vmark间切换,从站电流维持Imark不变;虚线右边的时间段是从到主的bit流传输,从站所取电流在Imark和Ispace间切换,总线电压基本维持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采用半双工、异步串行信号传输方式,波特率为300~9600。信号格式采用起止式异步协议(IEC870-5-1),以字节为单位进行传输,先传低位bit(LSB)再传高位bit(MSB)。总线上表示一个字节的11位bit流按传输顺序是:起始位/8bit字节/奇偶校验位/停止位。由于MBus的空闲位(Vmark,Imark)为逻辑“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
用户数据区0~252字节
P
1
0
CS字段
P
1
0
16H
1
1


单字节帧E5H用于接收确认,定长短帧用于主站向从站发送指令,变长长帧用于主从站间的数据交换。后两种格式除了起始字节(如10H,68H)、终止字节(16H)外,还定义了C、A、L、CI和CS字段,变长长帧还封装了一个长达252个字节的用户数据区,各字段的意义如下。
    C:控制字段或者叫功能字段,定义了帧的功能、数据流向,保证帧的正确发送和接收。根据C字段的不同,IEC870-5-2将报文帧命名为不同的功能代码,MBus常用的功能代码有SND_NKE(初始化从站)、SND_UD(向从站发送数据)、REQ_UD2(请求从站发送数据)和RSP_UD(向主站发送数据)。
    A:地址字段,范围0~255,表示接收数据或发送数据的从站地址。
    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总线远程供电和电池供电提供了很好的支持。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

1489

帖子

1

粉丝