mbus主站电路设计_proteus子电路模块

mbus主站电路设计_proteus子电路模块1Mbus接收发送机制对于主从式通信系统,因从机之间不能直接交换信息,只能通过主机来转发,此时采用MBus可以实现对从机的相关数据进行采集,并传递至集中器,然后再传递至总站。它由主机从机和两线制总线组成。MBus总线是一种半双工通信总线,其可以通过集中器实现给终端仪表远程供电。1.1发送由集中器向终端仪表传输的信号采用电压值的变化来表示,即集中器向终端仪表发送的数据码流是一种电压脉冲序列,用+36V表示逻辑“1”,用+24V表示逻辑“0”。在稳态时,线路将保持“1”状态。

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

Jetbrains全系列IDE稳定放心使用

1 Mbus接收发送机制

对于主从式通信系统,因从机之间不能直接交换信息,只能通过主机来转发,此时采用MBus可以实现对从机的相关数据进行采集,并传递至集中器,然后再传递至总站。它由主机从机和两线制总线组成。MBus总线是一种半双工通信总线,其可以通过集中器实现给终端仪表远程供电。

1.1发送

由集中器向终端仪表传输的信号采用电压值的变化来表示, 即集中器向终端仪表发送的数据码流是一种电压脉冲序列, 用 + 36 V 表示逻辑“1”, 用+ 24 V 表示逻辑 “0” 。在稳态时,线路将保持“1” 状态。

1.2接收

从终端仪表向集中器传输的信号采用电流值的变化来表示, 即由终端仪表向集中器发送的数据码流是一种电流脉冲序列, 通常用1. 5 mA的电流值表示逻辑 “1” ,当传输 “0” 时,由终端仪表控制可使电流值增加11~20 mA。在稳态时, 线路上的值为持续的 “1” 状态。当终端仪表接收信号时, 其电流应处于稳态 “1” 。

2 原理图

原理图

2.1发送

通过MBUS_TX信号的电平高低来调节U2 LM317 ADJ电阻,从而将MBUS_TX信号转化为36V&24V电压变化。

2.2接收

从机信号为1时,环路电流处于稳态,MBUS+点的电压不变,U35A的IN+>IN-,输出高电平,经过电平转换电路转换为TTL电平的MBUS_RX。
从机信号为0时,增加11-20mA的脉冲电流,环路电流增大,流经采样电路(R848、R846)的电流增大,MBUS+点的电压减小。此时,U35A的IN+电压减小,由于U35A的IN-存在稳压电容C11,以及防反流二极管D78,IN-的电压仍维持原来较高的电压,所以IN+<IN-,U35A输出低电平,经过电平转换电路转换为TTL电平的MBUS_RX。

2.3接收使能

由于MBUS主机发送信号时,LM317电压会在36V和24V间跳变,导致MBUS+点的电压也会发生跳变,同样会导致U35A的输出发生变化,即MBUS_TX发生时,MBUS_RX也会接收到发送的数据,因此增加了U33,当MBUS_RX发送数据时,通过MBUS_RX_EN来关掉U33的电源供电,使MBUS_RX始终处于高电平。当MBUS_TX发送完毕后,MBUS_RX_EN使能U33电源供电,MBUS_RX开始接收U35A的信号。以上措施可以避免MBUS主机发送信号时会收到发送信号的问题。

2.4过载检测

通过检测采样电路(R848、R846)两端的电压差,即可得知环路电流,当电流超过阈值时报警或切断电路。
原理图中,当环路电流小于372mA时,MBUS+电压>MBUS+0,U35B的IN+>IN-,输出高电平。当环路电流大于372mA时,U35B的IN+<IN-,输出低电平。通过检测U35B的输出即可检测环路电流是否过载。

后记:

本电路去掉了MBUS主机分流电路,架构简单,成本更低。但去掉分流电路后环路供电电流全部流经采样电阻,所以总电流不宜过大,导致所带的从机不易过多。以电路中的采样电阻阻值为例,最大从机数量建议不要超过128台。
如想增加从机数量,可以将采样电阻减小。坏处就是采样电阻越小,电压比较器处的分压输入就需要越接近,对电源质量要求越高,抗干扰也越差。

/* 这是一段测试代码 */
//为了防止系统判断推荐受影响而添加

```c
#example configuration for a dialup connection authenticated with PAP or CHAP
#
# This is the default configuration used by pon(1) and poff(1).
# See the manual page pppd(8) for information on all the options.
# MUST CHANGE: replace myusername@realm with the PPP login name given to
# your by your provider.
# There should be a matching entry with the password in /etc/ppp/pap-secrets
# and/or /etc/ppp/chap-secrets.
#user "myusername@realm"
# Serial device to which the modem is connected.
# ttyname 串口端口,若非以”/“开头,则会自动补充”/dev/
/dev/ttyS6
#/dev/ttyUSB2
#NO硬件流控
nocrtscts
# 前台运行
nodetach
# speed 串口波特率
# Speed of the serial line.
#115200
9600


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

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

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

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

(0)


相关推荐

  • 保存对话框在哪里设置_vba另存为覆盖不提示

    保存对话框在哪里设置_vba另存为覆盖不提示         SaveFileDialogsaveFileDialog1=newSaveFileDialog();           saveFileDialog1.AddExtension=true;           saveFileDialog1.Filter=”ACCESS2003(*.mdb)|*.mdb|所有文件|*.*”;//文件类型  

  • 2. Pycharm的介绍与使用[通俗易懂]

    2. Pycharm的介绍与使用[通俗易懂]使用Python原生IDLEIDLE是Python软件包自带的一个集成开发环境,点击开始–&gt;Python安装包–&gt;IDLE。启动IDLE时,会显示&gt;&gt;&gt;,可以在&gt;&gt;&gt;后面输入代码。在PythonShell输入代码回车后会立即执行,并直接在下面显示执行的结果。如下图所示:在原生IDLE模式下编写的代码只停留于内存当中,当关闭原生IDL…

  • 按键精灵2014微信群内给好友轮流发私信[通俗易懂]

    按键精灵2014微信群内给好友轮流发私信[通俗易懂]给微信群内好友轮流发私信1,界面如图2,程序中要找的图片为3,程序源码如下:/** *此版本适合windows版微信,电脑的分辨率需要调到1366*768 */x=387//第一行第一列的横坐标y=94//第一行第一列的纵坐标h=Form1.InputBox1.Text //每页的行数,超过一页的一律填5行page=For

  • 线性代数代码实现(六)矩阵除法(C++)

    线性代数代码实现(六)矩阵除法(C++)前言:距离上一篇文章发布已经五天过去了,在这里先给一直等待的伙伴们说声抱歉,因为博主最近的事情很多,只好暂时停更,望大家理解!上一篇文章中,我们介绍了求解逆矩阵的方法,我提到,可逆矩阵可以定义除法。这一篇文章中,讨论一下怎样实现矩阵除法!一、线性代数知识回顾:事实上,矩阵没有“除法”这一概念,我们的“除法”实际上是用以下方式来定义的:设矩阵,,,其中为可逆矩阵,满足以下等式:变换得:如果我们换一种写法,就成了:这样就定义了矩阵除法,我把它称…

  • linux 双网卡 同网段_双网卡 同网段 冲突

    linux 双网卡 同网段_双网卡 同网段 冲突场景:A(192.168.10.203)X网段(192.168.10.200)B(10.179.172.100)Y网段C(10.179.172.122)A是X网段中的设备,C为Y网段中的设备,现在想设备C访问到设备A,现有一台双网卡服务器B实现方式:开启服务器B的地址伪装功能1、设置服务器B的ipB服务器网卡1设置X网段ip192.168.10.200,不设网关网卡2设置Y网段ip10.179.172.100,网关设置为10.179.172.100这样A可以ping通BC也可

  • Oracle列转行函数 Listagg() 语法详解及应用实例「建议收藏」

    Oracle列转行函数 Listagg() 语法详解及应用实例「建议收藏」工作中用到一段比较复杂的SQL查询脚本,使用了listagg()函数实现了具有多个值的字段的填充(即,列表聚合,listaggregation(我猜的))。说简单点,listagg()函数可以实现多列记录聚合为一条记录,从而实现数据的压缩、致密化(datadensification)。以下内容转载自http://dacoolbaby.iteye.com/blog/1698957,SQL脚本做了…

发表回复

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

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