MBus总线的基础学习

MBus总线的基础学习MBus总线是一种主从式半双工传输总线,采用主叫/应答的方式通信,即只有处于中心地位的主站(Master)发出询问后,从站(Slave)才能向主站传输数据。MBus的主要特点如下:1、两线制总线,不分正负极性,施工简单;2、采用独特的电平特征传输数字信号,抗干扰能力强,传输距离长;3、可以选着总线供电,降低维护成本;4、总线型拓扑结构,扩展方便,组网成本低;5、任一

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
    MBus总线是一种主从式半双工传输总线,采用主叫/应答的方式通信,即只有处于中心地位的主站(Master)发出询问后,从站(Slave)才能向主站传输数据。

MBus的主要特点如下:

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

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

3、可以选着总线供电,降低维护成本;

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

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

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

两线电缆通常采用标准电话双绞线,没有正负极之分。

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

Bit                 Bit流的表示                    Bit流传输方向

逻辑“1”(MARK)   22V=<Vmark=<42                 主站到从站

                    0mA=<Imark=<1.5mA              从站到主站

逻辑“0”(SPACE)  12V=<Vspace=<Vmark-10          主站到从站

                    Imark+11mA=<Ispace=<Imark+20mA 从站到主站

MBus协议规定总线处于空闲状态是用逻辑“1”表示,即总线电压维持在Vmark,而每个从站取电流Imark≈1.5mA,即两线制总线上的总电流等于Imark*从站总数。这样无论总线处于空闲状态

还是数据传输状态,总线电压不低于Vspace,每个从站所取电流不小于Imark,这个电流就可用作从站电源。

1.2.2MBus数据链路层

规定了MBus的信号传输方式、字节表示、帧格式以及主从站的连接过程等。

根据物理层的特点,MBus采用半双工、异步串行信号传输方式,波特率为300~9600。

由于MBus的空闲位为逻辑“1”,所以起始位定义为逻辑“0”,而停止位定义为逻辑“1”。这样,一个字节的传输过程中包括起始、数据、校验、停止共11比特,其中至少有一个逻辑“1”

,满足MBbus从站的电平要求。

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    L字段                 P    1

0    L字段                 P    1

0    16H                   1    1

单字节帧E5H用于接收确认,

定长短帧用于主站向从站发送指令,

变长长帧用于主从站间的数据交换。

后两种格式除了起始字节(如10H,68H)、终止字节(16H)外,

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

从站)、SND_UD(向从站发送数据)、REQ_UD2(请求从站发送数据)和RSP_UD(向主站发送数据)。

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

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

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

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

,如字节顺序、数据结构等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181416.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • gtest测试用例_数据字典简单例子

    gtest测试用例_数据字典简单例子#includeintfun1(){return10;}classtest:public::testing::Test{public:intfun2(){return1;};};TEST(fun1,test_fun){EXPECT_EQ(10,fun1());//单个函数的测试}TE

  • NSGA2算法代码理解

    NSGA2算法代码理解NSGA2算法代码理解:设置200个个体,目标函数为2个,决策变量的个数为30,首先初始化得到一个每个个体位于0~1之间的决策变量,利用ZDT1函数求得目标值,保存在数组中。寻找非支配排序,在这200个个体中,选中一个个体,将这个个体和其余个体的目标函数值比较,如果没有一个个体可以支配他,那么就将其加入到非支配集合中ifindividual(i).n==0%个体i非支配等级排序最高,…

  • 机器学习算法(一):逻辑回归模型(Logistic Regression, LR)[通俗易懂]

    机器学习算法(一):逻辑回归模型(Logistic Regression, LR)[通俗易懂]线性分类器:模型是参数的线性函数,分类平面是(超)平面;非线性分类器:模型分界面可以是曲面或者超平面的组合。典型的线性分类器有感知机,LDA,逻辑斯特回归,SVM(线性核);典型的非线性分类器有朴素贝叶斯(有文章说这个本质是线性的,http://dataunion.org/12344.html),kNN,决策树,SVM(非线性核)https://www.cnblogs.com/sparkw…

  • DataGrid中DropDownList的动态绑定以及触发DropDownList事件

    DataGrid中DropDownList的动态绑定以及触发DropDownList事件今天在写DataGrid中DropDownList的绑定,客户需要根据值去改变价格信息,发现忘记如何写的了。虽然网上很多了,但自己还是做个笔记,以后查询方便1.ASPX页面1<asp:TemplateColumnHeaderText=”退还价格类型”>2<ItemTemplate>3<asp:DropDownListID=”ddlRe…

  • Python中如何生成exe文件

    Python中如何生成exe文件pipinstallpyinstallerpyinstaller-F文件名.py/dist文件夹里拖出来

  • 动态规划算法解01背包问题(思路及算法实现)

    动态规划算法解01背包问题(思路及算法实现)说明:算法源自教材。本文相当于对教材做的一个笔记(动态规划与贪心算法解01背包必须先对背包按照单位重量的价格从大到小排序,否则拆分的子问题就不具备最优子结构的性质)动态规划算法:动态规划就是一个填表的过程。该表记录了已解决的子问题的答案。求解下一个子问题时会用到上一个子问题的答案。{比如01背包问题:假如有1个背包,背包容量是10,有5个物品,编号为1,2,3,4,5,他们都有各自的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号