通讯协议学习之路:RS422协议理论
通讯协议之路主要分为两部分,第一部分从理论上面讲解各类协议的通讯原理以及通讯格式,第二部分从具体运用上讲解各类通讯协议的具体应用方法。
后续文章会同时发表在个人博客(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博客
相关文章:

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

剪映failed to initialize,cuda.is_available()为false解决
debug记录帖 错误1:打开剪映发现弹窗提示failed to initialize graphics backed for D3D11 错误2:torch版本、cuda版本(之前的正常环境)都对但是torch.cuda.is_available()为false 怀疑是显卡驱动的问题 打开Nvidia Geforce Exp…...

基于Spring Boot的LDAP开发全教程
写在前面 协议概述 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一种用于访问和维护分布式目录服务的开放标准协议,是一种基于TCP/IP协议的客户端-服务器协议,用于访问和管理分布式目录服务,如企业内部的…...

在 Linux 上保护 SSH 服务器连接的 8 种方法
SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。 具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其是如果使用的是公共 IP 地…...

摩尔信使MThings的协议转换(数据网关)功能
摩尔信使MThings可以作为现场总线(RS485)和以太网的数据中枢,并拥有强大的Modbus协议转换功能。 数据网关功能提供协议转换和数据汇聚功能,可实现多维度映射,包括:不同的通道(总线)类型、协议类型ÿ…...

Mac安装Kali保姆级教程
Mac安装Kali保姆级教程 其他安装教程:使用VMware安装系统Window、Linux(kali)、Mac操作系统 1 虚拟机安装VM Fusion 去官网下载VM Fusion 地址:https://customerconnect.vmware.com/en/evalcenter?pfusion-player-personal-13 …...

利用Spring Boot框架做事件发布和监听
一、编写事件 1.编写事件类并集成spring boot 事件接口,提供访问事件参数属性 public class PeriodicityRuleChangeEvent extends ApplicationEvent {private final JwpDeployWorkOrderRuleDTO jwpDeployWorkOrderRuleDTO;public PeriodicityRuleChangeEvent(Obje…...

KingBase库模式表空间和客户端认证(kylin)
库、模式、表空间 数据库 数据库基集簇与数据库实例 KES集簇是由单个KES实例管理的数据库的集合KES集簇中的库使用相同的全局配置文件和监听端口、共享相关的进程和内存结构同一数据库集簇中的进程、相关的内存结构统称为实例 数据库 数据库是一个长期存储在计算机内的、有…...

h5的扫一扫功能 (非微信浏览器环境下)
必须在 https 域名下才生效 <template><div><van-field label"服务商编码" right-icon"scan" placeholder"扫描二维码获取" click-right-icon"getCameras" /> <div class"scan" :style"{disp…...

Typora 导出PDF 报错 failed to export as pdf. undefined 解决方案
情况 我想把一个很大的markdown 导出为 248页的pdf 然后就报错 failed to export as pdf. undefined 原因 : 个人感觉应该是图片太大了 格式问题之类导致的 解决 文件 -> 偏好设置 - > 导出 -> pdf -> 自定义 -> 把大小全部改为24mm (虽然图中是32 …...

[架构之路-239]:目标系统 - 纵向分层 - 中间件middleware
目录 前言: 一、中间件概述 1.1 中间件在软件层次中的位置 1.2 什么是中间件 1.3 为什么需要中间件 1.4 中间件应用场合(应用程序不用的底层需求:计算、存储、通信) 1.5 中间件分类 - 按内容分 二、嵌入式系统的中间件 2…...

javascript利用xhr对象实现http流的comet轮循,主要是利用readyState等于3的特点
//此文件 为前端获取http流 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml" lang"UTF-8"></html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"/&g…...

【Mybatis源码】XPathParser解析器
XPathParser是Mybatis中定义的进行解析XML文件的类,此类用于读取XML文件中的节点文本与属性;本篇我们主要介绍XPathParser解析XML的原理。 一、XPathParser构造方法 这里我们介绍主要的构造方法 public XPathParser(InputStream inputStream, boolean validation, Propert…...

辉视智慧酒店解决方案助力传统酒店通过智能升级焕发新生
辉视智慧酒店解决方案基于强大的物联网平台,将酒店客控、网络覆盖、客房智能化控制、酒店服务交互等完美融合,打造出全方位的酒店智慧化产品。利用最新的信息化技术,我们推动酒店智慧化转型,综合运用前沿的信息科学和技术、消费方…...

文件和命令的查找与处理
1.命令查找 which which 接命令 2.文件查找 find 按文件名字查找 准确查找 find / -name "hosts" 粗略查找 find / -name "ho*ts" 扩展名查找 find / -name "*.txt" 按文件类型查找 find / -type f 文件查找 find / -ty…...

第七章:最新版零基础学习 PYTHON 教程—Python 列表(第三节 -Python程序访问列表中的索引和值)
有多种方法可以访问列表的元素,但有时我们可能需要访问元素及其所在的索引。让我们看看访问列表中的索引和值的所有不同方法。 目录 使用Naive 方法访问列表中的索引和值 使用列表理解访问列表中的索引和值...

接口测试面试题整理
HTTP, HTTPS协议 什么是DNSHTTP协议怎么抓取HTTPS协议说出请求接口中常见的返回状态码http协议请求方式HTTP和HTTPS协议区别HTTP和HTTPS实现机有什么不同POST和GET的区别HTTP请求报文与响应报文格式什么是Http协议无状态协议?怎么解决HTTP协议无状态协议常见的POST提交数据方…...

【保姆级教程】ChatGPT/GPT4科研技术应用与AI绘图
查看原文>>>https://mp.weixin.qq.com/s?__bizMzAxNzcxMzc5MQ&mid2247663763&idx1&snbaeb113ffe0e9ebf2b81602b7ccfa0c6&chksm9bed5f83ac9ad6955d78e4a696949ca02e1e531186464847ea9c25a95ba322f817c1fc7d4e86&token1656039588&langzh_CN#rd…...

凉鞋的 Godot 笔记 202. 变量概述与简介
202. 变量概述与简介 想要用好变量不是一件简单的事情,因为变量需要命名。 我们可以从两个角度去看待一个变量,第一个角度是变量的功能,第二个是变量的可读性。 变量的功能其实非常简单,变量可以存储一个值,这个值是…...

HTML 常用标签及练习
常用标签 <head>中的标签 概述 head中的内容不显示到页面上 标签说明<title>定义网页的标题<meta>定义网页的基本信息(供搜索引擎)<style>定义CSS样式<link>链接外部CSS文件或脚本文件<script>定义脚本语言<…...

Python 编程基础 | 第六章-包与模块管理 | 1、包与模块简介
一、模块 在程序开发过程中,文件代码越来越长,维护越来越不容易。可以把很多不同的功能编写成函数,放到不同的文件里,方便管理和调用。在Python中,一个.py文件就称之为一个模块(Module)。 1、简…...

为中小企业的网络推广策略解析:扩大品牌知名度和曝光度
目前网络推广已经成为企业获取潜在客户和提升品牌知名度的重要手段。对于中小企业而言,网络推广是一个具有巨大潜力和可行性的营销策略。在本文中,我们将探讨中小企业为什么有必要进行网络推广,并分享一些实用的网络推广策略。 一、扩大品牌知…...

资源受限MCU Flash空间占用优化
资源受限MCU Flash空间占用优化步骤: 避免重复功能,排查软件工程中,重复功能的代码片段,抽象出来,重新进行封装;减少内联函数inline,内联函数过大且过多的调用无疑会增加代码量,占用…...

冰蝎默认加密的流量解密
破解冰蝎的默认加密 流量包分析 上传的冰蝎流量包 POST /web-zh/DVWA/vulnerabilities/upload/ HTTP/1.1 Host: 192.168.197.111 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0 Accept: text/html,application/xhtmlxml,a…...

C#字符串操作:拼接、截取、分割等高效处理方法
目录 1.前言2. 字符串拼接 (String Concatenation)3. 字符串截取 (String Substring)4. 字符串分割 (String Split)5. 字符串替换 (String Replace)6. 字符串大小写转换 (String Case Conversion)7. 结论 1.前言 在C#编程中,字符串操作是不可避免的一部分。无论是拼…...

垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛
文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…...

每日一题 1726. 同积元组(中等,计数)
直接统计数组中的数字两两组合可以得到的乘积求将相同乘积的组合再两两组合的数量最后由于abcd的值可以互换,每一个组合通过呼唤位置可以得到8种不同的组合,所以最后乘以8 class Solution:def tupleSameProduct(self, nums: List[int]) -> int:d de…...

LeetCode 2894. 分类求和并作差【数学,容斥原理】1140
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

100天掌握网络安全知识点!
1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…...

【ArcGIS绘图系列1】在ArcGIS中制作柱状图与饼状图
成图展示 图形出处:J2023-Assessment of agricultural drought based on multi-source remote sensing data in a major grain producing area of Northwest China 实现步骤 第一步 查看数据信息 数据输入到ArcGIS中:包含数据表和shp文件 1、shp文件…...