2.RS-485通信总线标准

RS-485标准采用平衡式发送和差分接收方式实现通信,由于传输线通常使用双绞线,又是差分传输,所以有极强的抗共模干扰的能力。RS-485采用半双工工作方式,支持多点数据通信。

总线网络拓扑一般采用终端匹配的总线型结构,即采用一条总线将各个节点串接起来,不支持环形或星型网络,如果需要使用星型结构,就必须使用485中继器或485集线器。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或256个节点,最大的可以支持到400个节点。

3.RS-485电路设计原理

TTL,RS-485两者之间的电平标准定义不通,需要电平转换芯片来实现两者间的数据交换。图三是一般RS-485电平转换芯片引脚数及其定义,或者称为RS-485收发芯片。

RS-485收发芯片(电平转换芯片)可以理解成两部分,分别为驱动器和接收器。

驱动器输出是差分输出,DE管脚上的逻辑高电平将使能驱动器差分输出,如果DE为逻辑低电平,则驱动器输出呈现高阻态,将发送端与输出A,B断开。

表 1驱动器输出真值表


通过该真值表可知,在发送时,/RE的电平高低就无所谓了DE是高电平时,

那么DI为1,A>B,驱动器发送器输出1,

DI为0时,B>A,驱动器发送器输出0。

而当DE为低电平时,则输出高阻态,也就是隔开了DI与A,B之间的关系。

RS-485接收器输入时差分输入,/RE来使能接收器,当/RE为低电平时,接收器使能。

表 2接收器输出真值表

差分传输:发送端在两条信号线上传输幅值相等,相位相反电信号,接收端在对接收的两条线信号做减法运算,这样就获得幅值翻倍的信号。

特别注意:千万不要以为RS-485的逻辑“1”是B>A,逻辑“0”就是A>B。

正确理解:分两种情况驱动器(发送器)和接收器,

对于驱动器(发送器),逻辑“1”(正)是A>B,AB之间电压为+(2~6)V;

逻辑“0”(负)是A<B,AB之间电压为-(2~6)V。

而对于接收器,则逻辑“1”(正)则是B>A,BA之间电压不小于200mV;

逻辑“0”(负)则是A>B,BA之间电压小于-200mV;
即正负逻辑,电压绝对值都大于200mV。

由于RS-485芯片特性,接收器的检测灵敏度为±220mV,当A,B端的电位差绝对值小于200mV时,输出为不稳定,如果在总线上所有发送器被禁止时,接收器输出逻辑“0”,这会误认为通信帧的起始引起工作不正常,解决这个问题的办法就是人为的地使A端电位高于B端电位,这样Rxd的电平在485总线不发送期间(总线悬浮时)呈现唯一的高电平,MCU就不会被误中断而收到乱字符,通常在485电路的A,B输出端加接上拉、下拉电阻,提供网络失效保护,提高RS-485节点与网络的可靠性。

一般情况下不需要增加终端电阻,只有在485通信距离超过300米的情况下,要在485通信的开始端和结束端增加终端电阻。

隔离虽然能够有效的抑制高共模电压,但总线上还会存在浪涌冲击、电源线与485线短路等潜在危害,所以一般会在总线端采取一定的保护措施。

通常在RS-485通讯接口的A,B通讯线上各串接一个热敏电阻,在热敏电阻与RS-485通讯接口之间的A,B通讯线和地之间分别设有TVS瞬变抑制二极管。

没有故障时,热敏电阻接近零,不影响正常通讯,当误接220V时,热敏电阻变的无穷大,相当于通讯回路和外面断开,当故障消失后,热敏电阻阻值降到零,又可以正常使用。

由于RS-485是半双工通信,收发转换是需要一定的时间,所以一般在收发转换之间和每发送完一帧数据之后,都要有相应的延时,如果出现收发不正常或第一帧数据之后就出现误码现象,则可以适当的增加一下延时时间。

异步通信数据以字节的方式传送,在每一个字节传送之前,先要通过一个低电平起始位实现握手。为防止干扰信号误触RO(接收器输出)产生负跳变,使接收端MCU进入接收状态,建议RO外接10kΩ的上拉电阻。

电源旁路电容,作用是给485芯片提供一个干净的电源,使它稳定的工作。

通信协议学习-485通信(2)相关推荐

  1. 通信协议学习-485通信(1)

    1.RS-485通信协议标准 通信协议是指双方实体完成通信或服务所必须遵循的规则和约定,主要实现两个设备之间的数据交换功能,通信协议分硬件层协议和软件层协议.硬件层协议决定数据如何传输,比如要设备A要 ...

  2. 嵌入式学习——串口通信小试

    嵌入式学习--串口通信小试 目录 嵌入式学习--串口通信小试 1.了解串口协议和RS-232.485标准,以及RS-232.485电平与TTL电平的区别 1.1 什么是串口协议 1.2 RS-232标 ...

  3. 485通信自动收发电路,历史上最详细的解释

    作者:瑞生,来源:科技老顽童 微信公众号:芯片之家(ID:chiphome-dy) 上边的485通信自动收发电路,实测波特率9600不会有问题,但是,波特率115200的话,曾经出现过问题. 我们先看 ...

  4. H.323通信协议学习总结

    H.323通信协议学习总结 H.323是什么 ITU(国际电联)制定的多媒体会议标准 多媒体应用包括:语音.视频.数据 基于包交换网络 H.323 目的 构建多媒体通讯系统(多媒体会议系统) H.32 ...

  5. 带你认识什么是485通信

    在现代工业控制系统中,常常需要实现分布式控制,而分布式控制需要实现不同设备之间的通信.其中,485通信协议是一种被广泛使用的通信协议之一. 1. 介绍 A. 485通信的定义 485通信协议是一种串行 ...

  6. 485通信主机轮询+从机应答

    485通信:两线制.半双工 由于MAX485 是半双工通信,所以要定义好通信协议,主从模式, 主机轮询.从机应答方式防止冲突. 一.串口配置 前面有比较详细的配置过程了. 二.主机轮询 主机解包: 三 ...

  7. 485通信原理_串口通信(232,485,422)以及常见问题

    下面先讲一讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习复习,如果哪里讲错或不到位,也可以及时指出,当作一块交流交流. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为 ...

  8. 夏季小学期STC-B,基于485通信实现双模式(单机联机)拼图游戏

    文章目录 摘要 绪论 正文 功能介绍: 设计思路 总体设计方案 设计总结与心得 项目工程文件 摘要 本课程设计旨在数码管上编写一个有完整环节的可联机游戏,在课程设计中采用了设置中断,编写回调函数的方法 ...

  9. 基于新塘51单片机的485通信

    基于新塘51单片机的485通信 序言 最近有一个项目用新塘的51FB9A单片机做时控开关(上位机控制)控制继电器,但是我原来也没整过485啊,本来以为这玩意很难.没想到才了一些坑之后还觉得挺简单的.这 ...

最新文章

  1. tidb 架构 ~Tidb学习系列(4)
  2. Pytorch的torch.cat实例
  3. anychart java实例_在.Net开发中使用AnyChart的简单例子(上)
  4. 分布式ID-数据库自增ID
  5. Activity、Task、应用和进程
  6. linux boot procedure
  7. HTML5学习总结(2)——header/nav/footer/article/section/aside
  8. 今天研究成功ASP动态管理数据表及字段
  9. uefi模式下修改Intel网卡MAC地址
  10. 利盟Lexmark CX317 打印机驱动
  11. html 大转盘游戏,HTML5 Canvas大转盘抽奖活动页面代码
  12. Hi,你有一封来自 Googlers 的邀约
  13. 关于RedisPool配置参数
  14. 不懂不要炒股,一定要在调整时买入股票!
  15. 输入n个整数,输出其中的最大值
  16. 【网络】OAuth2和JWT
  17. 【电子学会】2019年09月图形化一级 -- 猫捉老鼠
  18. 计算机组成原理基础知识试题及答案,[电脑基础知识]计算机组成原理试题库.doc...
  19. MySQL修改字段、修改表索引等操作
  20. 课得软件丨纵观全球程序员税后年收入,中国排在第几?

热门文章

  1. nvenc vs x264 对比(1)
  2. 《电子签名法》:CA名词解释
  3. TimingLaba(定时播放软件)控制文件夹内音乐播放间隔的方法
  4. 强化学习相关论文阅读笔记之稀疏奖励解决方法
  5. .Net Core 使用UDP协议实现即时通讯
  6. 一款好用的基于 Java 的中文转拼音工具
  7. cdn刷新api_CDN页面刷新接口定义[高升]
  8. 【GIT】git cz配置使用方法
  9. 【吾日三省吾身】2015.5.19-慎独、慎言、慎行、戒骄、戒躁、戒怒
  10. RTB论文梳理及精讲一