UART、RS232、RS485协议
文章目录
- 一、UART
- 1.1 UART帧格式
- 1.2 UART电路的连接
- 1.3 串口存在的问题
- 二、RS232协议
- 2.0 RS232协议介绍
- 2.1 RS232的帧格式
- 2.2 RS232电路连接
- 2.3 RS232存在的问题
- 三、RS485协议
- 3.0 RS485协议介绍
- 3.1 RS485帧格式
- 3.2 RS485电路连接
- 3.3 RS485的优势
- 四、RS485编程。
- 4.1 收发器SP3485及其电路连接
- 收发器SP3485
- 收发器SP3485的电路连接
- 4.2 代码
在电脑之间,我们常用RS232来通讯;在工业上,我们经常会用到RRS485总线。这RS232和RS485到底是什么东西?它与常用的串口通信有什么联系吗?下面我们就来看看他们之间的联系。
一、UART
1.1 UART帧格式
1.2 UART电路的连接
1.3 串口存在的问题
想一想 串口会存在什么问题?
串口传输距离近,容易受到干扰。在一般的项目中我们很少用到串口区通信的。
具体的问题如下:
- 电气接口不统一
UART只是对信号的时序进行了定义,而未定义接口的电气特性;
UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连;
UART没有规定不同器件连接时连接器的标准,所以不同器件之间通过UART通信时连接很不方便; - 抗干扰能力差
UART一般直接使用TTL信号来表示0和1,但TTL信号的抗干扰能力较差,数据在传输过程中很容易出错 - 通信距离极短
因为TTL信号的抗干扰能力较差,所以其通信距离也很短,一般只能用于一个电路板上的两个不芯片之间的通信
二、RS232协议
2.0 RS232协议介绍
RS232协议
RS232协议是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家、计算机终端生产厂家共同制定的用于串行通讯的标准。
该标准规定采用一个标准的连接器。标准中对连接器的每个引脚的作用加以规定,还对信号的电平加以规定;
RS232接口
该标准规定采用一个25引脚的DB-25连接器,标准中对连接器的每个引脚的信号内容加以规定)还对各种信号的电平加以规定;后来IBM的PC机将RS232简化成了DB-9维接器,后来成为事实标准;现在工业控制的RS-232接口一般只使用RXD、TXD、GND三条线;信号
该标准规定逻辑“1”的电平为-5v到-15v,逻辑“0”的电平为+5v到+15v,选用该电气标准的目的在于提高抗干扰能力,增大通信距离,其传送距离一般可达15m;
2.1 RS232的帧格式
RS232帧格式与UART串口通信一样。他们只是在电气的特性上不同。
2.2 RS232电路连接
虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS232标准的信号,所以一般我们还需要在处理器外部去添加电路对信号的电平进行转换;经过芯片的电平转换后,TTL信号就变成了RS232信号。我们想要发送的信息就以RS232的信号的方式发送给接收方,接收方也需要一个RS232转TTL电平的电平转换器,把RS232信号转换位TTL电平。
现在的电脑上,一般也很少用RS232了,现在电脑上主要是以USB为主。但是在嵌入式中,RS232还是经常使用的。
2.3 RS232存在的问题
RS232相当于串口来说,只是电气的层面不同,在帧格式上都是相同的,即软件编程都是相同的。
RS232存在以下几个问题:
- 容易烧坏芯片
接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接 - 通信速度较低
- 易产生共模干扰,抗噪声干扰性弱
- 传输距离较短(15m)
三、RS485协议
3.0 RS485协议介绍
为了解决RS232的通信易受到干扰,传输距离短问题,又定义了一种新的协议-RS485协议。
该标准由电信行业协会和电子工业联盟定义;使用该标准的通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。该标准允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便地建立起一个设备网络。
RS485在工业上经常使用到。
- 信号
RS485标准规定采用差分信号(差分信号是指用两根线的电平差表示0、1)进行数据传输,两线间的电压差为+2v到+6v表示逻辑“1”,两线间的电压差为-2v到-6v表示逻辑“0”;
使用差分信号能有效地减少噪声信号的干扰(因为如果受到干扰,两根线都会受到相同的干扰,所以受到干扰后这两根线的电平差仍然能正确的表示0或1),延长通信距离,RS485的通信距离可以达到1500m;RS485接口信号的电平比RS232降低了,所以不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便地与TTL电路连接 - 接口
RS485采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点;
因为采用两线制,数据的发送和接收都要使用这对差分信号线,发送和接收不能同时进行,所以只能采用半双工的方式工作,编程时也需要加以处理。
这两根线采用双绞线,这样更加减少干扰。
3.1 RS485帧格式
RS485都是基于串口的,帧格式与串口的相同。与串口和RS232只是电气的特性不同,软件的编程都是差不多的。
由于采用了差分信号,RS485 只能采用半双工的方式工作,只能同一时间发送数据或者接收数据。在编程48时,需要注意这一点。
3.2 RS485电路连接
虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS485标准的信号,所以一般我们还需要在处理器外部去添加电路将TTL信号转换成差分信号;
RS485的接口是A对A,B对B。
3.3 RS485的优势
- 安全,不易烧芯片
接口的信号电平值较低,不易损坏接口电路的芯片,且与TTL电平兼容,可方便地与TTL电路连接 - 通信速度快
- 抗噪声干扰性强
使用了差分信号,双绞线 - 传输距离较远(1500m)
- 可实现多节点组网
在RS485总线上可以挂多个设备。
四、RS485编程。
4.1 收发器SP3485及其电路连接
收发器SP3485
我们开发板采用SP3485作为收发器,该芯片支持3.3V供电,最大传输速度可达10Mbps,支持多达32-个节点,并且有输出短路保护。该芯片的框图如图
- 图中A、 B总线接口,用于连接485总线。
- RO是接收输出端,DI是发送数据收入端,。
- RE是接收使能信号(低电平有效),DE是发送使能信号(高电平有效)
收发器SP3485的电路连接
- 一个引脚决定RS485数据收发
RS485是半双工的方式,RE、DE可以连接在一起,MCU用一个引脚来控制RS485的收发。
如上图:RS485_RE=1,表示发送数据。RS485_RE=0,表示接收数据。 - A、B口接偏置电阻,保证空闲电压差大于200mV
R14和R17是两个偏置电阻,用来保证总线空闲时,AB之间的电压差都会大于200mV,避免总线空闲时压差不定逻辑混乱。 - 两个485接口连接,A连接A,B连接B。
4.2 代码
代码网络上都有,
注意串口波特率得设置相同,不然接收到的数据都是00
UART、RS232、RS485协议相关推荐
- 总线协议一(UART/RS232/RS485/IIC/SPI)
目录 基础概述: 一.UART(为串口通信方式) 二.RS232协议 三.RS485协议 四.I2C总线协议 五.SPI总线 六.I2C和SPI的区别 基础概述: 总线的本质就是一根导线,传递的是电信 ...
- 串口---UART RS232 RS485 TTL
什么是串口? 串口通信分同步串口通信USRT,异步串口通信UART, 串口主流的电气(电平)标准 RS232 RS485 RS422 TTL 相关芯片 PL2303.CP2102芯片都是常用的USB转 ...
- UART/RS232传输协议
一.RS232通信协议是目前最常用的一种全双工点对点式的异步串行通信协议接口标准.RS232接口标准由于出现较早,所以其目前存在很多问题. (1).接口电平值较高,易损坏接口电路的芯片. (2).传输 ...
- RS232\RS485\TTL接口\UART
一 uart rs232 rs485功能 UART是cpu中的控制器实现数据的串并转换(其中cpu使用并行数据,外部通信使用串行数据):控制数据的波特率 校验机制等工作:cpu直接控制的是这个控制器的 ...
- 微硬创新RS485/RS232/MODBUS转PROFINET(PROFINET转RS232/RS485/MODBUS)网关连接西门子PLC和新大陆工业条码扫描枪配置案例
1.前言: 由于PROFINET网络协议逐渐在各种行业中得到广泛应用,同时条码技术的成熟和广泛应用,生产厂家采用条码标识其产品,在生产.库存.发货.销售.售后中采集产品信息,将扫码扫上来的数据要传送在 ...
- UART和RS232/RS485的关系是什么?
串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式.但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句 ...
- UART和RS232/RS485的关系是什么?RS485在linux下的调试 ubuntu串口调试工具
串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式.但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句 ...
- UART和RS232/RS485/RS422的关系
转: http://www.elecfans.com/emb/jiekou/20180418663969.html https://blog.csdn.net/u013178472/article/d ...
- 串口RS232 RS485最本质的区别!-!I2C通讯协议 最简单的总线通讯!-深入理解SPi通讯协议!
5分钟看懂!串口RS232 RS485最本质的区别!-4分钟看懂!I2C通讯协议 最简单的总线通讯!-深入理解SPi通讯协议,5分钟看懂! 一.5分钟看懂!串口RS232 RS485最本质的区别! 二 ...
- 串口服务器跟协议转换器,串口服务器 8路RS232+RS485转TCP/IP YTNP308-CMIX
产品简介 YTNP308-CMIX8个串口,均为RS232/RS485两用设计(切换使用),通过设备可以灵活接入8路RS232或RS485数据,也可以混合接入共8路RS232及RS485数据,主机等通 ...
最新文章
- java HashMap的使用
- 内存拷贝函数的深入思考
- linux awk f,linux的awk详情(上)
- dynamic 仪表板_仪表板完成百万美元交易
- Spark学习笔记(7)---Spark SQL学习笔记
- Metasploit 之生成木马(msfvenom)
- springboot配置文件_SpringBoot系列干货:配置文件详解
- C语言解力扣461.汉明距离
- 在JavaScript中从base64字符串创建Blob
- iOS开发探索-Base64编码
- FFmpeg开发(十)——Qt 实现FFmpeg下载m3u8视频
- 软件评测师-专业英语
- IV值区间与预测能力关系
- 韦根w34是多少位_韦根(Wiegand)数据传输格式
- 如何将已有的阿里巴巴字体库项目添加到自己的项目中
- 猫眼电影经典电影爬取
- android 退出 动画效果,Activity进入和退出动画的实现
- P2465 [SDOI2008]山贼集团 dp
- ExecutorService的submit()方法
- C++编程 使用QT5 SDK录制屏幕并显示