通信协议学习-485通信(2)
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)相关推荐
- 通信协议学习-485通信(1)
1.RS-485通信协议标准 通信协议是指双方实体完成通信或服务所必须遵循的规则和约定,主要实现两个设备之间的数据交换功能,通信协议分硬件层协议和软件层协议.硬件层协议决定数据如何传输,比如要设备A要 ...
- 嵌入式学习——串口通信小试
嵌入式学习--串口通信小试 目录 嵌入式学习--串口通信小试 1.了解串口协议和RS-232.485标准,以及RS-232.485电平与TTL电平的区别 1.1 什么是串口协议 1.2 RS-232标 ...
- 485通信自动收发电路,历史上最详细的解释
作者:瑞生,来源:科技老顽童 微信公众号:芯片之家(ID:chiphome-dy) 上边的485通信自动收发电路,实测波特率9600不会有问题,但是,波特率115200的话,曾经出现过问题. 我们先看 ...
- H.323通信协议学习总结
H.323通信协议学习总结 H.323是什么 ITU(国际电联)制定的多媒体会议标准 多媒体应用包括:语音.视频.数据 基于包交换网络 H.323 目的 构建多媒体通讯系统(多媒体会议系统) H.32 ...
- 带你认识什么是485通信
在现代工业控制系统中,常常需要实现分布式控制,而分布式控制需要实现不同设备之间的通信.其中,485通信协议是一种被广泛使用的通信协议之一. 1. 介绍 A. 485通信的定义 485通信协议是一种串行 ...
- 485通信主机轮询+从机应答
485通信:两线制.半双工 由于MAX485 是半双工通信,所以要定义好通信协议,主从模式, 主机轮询.从机应答方式防止冲突. 一.串口配置 前面有比较详细的配置过程了. 二.主机轮询 主机解包: 三 ...
- 485通信原理_串口通信(232,485,422)以及常见问题
下面先讲一讲串口通信的一些基本概念,术语.如果对串口通信比较熟悉的,就当复习复习,如果哪里讲错或不到位,也可以及时指出,当作一块交流交流. 这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲.因为 ...
- 夏季小学期STC-B,基于485通信实现双模式(单机联机)拼图游戏
文章目录 摘要 绪论 正文 功能介绍: 设计思路 总体设计方案 设计总结与心得 项目工程文件 摘要 本课程设计旨在数码管上编写一个有完整环节的可联机游戏,在课程设计中采用了设置中断,编写回调函数的方法 ...
- 基于新塘51单片机的485通信
基于新塘51单片机的485通信 序言 最近有一个项目用新塘的51FB9A单片机做时控开关(上位机控制)控制继电器,但是我原来也没整过485啊,本来以为这玩意很难.没想到才了一些坑之后还觉得挺简单的.这 ...
最新文章
- tidb 架构 ~Tidb学习系列(4)
- Pytorch的torch.cat实例
- anychart java实例_在.Net开发中使用AnyChart的简单例子(上)
- 分布式ID-数据库自增ID
- Activity、Task、应用和进程
- linux boot procedure
- HTML5学习总结(2)——header/nav/footer/article/section/aside
- 今天研究成功ASP动态管理数据表及字段
- uefi模式下修改Intel网卡MAC地址
- 利盟Lexmark CX317 打印机驱动
- html 大转盘游戏,HTML5 Canvas大转盘抽奖活动页面代码
- Hi,你有一封来自 Googlers 的邀约
- 关于RedisPool配置参数
- 不懂不要炒股,一定要在调整时买入股票!
- 输入n个整数,输出其中的最大值
- 【网络】OAuth2和JWT
- 【电子学会】2019年09月图形化一级 -- 猫捉老鼠
- 计算机组成原理基础知识试题及答案,[电脑基础知识]计算机组成原理试题库.doc...
- MySQL修改字段、修改表索引等操作
- 课得软件丨纵观全球程序员税后年收入,中国排在第几?