RS-485总线扫盲贴!轻轻松松简简单单带你玩转RS-485
cac55 2024-10-03 17:41 102 浏览 0 评论
RS-485概述
RS-485和RS-232一样,都是串行通信标准,现在的标准名称是TIA485/EIA-485-A,但是人们会习惯称为RS-485标准,RS-485常用在工业、自动化、汽车和建筑物管理等领域。
RS-485总线弥补了RS-232通信距离短,速率低的缺点,RS-485的速率可高达10Mbit/s,理论通讯距离可达1200米;RS-485和RS-232的单端传输不一样,是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B。
RS-485物理层
RS-485的物理层负责在设备和物理传输介质之间传输原始数据。它处理电信号到数字数据的转换,同时定义电压、时序、数据速率等。
① 差分信号
长距离布线会有信号衰减,而且引入噪声和干扰的可能性更大,在线缆A和B上的表现就是电压幅度的变化,但是,采用差分线的好处就是,差值相减就会忽略掉干扰依旧能输出正常的信号,把这种差分接收器忽略两条信号线上相同电压的能力称为共模抑制。
标准规定了,逻辑1:+2V to +6V;逻辑0:-6V to -2V。
RS-485不需要使用特定的总线电压,只看最小差分电压,在较长的电缆长度上,接收器接收到的电压可能会降低到+/- 200 mV,这对于RS-485仍然是完全可以接受的,这也是RS-485的优点之一。
很多收发器的标准达到甚至超过TIA/EIA-485A规范,在实际使用中,以器件的SPEC参数为主,如下某收发器的负输入阈值最小也是-200mV。
② 信号定义
现在很多的RS-485转换器都是兼容RS-422的,所以看到很多转换器上面的信号都是T/R+、T/R-,即对应RS-485的A+和B-。
对于DB9针型的母头,RS-485有如下的接线定义示意,Pin6~Pin9为N/A不接。
DB9 | 输出信号 | RS-422全双工接线 | RS-485半双工接线 |
1 | T/R+ | 发(A+) | RS-485(A+) |
2 | T/R- | 发(B-) | RS-485(B-) |
3 | RXD+ | 收(A+) | 空 |
4 | RXD- | 收(B-) | 空 |
5 | GND | 地线 | 地线 |
③ 拓扑结构
RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线拓扑结构,在同一总线上最多可以挂接32个节点。
RS-485总线同I2C,也是主从模式,支持点对点单从机模式,也支持多从机模式,不支持多主机模式。
RS-485是差分传输,如果用单片机控制RS-485接口的设备,需要用到收发器,这一点和CAN总线是类似的,如下是一个MCU控制一个RS-485的图示。
收发器内部是一个接收器(上半部分)加一个发送器(下半部分),下面简单说说收发器的原理,便于理解MCU是如何和485设备通信的。
其中:
- A和B为总线;
- R为接收器输入;
- RE为接收器使能信号;
- DE为发送器使能信号;
- D为发送器输出;
对于使能信号,字母上面加一横的为低电平有效(如上图RE),不加的为高电平有效(如DE)。
对于发送器,有如下的真值表:
- 当驱动器使能引脚DE为逻辑高时,差分输出A和B遵循数据输入D处的逻辑状态。D处的逻辑高导致A转为高,B转为低。在这种情况下,定义为VOD=VA-VB的差分输出电压为正。当D为低时,输出状态反转,B变高,A变低,VOD为负。
- 当DE低时,两个输出都变成高阻抗。在这种情况下,与D处的逻辑状态是不相关的。
对于接收器,有如下的真值表:
- 当接收器使能引脚RE逻辑低时,接收器被激活。当定义为VID=VA–VB的差分输入电压为正且高于正输入阈值VIT+时,接收机输出R变高。当VID为负且低于负输入阈值VIT-,接收机输出R变低。如果VID在VIT+和VIT-之间,则输出不确定。
- 当RE为逻辑高或悬空时,接收机输出为高阻抗,VID的大小和极性无关。
RS-485数据链路
上面讲到的RS-485收发器的工作原理,下面简单描述RS-485的数据链路。
主机发送给从机或者从机发送给主机,都会占用到A和B线,所以RS-485多用在半双工模式。
主机的GPIO会控制RS-485收发器的DE管脚,设置发送模式,从UART TXD线向RS-485收发器的数据(D或DI)线发送一个字节,收发器将在A和B线上将单端UART位流转换为差分位流,数据离开收发器后,主机立即将收发器的模式切换为接收模式。
从机和主机是类似的,从机控制RS-485收发器的/RE管脚,设置为接收模式,接收主机发送的比特流,将其转换为单端信号,通过从机的UART RXD线接收,当从机准备好响应时,它按主机原来的方式进行发送,而主机变为接收。
RS-232和RS-485转换
RS-232和RS-485之间可以转换,一个方法是RS-232转换成TTL,再由TTL转换为RS-485,当然也有芯片支持将RS-232直接转换成RS-485,网上有很多模块。
RS-485和CAN的区别
虽说RS-485没有标准的数据协议格式,但和CAN总线在很多地方是有相似的,比如A&B和CANH&CANL都是差分信号,通信都需要收发器,都需要120欧姆的匹配电阻等等。
总线特性 | CAN总线 | RS-485总线 |
硬件成本 | 稍高 | 低廉 |
总线利用率 | 优先级自动仲裁,利用率高 | 采用轮询,利用率低 |
数据传输率 | 高 | 低 |
错误检测机制 | 控制器带校验机制,保证底层数据传输正确 | 只有物理层规范,无数据链路层规定 |
单节点故障影响 | 总线无影响 | 总线瘫痪 |
开发成本 | 软件开发灵活,时间成本低 | 开发难度较大 |
系统成本 | 较低 | 高 |
RS-485常用电路
网上找的一个常用的RS-485电路,其中需要注意两点:
1)使能信号RE和DE可采用一个GPIO控制,节省资源,GPIO25输出高电平,RE=DE=0V,进入接收模式;GPIO25输出低电平,RE=DE=3.3V,进入发送模式。
2)有一些电路中会在A上加上拉,B上加下拉电阻,主要原因是:RS-485总线在idle状态,电平是不固定的,即电平在-200mV~+200mV之间,收发器可能输出高也可能输出低,UART在空闲时需要保持高电平的,如果此时收发器输出一个低电平,对UART来说是一个start bit,会导致通信异常,关于Ru和Rd的阻值在这里不作过多赘述,后面有机会会详细写一篇文章。
关于第二点,需要注意:
- A上加上拉,B上加下拉,接反数据通信也可能出错。
- 某些收发器内部集成上下拉电阻,则外部不需要再添加。
相关推荐
- Linux :远程访问的 16 个最佳工具(一)
-
通过远程桌面协议(RDP)可以访问远程Linux桌面计算机,这是Microsoft开发的专有协议。它为用户提供了一个图形界面,可以通过网络连接连接到另一台/远程计算机。FreeRDP是...
- Guacamole安装部署_guacamole简单搭建
-
Guacamole安装部署Guacamole简介Guacamole是提供连接远程桌面的解决方案的开源项目(也可以说是一个远程桌面网关),通过浏览器就能远程操作服务器,适用于Chrome、Firefox...
- 1-FreeRTOS入门指南_freertos+lwip
-
本专栏是根据官方提供的文档进行FreeRTOS的各个功能函数的说明,以及函数的使用本专栏不涉及动手操作,只是对原理进行说明,FreeRTOS基础知识篇更新完成会对如何在开发板上进行上手实战操作。这里不...
- Windows暂停远程桌面,这些工具可替代
-
Windows暂停远程桌面,这些工具可替代近日,Windows官方宣布将于2025年5月27日起,在Windows10和Windows11应用商店中下架“Microsoft远程桌面”应用。这一消...
- 现在做 Web 全景合适吗?_前端全景
-
作者:前端藏经阁转发链接:https://www.yuque.com/xwifrr/uxqg5v/cgclx0前言Web全景在以前带宽有限的条件下常常用来作为街景和360°全景图片可查看。它可以...
- 网页直连,MSTSC远程控制Windows新姿势!
-
不用安装软件,打开浏览器就能远程办公?今天要聊的是一种颠覆传统的远程控制玩法,直接用网页连接Windows电脑,无需下载客户端,手机、平板、Mac甚至Linux都能轻松操作。这可不是吹牛,结合MSTS...
- QQ出现大面积盗号,原因已查明,请抓紧改密码
-
你没有看错,QQ又上了微博热搜,这次比较严重了,QQ出现大面积盗号,多个QQ群出现yellow信息,其次导致多位成员被踢出,并且还被封号处理,到底怎么回事?请继续往下看。在6月26日晚上10点左...
- 我在淘宝花10块钱,买到了能玩“宝可梦”的Q群机器人
-
十一月雨|文我是个没事喜欢逛淘宝的人,虽然是个不怎么好的习惯,但总是能够发现一些奇奇怪怪的东西,这次我发现的是一种Q群机器人。Q群机器人,大多是基于腾讯SmartQQ协议实现的一种能自动回复、自定...
- Metasploit最实用的攻击模块"Meterpreter"
-
Meterpreter命令详解Meterpreter是Metasploit渗透测试平台框架中功能最强大的攻击载荷模块,在最新的Metasploitv4.5.0版本中,攻击载荷模块已经达到了25...
- 手机QQ再更新,上线了一个想让人“无法回避”的新功能
-
近日,手机QQ更新了V8.2.6.700版本,苹果iOS版和安卓版手机QQ上线了一个新功能:可以实时显示对方的手机电量以及充电状态。开通电量显示也很简单,长按主页左上方的头像,在在线状态中选择我的电量...
- 「网络安全」常见攻击篇(20)——点击劫持
-
什么是点击劫持?点击劫持(Clickjacking)技术又称为界面伪装攻击(UIredressattack),是一种视觉上的欺骗手段。通常有两种方式:攻击者使用一个透明的iframe,覆盖...
- 曾利用驱动人生升级通道传播的木马下载器攻击方法再次升级
-
一、概述御见威胁情报中心1月25日再次监测到曾利用驱动人生升级通道传播的木马下载器攻击方法再升级。本次升级主要变化在于攻击模块,木马在之前的版本上,新增计划任务“DnsScan”,在其中将永恒之蓝攻击...
- QQ飞车手游:点券首个功能性宠物上架,实战稳定触发还不快入手?
-
随着版本的逐渐更新,点券宠物在道具模式发挥逐渐越来越小,曾经探讨点券宠物在道具是不是真的没有用?直到出现了波斯猫改变了,我对点券宠物在道具模式的看法,如今又一个强势点券宠物来袭,而且特性触发简单,还是...
- 工单系统设计实战(上):核心配置与效能提升
-
流程的标准化并非终点,而是研发效能持续革命的基石。当工单系统真正成为研发团队的“神经中枢”,每一次需求的精准流转、每一行代码的受控提交、每一次版本的可靠发布,都将汇聚成驱动产品持续进化的强大动力...
- 6个编辑PDF文档内容的工具(软件+网站)
-
在日常办公、学习和生活中,PDF文件因其格式稳定、跨平台兼容性强等特点,被广泛应用。但有时我们拿到PDF文件后,却发现需要修改其中的内容,总感觉有点难搞。其实PDF文档编辑修改也很简单,这里分享6个软...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)