嵌入式串行接口标准

news2024/12/27 17:47:41

在嵌入式系统中,经常使用UART接口实现通讯、调试日志数据等功能,但UART是一种异步通信协议,并未定义物理层的电气接口标准。
在板件通信时,UART接口之间通常基于IO直接连接进行通信(TTL/CMOS电平标准,3.3V电源系统时,一般认为电平3.3v表示1,电平0v表示0),但对于长距离通信或工业可靠通信场景下,通常使用RS232、RS422、RS485接口进行连接通信。RS232\RS422\RS485本质为RS是一种物理层协议,定义了数据传输过程中的电气标准,基于RS232\RS422\RS485一般传输UART协议,当然也可以走其他各类自定义协议。

RS-232是串行数据接口标准,最初都是由美国电子工业协会(Electronic Industry Association,EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到1219米(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,习惯将上述几个标准称为RS232、RS422、RS485。

一、RS232

RS232总线标准设有25条信息线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道。该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。对于一般双工通信,仅需要几条信号线就可以实现:发送线(TXD)、接收线(RXD)及地线(GND)。
DB25接口
DB9接口
DB9接口连接方式
RS-232标准规定了数据传输的速率为50、75、100、150、300、600、1200、2400、4800、960019200 bit/s,可以灵活适用于不同速率的设备。另外RS232标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制。

在传送逻辑上面,RS232标准规定逻辑“1”的电平为-5v~-15v,逻辑“0”的电平为+5v~+15V。该电气方式的目的是为了提高抗干扰能力,增大通信距离。RS232的噪声容限为2V,意味着接收器能够识别+3V的的信号作为逻辑“0”,-3V的信号作为逻辑“1”。

但RS232属于单端信号传送,存在共地噪声和不可抑制的共模干扰等问题,因此一般用于20m以内的通信,且随着通信速率上升,通信距离会进一步的缩短。

二、RS422

为了弥补RS232通讯距离短,且不能进行多台设备同时通讯的问题。指定了RS422的电气标准。RS422标准全称为:平衡电压数字接口电路的电气特性。RS422规范定义采用4线(两组双绞线)、全双工、差分传输、多点通信的数据传输接口标准。

对发送端,要求双绞线T-、T+间的电压差在+2~+6V时表示高电平“1”,电压差在-2~-6V时表示低电平0;对接收端,当双绞线R-、R+间的电压差在+200mV时表示高电平“1”,电压差在-200mV时表示低电平0;

RS422比RS232有更强的驱动能力,因此允许在传输线上挂载多个接收节点,最多可解10个节点。即一个主设备多个从设备。主设备可以与从设备进行双向通信,但从机之间不允许互相通信。
在这里插入图片描述相对于RS232,RS422最大传输距离可以到4000英尺(约1219米),最大传输距离为10Mb/s。与RS232传输特性类型,随传输速率增加,传输距离会降低。在100kb/s速率下,才能达到最大传输距离;一般100米长的双绞线上所能获得的最大传输速率仅为1Mb/s。

RS422总线需要接一终端电阻,要求其阻值约等于传输电缆的特性阻值,接到传输电缆的最远端。在短距离传输时可不接终端电阻(一般指小于300米以下时)。

三、RS485

RS422提升了传输距离和传输速度,但由于需要使用两组双绞线(4根线,R+、R-、T+、T-),布线成本较高,使用越来越少,不少应用场景逐渐使用RS485接口进行代替。

于RS422类似,RS485使用半双工、差分传输的方式,并且仅使用1组双绞线,使用请求/响应的方式实现主机与设备之间的通讯,在任一时刻只能有一点处于发送状态(因此发送电路需要有使能信息控制,通常RS485芯片会支持实现该功能)。对发送端,RS485双绞线AB之间的电压差在+2~+6V时表示高电平“1”(B > A),电压差在-2~-6V时表示低电平0(B < A);对接收端,当双绞线AB间的电压差在+200mV时表示高电平“1”(B > A),电压差在-200mV时表示低电平0(B < A)。

RS485和RS422一样,最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。RS-485需要2个终接电阻,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在300米以下不需终接电阻。终接电阻接在传输总线的两端。
基于RS485的特性,用于多点互连时非常方便:基于双绞线就可以构建通信网络。应用RS485可以联网构成分布式系统,基本RS485驱动芯片特性,一般最少允许并联32台驱动器和32台接收器。
在这里插入图片描述

附:DB9接口

作为串行通信的默认接口,DB9接口常用于RS232信号通信,也支持RS422、RS485信号的通信。
在这里插入图片描述

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

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

相关文章

梦熊杯-十二月月赛-白银组题解-B.契约

B. Problem B.契约&#xff08;contract.cpp&#xff09; 内存限制&#xff1a;256 MiB 时间限制&#xff1a;1000 ms 标准输入输出 题目类型&#xff1a;传统 评测方式&#xff1a;文本比较 题目描述&#xff1a; 「璃月」是「契约」的国度。 摩拉克斯认为&#xff0c…

Lua 字符串

Lua 字符串 参考至菜鸟教程。 字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示&#xff1a; 单引号间的一串字符。双引号间的一串字符。[[ 与 ]] 间的一串字符。 以上三种方式的字符串实例如下&#xff1a; string1 …

基于语义分割Ground Truth(GT)转换yolov5目标检测标签(路面积水检测例子)

基于语义分割Ground Truth&#xff08;GT&#xff09;转换yolov5目标检测标签&#xff08;路面积水检测例子&#xff09; 概述 许多目标检测的数据是通过直接标注或者公开平台获得&#xff0c;如果存在语义分割Ground Truth的标签文件&#xff0c;怎么样实现yolov5的目标检测…

【图论】求欧拉回路

前言 你的qq密码是否在圆周率中出现&#xff1f; 一个有意思的编码问题&#xff1a;假设密码是固定位数&#xff0c;设有nnn位&#xff0c;每位是数字0-9&#xff0c;那么这样最短的“圆周率”的长度是多少&#xff1f;或者说求一个最短的数字串定包含所有密码。 理论 一些…

acwing1264_动态求连续区间和

目录 算法分类&#xff1a; 问题描述 算法适用题目范围&#xff1a; 实现代码&#xff1a; 算法分类&#xff1a; 树状数组/线段树 问题描述 给定 n个数组成的一个数列&#xff0c;规定有两种操作&#xff0c;一是修改某个元素&#xff0c;二是求子数列 [a,b]的连续和。 …

1602_MIT 6.828试验环境搭建

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 最近尝试看一下MIT的操作系统教程&#xff0c;找到了一个6.828的课程。看了一下网络上的介绍&#xff0c;看起来这个大家的认可度还是很高的。开动之前&#xff0c…

Android面经_111道安卓基础问题(四大组件BroadCast、内容提供者篇)

该文章涉及的内容主要是&#xff1a;BroadCast、内容提供者&#xff1b; Android基础问题——四大组件之BroadCast、ContentProvider 内容提供者1、BroadCast1.1、Android的广播分类1.2、Android的广播注册方式1.3、广播作用域2、内容提供者Content provider2.1、什么是内容提供…

Google Protobuf 实践使用开发

Android 敏捷开发助手 Lottie动画 轻松使用PNG、JPG等普通图片高保真转SVG图Android 完美的蒙层方案Android MMKV框架引入使用强大无匹的自定义下拉列表Google Protobuf 实践使用开发 Protobuf 实践使用前言Protobuf基本介绍Protobuf 使用配置protobuf 基本语法1. 基本使用2. …

JavaWeb-Ajax

JavaWeb-Ajax 3&#xff0c;Ajax 3.1 概述 AJAX (Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 我们先来说概念中的 JavaScript 和 XML&#xff0c;JavaScript 表明该技术和前端相关&#xff1b;XML 是指以此进行数据交换。 3.1.1 作用 AJAX…

用Python绘制傅里叶级数和泰勒级数逼近已知函数的动态过程

文章目录Taylor级数Fourier级数本文代码&#xff1a; Fourier级数和Taylor级数对原函数的逼近动画Taylor级数 级数是对已知函数的一种逼近&#xff0c;比较容易理解的是Taylor级数&#xff0c;通过多项式来逼近有限区间内的函数&#xff0c;其一般形式为 f(x)∑n0Nanxnf(x)\su…

Lua 运算符 - 较为特殊部分

Lua 运算符 - 较为特殊部分 参考至菜鸟教程。 算术运算符 操作符描述实例^乘幂A^2 输出结果 100-负号-A 输出结果 -10//整除运算符(>lua5.3)5//2 输出结果 2在 lua 中&#xff0c;/ 用作除法运算&#xff0c;计算结果包含小数部分&#xff0c;// 用作整除运算&#xff0c;计…

Shiro学习文档

Shiro Java安全框架 1.什么是权限管理 ​ 基本上涉及到用户参与的系统都要进行权限管理&#xff0c;权限管理属于系统安全的范畴&#xff0c;权限管理实现对用户访问系统的控制&#xff0c;按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源。 权限管理…

oracle mysql postgresql opengauss 批量kill session

oracle alter system kill session sid,serial# immed; &#xff08;根据v$session中查出sid和serial#进行替换&#xff09; 这里提供一个常用脚本&#xff0c;支持跨实例kill会话 &#xff08;替换&1条件或放到脚本调用都行&#xff09; select alter system kill sessi…

Dubbo 简介

Apache Dubbo 是一款 RPC 服务开发框架&#xff0c;用于解决微服务架构下的服务治理与通信问题&#xff0c;官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力&#xff0c; 利用 Dubbo 提供的丰富服务治理特性&…

嵌入式工程师的2022 || 2023

因为一些个人关系&#xff0c;2022年初我从北京回到了石家庄。在找工作&#xff0c;包括后续的研发工作中&#xff0c;不同地点的经历在对比中我逐渐总结出了一些经验。关于“人”方面的感悟我就不赘述了&#xff0c;下面主要在这里总结一些找工作&#xff0c;做工作的经验&…

八、迁移学习和多任务学习

文章目录1、迁移学习2、多任务学习3、端到端学习THE END1、迁移学习 \qquad迁移学习是将某个任务学习到的知识(神经网络的参数信息)迁移到另外一个相似的任务中使用&#xff0c;从而重复利用相似任务学习共同之处&#xff0c;节省模型训练的时间&#xff0c;提高模型的训练效率…

一名普通22届本科毕业生|前端程序员|22年年终总结

文章目录22年上半年&#xff1a;最后的学生时光隔离实习币基金迷茫困惑难受不要去想人生意义读书景点环境的力量再次隔离返校入职前的学习22年下半年&#xff1a;上班工作生活总结本来准备在22年年末写的&#xff0c;奈何那段时间工作太忙没抽出时间。现在是23年的1月27日&…

paddleOCR代码工程的MD模式改造

一、下载cmake_3.22.3&#xff0c;用于生成vs工程 Index of /files/v3.22 下载完成&#xff0c;解压文件&#xff0c;打开cmake-gui.exe&#xff0c;即可使用&#xff1a; 二、下载Git&#xff08;Git-2.36.0-64-bit.exe&#xff09;并按照默认路径安装&#xff0c;cmake需调用…

使用Moment格式化时间出现时间差

诶嘿&#xff0c;很离奇。前些天后端老哥给我说我这时间展示不对。 我就奇了个大怪&#xff0c;就是取的这个字段嘛&#xff0c;怎么肥事&#x1f62d; 看半天发现是时间格式化出的问题。 原代码⬇️&#xff0c;看起来没毛病嘛&#xff0c;值打印出来也与接口里的这个时间一…

到底卡在了哪里,2023年再撒谎网慢就说不过去了

前言互联网下行带来灵魂追问。钱花哪去了&#xff1f;产出在哪里&#xff1f;动辄自建的遮羞布逐步显现&#xff0c;不过自建的成本可能还不是最大的负担&#xff0c;掣肘的可能是把不重要的事情当成了主业来做&#xff0c;比如&#xff1a;互联网比如数字化转型比如研发效率和…