通信协议 —— RS485 讲解得好

目 录

  • RS-485 通信协议
  • 一、重要性
  • 二、通信实现
  • 三、其它通信方式
    • 3.1 串口通信
    • 3.2 RS232标准
  • 四、总结


RS-485 通信协议

RS-485是一种通用的通信标准, RS是Recommended Standard的意思,是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准。

它描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义,被广泛用于数据采集和控制应用中,比如工业自动化、智能建筑、安防监控、电力系统等领域,为各种设备之间的通信提供了可靠的解决方案,推动了智能化和自动化技术的发展。

它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。RS-485 通信可比喻成一个信息高速公路系统。驱动器(driver)和接收器(receiver)芯片就像是高速公路的入口和出口,负责车辆(数据)的进出。而通信线路则如同高速公路本身,连接着不同的地点(设备)。

一、重要性

相比其它通信协议,更能体现它的重要性。

抗干扰能力强 —— 采用差分传输,增加噪声抗扰度,减少噪声辐射。即使有外部干扰,也会同时反应到两条线上,不影响最终的差值。

在这里插入图片描述

  • 在复杂的工业环境中,存在着各种电磁干扰。RS-485 采用差分信号传输方式,能够有效抑制共模干扰,确保数据的稳定传输,这对于保证工业控制系统的可靠性至关重要。

例如,在工厂车间里,各种电机、变频器等设备产生的电磁干扰会对通信造成严重影响。RS-485 通信协议可以在这种恶劣的环境下,依然保持稳定的通信性能。

通信距离远 —— 长距离链路,最长可达4000英尺(约1219米)

  • RS-485 可以实现较长距离的通信,一般可达千米以上。这使得它在需要远距离数据传输的场合具有很大的优势。
    在这里插入图片描述

例如,在大型工厂、矿山等场所,设备分布较为分散,需要进行远距离的数据传输和监控。RS-485 通信协议能够满足这种需求,将各个设备连接起来,实现集中控制和管理。

支持多点通信 —— 同一总线可以连接多个驱动器和接收器

在这里插入图片描述

  • RS-485 可以连接多个设备,形成一个多点通信网络。这对于需要多个设备协同工作的系统来说非常方便。

例如,在智能建筑系统中,需要将多个传感器、控制器等设备连接在一起,实现对建筑物的智能化管理。RS-485 通信协议可以轻松实现这种多点通信,提高系统的集成度和效率。

通信速率高 —— 数据速率高达10Mbps,不过随着传输距离增加,传输速率也逐渐降低

在这里插入图片描述
在这里插入图片描述

适应性强 —— 宽共模范围允许驱动器和接收器之间存在地电位差异,允许最大共模电压-7到+12V

  • 即使不同设备之间的地电位有一定的偏差,在存在较强电磁干扰的场合,可能会产生较大的共模电压,RS-485 通信仍然可以正常进行,其驱动器和接收器之间可以承受的最大共模电压差 是-7V 到 +12V。

在实际的通信系统中,由于不同设备可能连接到不同的电源系统或者处于不同的地理位置,它们之间的地电位往往存在差异。如果通信协议不能很好地处理这种地电位差异,就会导致通信故障。

例如,在一个大型工厂中,不同的设备可能连接到不同的配电柜,而这些配电柜的地电位可能不完全相同。如果采用不具备宽共模范围的通信协议,地电位差异可能会导致信号失真、误码率增加甚至通信中断。而 RS-485 通信协议则可以在这种情况下保持稳定的通信。

二、通信实现

  • 硬件连接
    RS-485通讯其实是在串口通信的基础上加上一个485转换芯片。将两个RS-485芯片的A线和A线相连,B线和B线相连就可以通讯了。
    在这里插入图片描述

  • 半双工通讯
    发送和接收不能同时进行。数据的发送和接收由管脚控制。
    在这里插入图片描述

  • 数据传输格式
    在通信总线上,通信的数据报文信息包含起始位、数据位、校验位、停止位等。

  • 波特率
    常见的有9600、19200、38400、115200。表示1秒钟能传输多少bit。两台设备要想进行串口通信,收发端的波特率必须一致,否则不能正常接收。

  • 电平转换
    大部分单片机只能输出TTL电平,485芯片可以把TTL信号转化为差分信号,也可以把差分信号转化为TTL信号。通信时只需要两根线,不需要地线。
    在这里插入图片描述
    RS-485通信的逻辑电平是通过A线和B线之间的电压差来定义的。
    在这里插入图片描述

  • 逻辑1(正逻辑电平):当A线的电压高于B线的电压,且A、B之间的电压差在+2V至+6V范围内时,定义为逻辑1状态。例如,A线电压为+8V,B线电压为+5V,A-B = +3V,属于逻辑1。
    在这里插入图片描述

  • 逻辑0(负逻辑电平):当B线的电压高于A线的电压,且A、B之间的电压差在-6V至-2V范围内时,定义为逻辑0状态。比如,B线电压为+8V,A线电压为+5V,A-B = -3V,属于逻辑0。
    在这里插入图片描述

对于接收端而言,当接收端A、B之间的电压差大于+200mV时,输出正逻辑电平;当电压差小于-200mV时,输出负逻辑电平。

三、其它通信方式

MCU系统之间常见的通讯方式还有:RS232、RS422、Bluetooth、wifi等,但大多数的通信接口都可以通过串口来扩展。因此,对于单片机系统而言,只要掌握串口,就能够掌握大多数的通信方式了。

3.1 串口通信

在串口通信中,数据以位(bit)为单位逐位依次传输,物理连接上的线路至少包括发送线、接收线和地线这三根线。

  • 物理连接
    在这里插入图片描述
  • 帧格式
    在这里插入图片描述
    数据位也可以是7位或5位。
  • 逻辑电平

串口通信采用的是TTL逻辑(Transistor-transistor logic,晶体管-晶体管 逻辑),其电平范围一般高电平为5V,低电平为0V

在这里插入图片描述

  • 抗干扰能力
    抗干扰能力弱。比如突然来个静电,就会把低电平变高。
    在这里插入图片描述

  • 传输距离近,1米左右。主要用于芯片间的通讯或芯片和电脑的近距离通讯。

3.2 RS232标准

在这里插入图片描述
RS232通信其实只是在原来串口通信的基础上加一个电平转换芯片。

在这里插入图片描述

高电平3到15V,低电平 -15到-3V。

在这里插入图片描述
可以看出RS232只是改变了电平大小,增强了抗干扰能力,传输距离变更远了,但还是全双工通讯,传输的还是原来串口的那些0和1的数据。
在这里插入图片描述

四、总结

不论是TTL、RS-232还是RS-485,都是改变物理电平标准,对于程序来说,都是操作串口,所以只要学会了串口通讯,就可以轻松变为RS-232或RS-485了。
在这里插入图片描述

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

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

相关文章

【操作系统】深入探索:操作系统内核与用户进程的数据交互艺术

目录 一、数据从内核缓冲区拷贝到用户进程缓冲区,是谁来负责拷贝的,是操作系统还是用户进程?实际的执行者到底是谁?二、系统调用以及用户态内核态的相互转换1、系统调用2、用户态内核态的相互转换 三、如何形象的理解linux的虚拟地…

【华为】基于华为交换机的VLAN配置与不同VLAN间通信实现

划分VLAN(虚拟局域网)主要作用: 一、提高网络安全性 广播域隔离访问控制增强 二、优化网络性能 减少网络拥塞提高网络可管理性 sysytem-view #进入系统视图配置参数 vlan batch 10 20 #批量创建vlan LSW3: int g0/0/1 port…

RTSP 音视频play同步分析

基础理论 RTSP RTP RTCP SDP基础知识-CSDN博客 关于RTP的时间戳知识点回顾 时间戳单位:时间戳计算的单位不是秒,而是采用采样频率的倒数,这样做的目的是为了使时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可…

Vue使用@别名替换后端ip地址

1. 安装 types/node types/node 包允许您在TypeScript项目中使用Node.js的核心模块和API,并提供了对它们的类型检查和智能提示的支持。 npm install types/node --save-dev 比如安装之后,就可以导入nodejs的 path模块,在下面代码 import path…

TextView把其它控件挤出屏幕的处理办法

1.如果TextView后面的控件是紧挨着TextView的&#xff0c;可以给TextView添加maxWidth限制其最大长度 上有问题的布局代码 <?xml version"1.0" encoding"utf-8"?> <layout xmlns:android"http://schemas.android.com/apk/res/android&qu…

Github优质项目推荐 - 第六期

文章目录 Github优质项目推荐 - 第六期一、【WiFiAnalyzer】&#xff0c;3.4k stars - WiFi 网络分析工具二、【penpot】&#xff0c;33k stars - UI 设计与原型制作平台三、【Inpaint-Anything】&#xff0c;6.4k stars - 修复图像、视频和3D 场景中的任何内容四、【Malware-P…

搭建 golang 项目的目录介绍及其用途对比表

文章目录 1.目录细则表2.目录使用说明及典型内容2.例 K8S 源码目录编排 1.目录细则表 常见 Go 项目目录的作用、典型内容、文件类型和使用场景~ 目录名作用/用途常见文件类型使用场景及详细说明典型内容举例cmd/存放可执行文件的入口点&#xff0c;通常为项目主程序入口或工具…

微软最新 Office 办公软件2025下载 – Microsoft 365 正版优惠订阅

​ 以前 Office 365 是微软打造的「办公软件订阅」服务。订阅后&#xff0c;用户可以在多个平台使用Word、Excel、PowerPoint、OneDrive云存储网盘等正版办公应用。 微软希望这种订阅方式能够推广到更多的产品和用户&#xff0c;于是决定将 Office 365 升级为全新的「Microsoft…

linux线程 | 线程的概念

前言:本篇讲述linux里面线程的相关概念。 线程在我们的教材中的定义通常是这样的——线程是进程的一个执行分支。 线程的执行粒度&#xff0c; 要比进程要细。 我们在读完这句话后其实并不能很好的理解什么是线程。 所以&#xff0c; 本节内容博主将会带友友们理解什么是线程&a…

连肝了多天学习MySQL索引与性能优化,详细总结一下索引的使用与数据库优化

文章目录 索引是什么&#xff1f;索引的作用初步认识索引索引的类型按照数据结构分类BTREE索引 哈希索引 按功能逻辑进行分类唯一索引普通索引主键索引全文索引 按照字段的个数进行划分单列索引多列&#xff08;组合&#xff0c;联合&#xff09;索引 小结索引的设计原则数据准…

K8s中pod的管理和优化

一、k8s中的资源 1.1 资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象 资源&#xff0c;用户需要通过操作资源来管理kubernetes。kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务所谓的部署服务&#xff0c;其实就是在kubernetes集群中…

基于SpringBoot+Vue的非物质文化遗产保护与传播系统设计实现【原创】(地图组件)

&#x1f388;系统亮点&#xff1a;地图组件&#xff1b; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框架Vue.js&#x…

软件项目必须进行验收测试吗?专业验收测试报告如何获取?

软件项目验收测试是一种关键的质量保证活动&#xff0c;旨在确保软件产品符合用户需求和预期功能。它通常是在软件开发完成后&#xff0c;由客户或第三方测试机构进行的最终测试环节。验收测试的目的是确认软件的性能、功能、安全性和其他特性&#xff0c;以确保交付的产品能够…

不是 PHP 不行了,而是 MySQL 数据库扛不住啊

大多数的业务场景下 PHP 还没有达到性能瓶颈&#xff0c;然而 MySQL 数据库就先行驾崩了。但我们总是不分青红皂白&#xff0c;一股脑的把原因归结于是 PHP 语言不行了&#xff0c;每当遇到这种情形我就会感叹到 PHP 的命真苦啊。PHP 作为一门优秀的开源编程语言&#xff0c;在…

CAS存在的问题及在Java中的解决方式

CAS 介绍 CAS 可以保证对共享变量操作的原子性 CAS全称Compare And Swap&#xff0c;比较与交换&#xff0c;是乐观锁的主要实现方式。CAS在不使用锁的情况下实现多线程之间的变量同步。ReentrantLock内部的AQS和原子类内部都使用了CAS。 CAS算法涉及到三个操作数&#xff1a;需…

深度学习500问——Chapter17:模型压缩及移动端部署(4)

文章目录 17.9 常用的轻量级网络有哪些 17.9.1 SequeezeNet 17.9.2 MobileNet 17.9.3 MobileNet-v2 17.9.4 Xception 17.9 常用的轻量级网络有哪些 17.9.1 SequeezeNet SqueezeNet出自 F.N.landola, S.Han等人发表的论文《SqueezeNet&#xff1a;ALexNet-level accuracy with…

python文件,异常,模块,正则思维导图

python文件操作 python异常处理 python模块和包 python正则表达式

强大的PDF到Word转换工具

Solid Converter&#xff1a;强大的PDF到Word转换工具推荐 在日常工作和学习中&#xff0c;PDF是最常用的文件格式之一。然而&#xff0c;编辑PDF文档并不总是那么方便&#xff0c;尤其是当你需要将PDF文件转换为Word文档时。Solid Converter 是一款强大的工具&#xff0c;专为…

高效美发店运营:SpringBoot管理系统详解

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理美发门店管理系统的相关信息成为必然。开发…

鸿蒙开发(NEXT/API 12)【HTTP数据请求】网络篇

场景介绍 应用通过HTTP发起一个数据请求&#xff0c;支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 接口名描述createHttp()创建一个http请求…