05 RS485

news2024/11/16 19:29:43

什么是RS485?

RS485 是一种通用的通信标准,广泛用于数据采集和控制应用中。 它的主要优点之一是它允许将多个 RS485 设备放在同一条总线上,这使得多个节点可以相互连接。

RS-485(目前称为EIA/TIA-485)是通信物理层的标准接口,一种信号传输方式。

串行 EIA-485 连接是使用两根或三根电线的电缆完成的:一根数据线、一根带反转数据的电线,通常还有一根零线(接地,0 V)。 这样,发射器和接收器通过 22 或 24 AWG 实心线的双绞线电缆交换数据。

这里的主要思想是通过两根电线传输一个信号

当一根电线传输原始信号时,另一根电线传输其反向副本。 这种传输方法提供了对共模干扰的高抵抗力。 用作传输线的双绞线可以是屏蔽或非屏蔽的。

RS485能跑多远?

建立在 RS-485 接口上的通信网络由通过双绞线(两条双绞线)连接的收发器组成。

RS-485接口的基本原理是差分(平衡)数据传输。 这意味着一个信号通过两根电线传输。 这样,一对中的一根线传输原始信号,另一根传输其反向副本。

作为差分信号传输的结果,导线之间总是存在电位差。 这确保了对共模干扰的高抵抗力。 另外,双绞线可以屏蔽,保证传输数据的保护。 所有这些都允许以相对较高的速度远距离发送数据,在 4000 英尺处可以达到 100 kbits/s。

4000 英尺或大约 1200 米是 RS-485 通信中的最大电缆长度。 但是,一般准则是线路长度(以米为单位)和数据速率(以每秒比特数为单位)的乘积不应超过 108。例如,20 米长的电缆允许的最大数据速率为 5 Mbits /秒。

RS485通讯协议是什么?

当 RS485 通信线路在物理层准备好运行时,是时候考虑数据传输协议——系统设备之间关于数据包传输格式的协议。

由于 RS-485 接口的性质,RS-485 设备不能同时发送和接收数据,因为这会导致发送器的冲突。 因此,确定性行为是强制性的,以避免数据包的冲突。

在 RS485 通信协议中,命令由定义为主站的节点发送。 连接到主站的所有其他节点都通过 RS485 端口接收数据。 根据发送的信息,线路上的零个或多个节点响应主站。

话虽如此,这种类型的通信并不是通过 RS485 协议交换数据的唯一可能方式。 RS485 网络还有其他一些实现方式,其中每个节点都可以自行启动数据传输。 但是,在此类网络中可能丢失数据的风险更高。

RS-485通讯主要特点

尽管有各种各样的现代替代解决方案,但今天 RS-485 技术仍然是许多通信网络的基础。 RS-485接口的主要优点是:

  • 通过一对双绞线进行双向数据交换;
  • 支持连接到同一条线路的多个收发器,即创建网络的能力;
  • 通讯线长;
  • 高传输速度。

双向半双工数据传输

串行数据流可以在一个方向传输,数据传输到另一侧需要使用收发器。 收发器(通常称为“驱动器”)是在发射器侧形成物理信号的设备或电路。

对称通信通道

接收或传输数据需要两条等效的信号线。 电线用于在两个方向(交替)交换数据。 在双绞线电缆的帮助下,对称通道显着提高了信号的稳定性并抑制了有用信号产生的电磁辐射。

多点

RS-485通讯线可以连接多个接收器和收发器。 同时,一个发送器和多个接收器一次可以连接到一根通信线路上。 所有其他需要连接的发送器应等待通信线路空闲以进行数据传输。

实战之后的理解

其实不管是485还是232都属于板间通讯的一种,其本质就是把板上微弱的TTL电平,通过485或者232芯片(也就是电平转换芯片),转成更高的电平。

所以对于主MCU而言,和485芯片之间还是通过TX、RX相连的。

咱们可以简单找一个485收发器的芯片数据手册看一下

https://www.semiee.com/file/ARTSCHIP/ARTSCHIP-MAX485ESA.pdf

8个引脚,A、B、电源和地不用说。

其中

RO为接收器的输出引脚,和MCU的RX引脚连

  • If A > B by 200mV, RO will be high
  • If A < B by 200mV, RO will be low

DI为接收器的输入引脚,和MCU的TX引脚连

DE Driver Output Enable 驱动器的输出使能

RE(加杠) Receiver Output Enable 接收器使能

我们只需要一个GPIO引脚来控制

,这个GPIO引脚我们经常叫它DIR。

当DIR=0时,接收电路使能RE¯=0(上加横杠,代表低电平有效),发送电路禁止DE=0,对于总线而言相当于高阻,发不了消息,只能接收;

当DIR=1时,接收电路禁止RE¯=1,发送电路使能DE=1,对总线A/B信号取决于DI的信号。

DE、RE设计成相反的逻辑,也就是为了方便用一个GPIO口同时控制收发电路。

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

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

相关文章

面试官:React怎么做性能优化

前言 最近一直在学习关于React方面的知识&#xff0c;并有幸正好得到一个机会将其用在了实际的项目中。所以我打算以博客的形式&#xff0c;将我在学习和开发&#xff08;React&#xff09;过程中遇到的问题记录下来。 这两天遇到了关于组件不必要的重复渲染问题&#xff0c;…

2022 年,我身上发生的几件大事

一晃2022互联网寒冬年就要结束了&#xff0c;在今年我的身上发生了好几件人生大事。因为这些事情对我的心态、思绪等产生了不同层次、不同方面的影响&#xff0c;所以很有必要做一次年终复盘。那么&#xff0c;接下来让我用拙略的写作手法&#xff0c;带大家走进我那特别的2022…

别等iPhone14了,苹果iPhone15变化很大

在去年的手机市场当中&#xff0c;苹果可以说是最大的赢家。因为去年iPhone13发布的时间段&#xff0c;恰好是高端旗舰的空档期&#xff0c;小米、OV在高端市场的销量表现一般&#xff0c;华为又没有能力发布新机&#xff0c;三星的Note系列在去年也暂停发布。所以不夸张的说&a…

SpringBoot整合ShardingJdbc实现数据库水平分表实战

(1)添加Maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

因果推断4--Causal ML(个人笔记)

目录 1 安装教程及官方文档 1.1 pip安装 1.2 API文档 1.3 代码仓库 2 Uplift模型与主要方法介绍 2.1 发放代金券 2.2 多treatment 2.3 实验方法 3 causalml.inference.tree module 3.1 UpliftTreeClassifier 3.2 UpliftRandomForestClassifier 3.3 CausalRandomFor…

sec7-可派生和非抽象类型

创建非抽象可派生类型比创建抽象类型更常见。本节介绍如何创建非抽象可派生类型对象。派生类型的例子是string的对象。它是TStr。它的子对象是一个数字字符串对象。数字字符串是表示数字的字符串。例如“0”、“-100”、“123.45”。子对象(数字字符串)将在下一节中解释。 我想…

前端框架搭建(九)搭建页面布局框架【vite】

## 1.创建目录BasicLayout——全局布局 components——布局组件 GlobalContent&#xff1a;全局内容GlobalHeader&#xff1a;全局头部页面 2.处理GlobalHeader 创建HeaderMenu——头部菜单 声明相关类型 在typings目录下创建system.d.ts declare namespace App {/** 全局…

Canadian Coding Competition(CCC) 2021 Junior 题解

目录 Problem J1: Boiling Water Problem J2: Silent Auction Problem J3: Secret Instructions Problem J4: Arranging Books Problem J5/S2: Modern Art Problem J1: Boiling Water Problem Description At sea level, atmospheric pressure is 100 kPa and water begi…

自动挂载USB和TF卡

转自链接https://zhuanlan.zhihu.com/p/443745437 ①创建用于挂载U盘的目录 mkdir /mnt/usb –p②在/etc/udev/rules.d目录下添加用于检测U盘插入规则&#xff08;add&#xff09;&#xff0c;终端下执行以下命令创建第一个U盘插入规则。 vim /etc/udev/rules.d/11-add-usb.r…

【ROS】—— ROS通信机制——服务通信(三)

文章目录前言1. 服务通信理论模型2. 服务通信自定义srv2.1 定义srv文件2.2 编辑配置文件2.3 编译3. 服务通信自定义srv调用(C)3.1 vscode配置3.2 服务端3.3 客户端3.4 配置 CMakeLists.txt4. 服务通信自定义srv调用(python)4.1 vscode配置4.2 服务端4.3 客户端4.4 配置 CMakeLi…

将Android进行到底之内容提供者(ContentProvider)

文章目录前言一、ContentProvider是什么&#xff1f;二、使用示例1.为应用创建内容提供者2.使用内容提供者2.1 内容URI2.2 Uri参数解析2.2 使用内容URI操作数据3.ContentProvider妙用4 内容URI对应的MIME类型5.ContentProvider重点注意6 演示demo源码总结前言 随着现在的应用越…

java通过JDBC连接mysql8.0数据库,并对数据库进行操作

目录 一、JDBC简介 二、添加依赖 三、JDBC操作数据库的步骤 四、JDBC操作数据库——增删改查 (一)新增数据 (二)删除数据 (三)修改数据 (四)查询数据 (五)多表连接查询 一、JDBC简介 Java数据库连接&#xff0c;&#xff08;Java Database Connectivity&#xff0c;简…

C进阶:字符串相关函数及其模拟实现

目录 &#x1f431;&#x1f638;一.strlen &#x1f54a;️1.功能 &#x1f43f;️2.模拟实现 &#x1f42c;&#x1f40b;二.strcpy &#x1f432;1.功能 &#x1f916;2.注意事项 &#x1f47b;3.模拟实现 &#x1f431;&#x1f42f;三.strcat &#x1f984;1.功能…

i.MX8MP平台开发分享(IOMUX篇)- Linux注册PAD

专栏目录&#xff1a;专栏目录传送门 平台内核i.MX8MP5.15.71文章目录1. pinfunc.h2.pinctrl-imx8mp.c3.PAD信息注册这一篇开始我们深入Linux中的pinctl框架。1. pinfunc.h pinfunc.h中定义了所有的引脚&#xff0c;命名方式是MX8MP_IOMUXC___&#xff0c;例如下面的MX8MP_IO…

【JDBC】----------ServletContext和过滤器

分享第二十四篇励志语句 幸福是什么&#xff1f;幸福不一定是腰缠万贯、高官显禄、呼风唤雨。平凡人自有平凡人的幸福&#xff0c;只要你懂得怎样生活&#xff0c;只要你不放弃对美好生活的追求&#xff0c;你就不会被幸福抛弃。 一&#xff1a;ServletContext&#xff08;重要…

js对象篇

面向对象 对象 如果对象的属性键名不符合JS标识符命名规范&#xff0c;则这个键名必须用引号包裹 访问属性有2种方法&#xff0c;有点语法和方括号填写法&#xff0c;特别地&#xff0c;如果属性名不符合JS命名规范或者使用变量存储属性名&#xff0c;则必须使用方括号访问 属…

【王道操作系统】2.3.6 进程同步与互斥经典问题(生产者消费者问题、吸烟者问题、读者写者问题、哲学家进餐问题)

进程同步与互斥经典问题(生产者消费者问题、吸烟者问题、读者写者问题、哲学家进餐问题) 文章目录进程同步与互斥经典问题(生产者消费者问题、吸烟者问题、读者写者问题、哲学家进餐问题)1.生产者-消费者问题1.1 问题描述1.2 问题分析1.3 如何实现1.4 实现互斥的P操作一定在实现…

深化全面To C战略魏牌发布与用户共创大六座SUV蓝山

对魏牌而言&#xff0c;与用户共创不是吸引眼球的营销噱头&#xff0c;而是“直面用户需求&#xff0c;真实倾听用户意见”的有效途径。 2022年12月30日&#xff0c;第二十届广州国际汽车展览会&#xff08;以下简称“广州车展”&#xff09;正式启幕。魏牌以“品位蓝山 有咖有…

神经网络必备基础知识:卷积、池化、全连接(通道数问题、kernel与filter的概念)

文章目录卷积操作实际操作filter与kernel1x1的卷积层可视化的例子池化全连接卷积操作 这个不难理解。我们知道图像在计算机中是由一个个的像素组成的&#xff0c;可以用矩阵表示。 假设一个5x5的输入图像&#xff0c;我们定义一个3x3的矩阵&#xff08;其中的数值是随机生成的…

excel图表美化:设置标记样式让拆线图精巧有趣

折线图作为我们平时数据视图化非常常规的表现方式&#xff0c;想必大家已经司空见惯了。折线图很简单&#xff0c;每个人都会做&#xff0c;但是不同的人做出来的折线图却千差万别。大多数人的折线图都是直接插入默认折线图样式生成的&#xff0c;这样的折线图先不说有没有用心…