STM32MP157 |UART,RS232,RS485总线的区别

串行总线和并行总线

串行通信 : 指的是同一时刻只能收或发一个bit位信息。因此只用1根信号线即可。

并行通信 : 指的是同一时刻可以收或发多个bit位的信息,因此需要多根信号线才行

单工、半双工、全双工

单工 : 要么收,要么发,只能做接收设备或者发送设备。

半双工 : 可以收,可以发,但是不能同时收发。

​ eg : I2C/IIC USB2.0 485总线

全双工 : 可以在同一时刻既接收,又发送。

​ eg : UART SPI USB3.0

1.uart总线的通信协议

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在 串行通信]与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上 。

在这里插入图片描述

1> 起始位:发送器线数据线上写入0,接收器从数据线上读取数据,表示起始位。

2> 数据位:发送器一个时钟周期线数据线上写入数据,同时接收器从数据线上读取数据,表示发送1个bit位数据完成。

3> 校验位:判断接收的数据时候正确,常用的校验位位奇偶校验。

​ 奇校验:数据位和校验位的1的个数之和为奇数。

​ eg: 数据位为0x55,校验位自动补1;数据位为0x51, 校验位自动补0.

​ 偶校验:数据位和校验位的1的个数之和为偶数。

​ eg: 数据位为0x55,校验位自动补0;数据位为0x51, 校验位自动补1.

4> 停止位:一帧数据发送完成。停止位可以用来校准时钟。

​ 为什么要通过停止位校准时钟?

​ 串口是采用的异步的通信,通信双方采用各自独立的时钟源,虽然在时钟的速率上保持一致,但是依然会存在一定的误差,每发送一个bit位的数据,时钟的误差就会累积,因此在发送一帧数据结束之后需要校准时钟。

8N1 : 8位数据位,没有校验位,一个停止位。8N1串口协议是常用的串口的协议。

波特率/比特率 : 每s钟发送数据的bit位数,单位bps. 常用的波特率为115200bps,9600bps.

在这里插入图片描述

嵌入式里面说的串口,一般是指UART口, 但是我们经常搞不清楚它和COM口的区别, 以及RS232, TTL等关系, 实际上UART,COM指的物理接口形式(硬件), 而TTL、RS-232是指的电平标准(电信号).

UART有4个pin(VCC, GND, RX, TX), 用的TTL电平, 低电平为0(0V),高电平为1(3.3V或以上)。

1.2 TTL概述

TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SOC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候 从单片机直接出来的基本是都 是 TTL 电平。

TTL,RS232,RS485都是一种逻辑电平的表示方式

TTL电平:全双工(逻辑1: 2.4V–5V 逻辑0: 0V–0.5V)

1、硬件框图如下,TTL用于两个MCU间通信

在这里插入图片描述

2、‘0’和‘1’表示
在这里插入图片描述

1.3 UART存在的问题

  • 电气接口不统一

  • UART只是对信号的时序进行了定义,而未定义接口的电气特性;

  • UART通信时一般直接使用处理器使用的电平,即TTL电平,

    但不同的处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连;

  • UART没有规定不同器件连接时连接器的标准,所以不同器件之间通过UART通信时连接很不方便;

  • 抗干扰能力差

    UART一般直接使用TTL信号来表示0和1,但TTL信号的抗干扰能力较差,数据在传输过程中很容易出错

  • 通信距离极短
    因为TTL信号的抗干扰能力较差,所以其通信距两也很社,一双只能用于一个电路板上的两个不芯片之间的通信

2.RS232协议

2.1 RS232概述

是电子工业协会(Electronic Industries Association,EIA) 制定的异步传输标准接口,同时对应着电平标准和通信协议(时序),其电平标准:+3V~+15V对应0,-3V~-15V对应1。rs232 的逻辑电平和TTL 不一样但是协议一样。

RS-232电平:全双工(逻辑1:-15V–5V 逻辑0:+3V–+15V)

该标准规定采用一个标准的连接器,标准中对连接器的每个引脚的作用加以规定,还对信号的电平加以规定;

1、硬件框图如下,TTL用于MCU与PC机之间通信

在这里插入图片描述

2、‘0’和‘1’表示

在这里插入图片描述

2.2 接口

该标准规定采用一个25引脚的DB-25连接器,标准中对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定,后来IBM的PC机将RS232简化成了DB-9连接器,后来成为事实标准;现在工业控制的RS-232接口一般只使用RXD、TXD、GND三条线;

2.3 信号

该标准规定逻辑“1”的电平为-5v到-15v,逻辑“0”的电平为+5v到+15v,选用该电气标准的目的在于提高抗干扰能力,增大通信距离,其传送距离一般可达15m;

2.4 电平转换

虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS232标准的信号,所以一般我们还需要在处理器外部去添加电路对信号的电平进行转换;

2.5 RS232特点

RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:

(1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3—-15V;逻辑“0”:+3—+15V,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

(2)传输速率较低,在异步传输时,比特率为20Kbps;因此在51CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。

(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。

3.RS485协议

3.1 RS485概述

该标准由电信行业协会和电子工业联盟定义;使用该标准的通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号;该标准允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便地建立起一个设备网络

在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。

RS-485 采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。

RS485:RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,抗干扰能力比RS232强很多。

RS-485:半双工、(逻辑1:+2V~+6V 逻辑0: -6V~-2V)这里的电平指AB 两线间的电压差。

1、硬件框图如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G9taqlqr-1662558226387)(E:/22031/资料/总线协议/232和485总线的区别.assets/SouthEast-20201103103922955.png)]

2、‘0’和‘1’表示

在这里插入图片描述


3.2 信号

RS485标准规定采用差分信号进行数据传输,两线间的电压差为+2v到+6v表示逻辑“1”,两线间的电压差为-2v到-6v表示逻辑“0”;使用差分信号能有效地减少噪声信号的干扰,延长通信距离,RS485的通信距离可以达到1500m; RS485接口信号的电平比RS232降低了,所以不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便地与TTL电路连接

3.3 接口

RS485采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点;
因为采用两线制,数据的发送和接收都要使用这对差分信号线,发送和接收不能同时进行,所以只能采用半双工的方式工作,编译时也需要加以处理

3.4 电平转换

虽然很多处理器中都会集成UART控制器,但处理器产生的信号一般都是TTL信号并不是符合RS485标准的信号,所以一般我们还需要在处理器外部去添加电路将TTL信号转换成差分信号;

3.5 RS485的优势

  • 接口的信号电平值较低,不易损坏接口电路的芯片,且与TTL电平兼容,可方便地与TTL电路连接

  • 通信速度快

  • 抗噪声干扰性强

  • 传输距离较远(1500m)

  • 可实现多节点组网

3.6 RS485特点:

RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。针对RS-232-C的不足,新标准RS-485具有以下特点:

  • RS-485的电气特性:逻辑“1”以两线间的电压差+2V+6V表示,逻辑“0”以两线间的电压差-6V-2V表示。接口信号电平比RS-232-C降低了,就不容易损坏接口电路芯片,且该电平与TTL电平兼容,刻方便与TTL电路连接。
  • 数据最高传输速率为:10Mbps
  • RS-485接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声性能好。
  • RS-485接口的最大传输距离标准值4000英尺,实际上可达3000米。
  • RS-232-C接口在总线上只允许连接一个收发器,即单站能力;而RS-485接口在总线上只允许连接多达128个收发器,即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立设备网络。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部