通讯协议学习之路:RS422协议理论

news2024/11/18 14:02:14

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。

后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374)

一、串口通信接口标准简介

串行数据通信接口标准主要有RS-232、RS-422与RS-485,最初都是由电子工业协会(EIA)制订并发布的。

RS-232在1970年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。

RS-422由RS-232发展而来,它是为改进RS-232通信距离短(最大传输距离15m)、速率低(最大位速率为20Kb/s)的缺点而提出的。RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺≈1200米(速率低于100Kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。

为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。因RS-485为半双工的,当用于多站互连时可节省信号线,便于高速、远距离传送。许多智能仪器设备均配有RS-485总线接口,将它们联网也十分方便。由于EIA提出的建议标准都是以“RS”(recommeded standard)推荐标准作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。

RS-232、RS-422与RS-485标准只对接口的电气特性(电压,阻抗)做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。

二、RS-422串行通信接口标准

RS422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。典型的RS-422是四线接口,全双工,差分传输,多点通信的数据传输协议。实际上还有一根信号地线,共5根线。它采用平衡传输采用单向/非可逆,有使能端或没有使能端的传输线。硬件构成上RS-422相当于两组RS-485,即两个半双工的RS-485构成一个全双工的RS-422。

由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Slave),从设备之间不能通信,所以RS-422支持点对多的双向通信。接收器输入阻抗为4k,故发端最大负载能力是10×4k+100Ω(终接电阻)。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。

RS-422的最大传输距离为1219米,最大传输速率为10Mb/s。其平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。

RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线、发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。

1 电气特性

RS-422 的电气特性与RS-485基本一样。

很多人往往都误认为RS-422串行接口是RS-485串行接口的全双工版本,实际上,它们在电器特性上存在着不少差异,共模电压范围和接收器输入电阻不同使得该两个标准适用于不同的应用领域。

RS-485串行接口的驱动器可用于RS-422串行接口的应用中,因为RS-485串行接口满足所有的RS-422串行接口性能参数,反之则不能成立。对于RS-485串行接口的驱动器,共模电压的输出范围是-7V和+12V之间;对于RS-422串行接口的驱动器,该项性能指标仅有士7V。RS-422串行接口接收器的最小输入电阻是4KΩ;而RS-485串行接口接收器的最小输入电阻则是12KΩ。

2 机械特性

RS422引脚定义

名称

作用

备注

TXA

发送正

TX+或A

RXA

接受正

RX+或Y

TXB

发送负

TX-或B

RXB

接收负

RX-或Z

RXA/Y︰接其他RS422模块的TXA/A

RXB/Z︰接其他RS422模块的TXB/B

TXB/B:接其他RS422模块的RXB/Z

TXA/A:接其他RS422模块的RXA /Y

接线原则:(发“+” 接 收“+”;发“-” 接 收“-”)

RS422全双工(点对点)接线方式

三、RS-485串行通信接口标准

RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得连接本地网络以及多支路通信链路的配置成为可能。

RS485是从RS-422基础上发展而来的,所以RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485可以采用二线与四线方式:采用四线连接时,与RS-422一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比RS-422有改进,无论四线还是二线连接方式,总线上可最多接到32个节点;而采用二线制是,RS-485采用半双工工作方式,可实现真正的多点双向通信,此时任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。

RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。

RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V至+7V之间,RS-485接收器最小输入阻抗为12kΩ、RS-422是4kΩ;由于RS-485满足所有RS-422的规范,所以RS-485的驱动器可以在RS-422网络中应用。

RS-485与RS-422一样,其最大传输距离约为1219米,最大传输速率为10Mb/s。平衡双绞线的长度与传输速率成反比,在100kb/s速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般100米长双绞线最大传输速率仅为1Mb/s。

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来,而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,原因一是共模干扰:虽然RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以,具有一定的抗共模干扰能力,但容易忽视了收发器有一定的共模电压范围。在通信控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压,而RS-485收发器共模电压范围为-7到+12V,当共模电压超过RS-485接收器的极限接收电压,即大于+12 V或小于7V时,接收器就无法正常工作了,严重时甚至会损坏芯片和仪器设备;原因二是EMI的问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。

1 电气特性

RS-485的电气特性与RS-422基本一样。

RS-485总线标准规定了总线接口的电气特性标准,发送端:正电平在+2V~+6V之间,表示逻辑状态“1”;负电平在-2V~-6V之间,则表示逻辑状态“0”;接收器:(V+) - (V-) ≥0.2V,表示信号“0”;(V+) - (V-) ≤0.2V,表示信号“1”)。

数字信号采用差分传输方式,能够有效减少噪声信号的干扰。但是RS-485总线标准对于通信网络中相关的应用层通信协议并没有做出明确的规定,则对于用户或者相关的开发者来说都可以建立对于自己的通信网络设备相关的所适用的高层通信协议标准。同时由于在工业控制领域的应用RS-485总线通信网络的现场中,经常是以分散性的工业网络控制单元的数量居多并且各个工业设备之间的分布较远为主,将会导致在现场总线通信网络中存在各种各样的干扰使得整个通信网络的通信效率可靠性不高,而在整个网络中数据传输的可靠性将会直接影响着整个现场总线通信系统的可靠性,因此研究RS-485总线通信系统的通信可靠性具有现实意义。

接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。

2 机械特性

RS485两线制引脚定义

名称

作用

备注

Data-/B

差分信号负端

485-

Data+/A

差分信号正端

485+

A︰接其他RS485模块的A

B:接其他RS422模块的B

接线原则:(A接A,B接B)

RS485半双工(点对多点)接线方式

四、总结

通信标准

RS-232

RS-422

RS-485 2线

工作方式

单端

差分

差分

节点数(最多)

1收1发

1发10收

1发32收

最大传输电缆长度

约15米(50英尺)

约1219米(4000英尺)

约1219米(4000英尺)

最大传输速率

20Kbps

10Mbps

10Mbps

最大驱动输出电压

±25V

-0.25V~+6V

-7V~+12V

驱动器输出信号电平负载(最小值)

±5V~±15V

±2.0V

±1.5V

驱动器输出信号电平空载(最大值)

±25V

±6V

±6V

驱动器负载阻抗

3KΩ~7KΩ

100Ω

54Ω

摆率(最大值)

30V/μs

不涉及(N/A)

不涉及(N/A)

接收器输入电压范围

±15V

±10V

-7V~+12V

接收器输入门限

±3V

±200mV

±200mV

接收器输入电阻

3KΩ~7KΩ

≥4KΩ

≥12KΩ

驱动器共模电压

不涉及(N/A)

±3V

-1V~+3V

接收器共模电压

不涉及(N/A)

±7V

-7V~+12V

参考文章:串口通信接口标准(四)——RS422、RS485_rs422接口定义_Steven邵的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1109918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

京东店铺公司名爬虫

内容仅供学习参考,如有侵权联系删除 先通过京东非自营的店铺名拿到的公司名,再通过公司名称去其他平台拿到联系方式(代码省略) from aioscrapy.spiders import Spider from aioscrapy.http import Request, FormRequest import dd…

【LeetCode75】第七十四题 每日温度

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个数组,表示每天的温度,要我们返回一个同样长度的数组,答案里装着当前气温的下一个更高气…

Linux用户管理与远程管理

一、用户管理 1、回顾用户组管理 groupadd :组添加 groupmod:组修改 groupdel:组删除 与用户组相关的文件/etc/group,一共拥有4列 itheima:x:1000: 1-组名称 2-组密码 3-组编号 4-组内用户信息(这个组必须是这个…

阿里云优惠口令(2023更新)

2023年阿里云域名优惠口令,com域名续费优惠口令“com批量注册更享优惠”,cn域名续费优惠口令“cn注册多个价格更优”,cn域名注册优惠口令“互联网上的中国标识”,阿里云优惠口令是域名专属的优惠码,可用于域名注册、续…

微信公众号粉丝迁移步骤?

公众号迁移有什么作用?只能变更主体吗?公众号迁移是将原公众号的粉丝、违规记录、文章和素材库(可选)迁移至一个新的公众号。整体流程较为复杂,需花费7-10天。通过公众号迁移功能可以将A账号的粉丝、文章素材&#xff…

ROS工具RViz可视化3D空间的一些错误的解决方案

1、引言 RViz是ROS的一个可视化3D空间的工具,它用于帮助用户在ROS系统中导航、查看和交互。RViz可以显示来自各种ROS节点的信息,例如传感器数据、机器人的状态和路径等。通过RViz,用户可以以图形方式查看和交互各种ROS数据,非常直…

连锁药店的自有品牌之争:老百姓大药房能否突围?

文丨新熔财经 作者丨楷楷 近年来,随着医保谈判药品的“双通道”(即消费者可在有资质的药店买到新进医保的创新药),以及“门诊统筹”将药店纳入医保报销等医改政策出台,药企开始重新重视起零售药店渠道,很…

C++对象模型(18)-- 函数语义学:函数调用过程

1、栈帧结构 函数执行是通过系统栈来实现的,系统栈分为若干个栈帧。 栈帧就是函数运行的环境,每个函数在被调用时都会在系统栈区形成一个叫栈帧的结构。一次函数调用相关的数据保存在栈帧中,比如函数参数、函数的局部变量、函数执行完后的返…

Leetcode 21 合并两个有序链表 (链表)

Leetcode 21 合并两个有序链表 (链表) 解法1 复杂的第一版本(优化大于和等于合并见方法二)解法2 注意注意:先添加元素toadd.next list1,添加之后才可以移动指针toadd toadd.next 解法1 复杂的第一版本&a…

数字电路常用芯片合集

前言 本文归纳了本科数字电路中常见的芯片型号及其功能,分为以下几类: 组合逻辑电路芯片 时序逻辑电路芯片 D/A A/D相关芯片 组合逻辑电路芯片 优先编码器74HC148 功能:多→1,选通 逻辑框图 功能表 补充:可以…

react native 使用夜神模拟器开发调试 windows+android

执行adb devices, 提示List of devices attached 打开本地sdk目录中的platform-tools文件夹,复制下面3个文件 打开夜神模拟器安装目录中的bin目录,把复制出来的文件复制替换到bin目录中 在复制一份platform-tools目录中的adb.exe,重命名为…

java最新Springboot3+微服务实战12306高性能售票系统全套开发课程

java最新Springboot3微服务实战12306高性能售票系统全套开发课程 视频课程在文末获取 第1章 课程介绍与学习指南。 1-1 课前必读(不读错过一个亿) 1-2 课程导学 1-3 为什么要选择最新版本SpringBoot3和JDK17? 1-4 在线demo网站演示 第2…

现货黄金的走势怎么看

成功的现货黄金交易者,都有自己一套的看行情的方法,以及自己最熟悉的交易获利机会,这使他们获利的胜率能够保持在一定的水平之上,长远来说,这也使他们成为市场上的赢家。 现货黄金的价格走势总在不断的变化之中&#x…

GEE:绘制土地利用类型面积分布柱状图

作者:CSDN @ _养乐多_ 本文记录了,在 Google Earth Engine (GEE)中进行随机森林分类后绘制不同类型面积分布柱状图的代码片段。 完整代码请看博客《GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)》 柱状图效果如下所示, 文章目…

Pulsar-Pulsar 之 Functions

Pulsar 之 Functions Pulsar FunctionsPulsar Functions是什么?为什么使用Pulsar Functions?实例 完全限定函数名函数实例函数workerFunctions 运行时处理保证和订阅类型上下文函数消息类型Window functionwindow的类型快速开始启用有状态的函数使用Puls…

通讯协议学习之路:RS485协议理论

通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN;视频会发布在bilibili(UID:399951374) 序&…

接口测试vs功能测试

接口测试和功能测试的区别: 本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什…

“一键替换视频封面,高效批量剪辑从未如此简单

在一个充满竞争和创意的世界,吸引人的视频封面往往能够决定内容的成败。今天,我将向大家介绍一种可以轻松替换视频封面图片的实用技巧,让你在创作中更胜一筹! 首先,我们要进入媒体梦工厂主页面,并点击“视…

Go语言入门心法(十一): 文件处理

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 Go语言入门心法(六): HTTP面向客户端|服务端编程 Go语言入门心法(八): mysql驱动安装报错onnection failed Go语言入门心法(…

Java中的代码重构:技巧、优秀实践与方法

什么是 Java 代码重构? Java 代码重构是一种在不影响代码外部行为的前提下进行的代码优化,它通过渐进和小规模的优化来改善现有代码的结构和质量。重构的目标是提高代码的可读性、性能、可维护性和效率等。 Martin Fowler 是这个领域的权威的大牛和非常…