因复位时I/O口都输出高电平。如果把I/O口直接与RS-485接口芯片的驱动器使能端DE端相连,会在CPU复位其间DE为高,从而使本节点处于发送状态。如果此时总线上其它节点在发送数据,则此次数据传输将被打断而失败,甚至引起整个总线因某个节点的故障而通信阻塞,继而影响整个系统的正常运行。为了做到通信避障,考虑系统工作稳定性,在每个节点的设计中应将控制RS-485总线接口芯片的发送引脚设计成DE端的反逻辑,即控制引脚为逻辑“1”时,DE端为“0”;控制引脚为逻辑“0”时,DE端为“1”。应用中,将MCU的I/O引脚ControlDE(控制RS485总线接口芯片的发送引脚)反相和CPU复位引脚RESET反相相与驱动DE端,这样就可以使控制引脚为高或者异常复位时使RS-485接口始终处于接收状态,从而从硬件上有效避免节点因异常情况而对整个系统造成的影响

在RS-485总线构筑的半双工通信系统中,一般采用主从通信模式,即整个系统中只有一个为主节点,总线上所有其它节点都是从节点,通信方式一般是主节点循环轮询各个从节点。这有很多弊端,首先,此时主节点的通信工作其CPU通信负担较重,一定意义上讲,会对其完成其它系统工作造成一定影响;整个系统“危险”集中主节点,主节点的工作可靠性和稳定性是整个系统稳定、可靠工作的前提和保证;一旦主节点发生故障,将导致整个系统的崩溃。其次,系统通信效率低,因为无论某一个节点是否需要发送数据或需要使用总线,都要等到主节点轮询到自身,从而使得系统的通信效率较低,总线利用效率低。系统实时性差。因其通信的效率较低使得从节点有实时性要求帧信息得不到及时发送从而使得系统的实时性差。所以,多主发送有其现实意义。

多主发送在硬件上只要在MAX485R的R引脚上通过反相器接在MCU的IRQ上,当一节点需要用总线时,为了实现总线的通信避障需要侦听,当总线上有数据正在传输数据时,RS-485接口芯片的数据接收端表现高低电平,利用其产生的CPU上升沿中断,可以得知此时总线是否忙,即总线是有节点正在通信

设置侦听时间IRQ中断标志—在1ms内有无IRQ中断—(无)发数据—(有)继续侦听

rs485多主的更多相关文章

  1. rs485一主多从的连接方式及通信注意事项

    rs485的通信方式看似比较简单,其实通信软件的处理还是有需要注意的. 下图是主机向从机发送信息的示意图,其中485的线都是手牵手相连的,因此主机向下发的时候,其实各个从机都有在接收数据的,只是,从机 ...

  2. 第41章 RS-485通讯实验—零死角玩转STM32-F429系列

    第41章     RS-485通讯实验 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  3. RS232转RS485电路图分析

    在电子发烧友网站上,看到RS232转RS485的一个电路图,如下图所示.元件主要是HN232CP和MAX485CPA,也就是TTL转232电路和TTL转485电路的结合体.可是这个电路却不好分析,几经 ...

  4. CAN总线与RS485的比较

    CAN总线与RS485的比较 http://blog.csdn.net/reille/article/details/6135546 can总线与485总线有什么区别?  http://blog.16 ...

  5. v3学院带你一次性认清UART、RS-232、RS-422、RS-485的区别

    通讯问题,和交通问题一样,也有高速.低速.拥堵.中断等等各种情况.如果把串口通讯比做交通,UART比作车站,那么一帧的数据就好比汽车.汽车跑在路上,要遵守交通规则.如果是市内,一般限速30.40,而高 ...

  6. 采用ADM2483磁隔离器让RS485接口更简单更安全

    采用ADM2483磁隔离器让RS485接口更简单更安全 摘要:本文介绍RS485的特点及应用,指出了普通RS485接口易损坏的问题,针对存在的问题介绍了以ADM2483为核心的磁隔离解决方案. 关键词 ...

  7. rs485引脚定义

    转自:http://blog.chinaunix.net/uid-9688646-id-3275796.html rs485有两种,一种是半双工模式,只有DATA+和DATA-两线,另一种是全双工模式 ...

  8. RS-485总线通信协议

    https://blog.csdn.net/ouyangxin95/article/details/78174145 RS-485总线技术只是规定了接口的电气标准,并没有规定RS-485接口的电缆,插 ...

  9. CAN总线学习系列之二——CAN总线与RS485的比较

    CAN总线学习系列之二——CAN总线与RS485的比较 上 一节介绍了一下CAN总线的基本知识,那么有人会问,现在的总线格式很多,CAN相对于其他的总线有什么特点啊?这个问题问的好,所以我想与其它总线 ...

随机推荐

  1. SQL 索引查找

    索引查找信息 在非聚集索引里,会为每条记录存储一份非聚集索引索引键的值和一份聚集索引索引键 [在没有聚集索引的表格里,是RID值指向数据页面,有聚集索引的话指向聚集索引的键(在不使用include时) ...

  2. Hello World另类写法

    #include<iostream> #define _ using namespace std; #define __ int main() #define ___ { #define ...

  3. uvm_reg_map——寄存器模型(八)

    所有的寄存器都需要地址,都需要加入到地址列表中 //-------------------------------------------------------------------------- ...

  4. 机器学习经典算法之SVM

    SVM 的英文叫 Support Vector Machine,中文名为支持向量机.它是常见的一种分类方法,在机器学习中,SVM 是有监督的学习模型. 什么是有监督的学习模型呢?它指的是我们需要事先对 ...

  5. 手工恢复OSSIM数据库密码

    1,现象 今天需要远程连接ossim的mysql数据库读取些东西,于是登录ossim的终端,发现这个mysql客户端无法直接登录,使用自己安装时候那些口令都不行 alienvault:~# mysql ...

  6. 洛谷 P2176 [USACO14FEB]路障Roadblock

    题目描述 每天早晨,FJ从家中穿过农场走到牛棚.农场由 N 块农田组成,农田通过 M 条双向道路连接,每条路有一定长度.FJ 的房子在 1 号田,牛棚在 N 号田.没有两块田被多条道路连接,以适当的路 ...

  7. MovieReview—Kingsman THE SECRET SERVICE(王牌特工之特工学院)

    Brain Storming         Mr. Valentine's Day see excess human beings as the Earth's virus and try to e ...

  8. python解析xml实例

    如下,一个银行卡打标签后导出的数据 <?xml version="1.0" encoding="ISO-8859-1"?> <annotati ...

  9. Python正则表达式计算器流程图

  10. Linux centos 6 配置php环境,扩展redis

    1.首先安装一个虚拟机(我自己版本:VM 10.0.4) yum -y install openssl psmisc openssl-devel php-devel pcre-devel gcc gc ...