通信协议UART和电气协议RS485\RS232原理及应用

目录

一、UART简介:

UART:

通信基础:并行和串行

通信基础:单工和双工

通信基础:波特率

UART帧格式:

UART硬件连接:

UART控制器:

二、RS485和RS232

UART存在的问题:

RS232协议:

接口:

信号:

电平转换:

RS232存在的问题:

RS485协议:

​信号:

接口:

电平转换:

RS485的优势:


一、UART简介:

UART:

        Universal Asynchronous Receiver Transmitter即通用异步收发器,是一种通用的串行、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接受,在嵌入式系统中常用于主机与辅助设备之间的通信

通信基础:并行和串行

(1)并行通信:比如一个char类型0x55,二进制为01010101,他们的二进制同时进行传输。

(2)串行通信:数据一位一位的传过去

两者比较

        (1)并行通信速度快,使用总线条数多,浪费资源,不同总线在进行数据传输的时候,线与线之间会有信号干扰。真正工程做项目都是用的串行总线,比如串口、IIC、SPI。

 通信基础:单工和双工

(1)单工通信:只能发送方向接收方发送数据,数据传送方向是单向的。

(2)双工通信:包含半双工和全双工,A和B之间可以互相发送和接收数据,但是半双工不同同时发送和接收。

一般看总线的条数来判断半双工还是全双工。只有一根数据线一般为半双工,比如IIC。

 通信基础:波特率

        波特率用于描述UART通信时的通信速度,其单位是bps(bit per second)即每秒传送的bit(二进制位)的数量。

UART帧格式:

        空闲位必须是高电平,起始位必须是低电平,数据位一般是5-8位,并且先发二进制的低位,再发二进制的高位。

        校验位分为奇校验和偶校验,如果为偶校验,发送方会计算数据位中的高电平1是否为偶数个,若为偶数个,则校验位为1;接收方也设置为偶校验,会计算接收到的所有数据位中高电平1是否为偶数个,若是则校验位为1,若不是会通知发送方重新发送。停止位为1位、1.5位或者2位。

        若发送10位,则先发送八位,然后发送停止位,之后再发送两位。

        在发送二进制数据01和0011时,都是先低电平再高电平,但是怎么区分发了几个0和几个1呢,这是就需要波特率起作用,假设波特率为1bps,则掐时间,经过1秒发送一个二进制,比如在低电平持续了两秒,则发送了两个0。

        由于串口通信的发送方和接收方时间基准不一样(比如发送方以自己的时间基准发送1位是1秒,但是接收方以自己的时间基准是0.9秒),所以串口通信不允许连续发送,每次最多发送一个字节,即8位,是因为要防止累积误差的出现。然后第二个字符就重新开始掐时间,以前的累积误差就会消除,因为发8位的累积时间误差较小,所以发送的数据基本无误差。此时就是异步通信的概念,发送方和接收方使用的是不同的时钟基准。

        SPI和IIC都是同步通信,发送方和接收方使用的是同一个时钟基准,这样不会出现累计误差,比如IIC可以发送任意多个字节。

UART硬件连接

TXD用于发送数据,RXD用于接收数据。

UART控制器

在芯片内部一般都有串口的控制器,本质就是硬件电路,里面包含发送器和接收器。真正使用串口只需要设置一些寄存器,比如波特率,数据位,停止位,奇偶校验位。而uart的帧格式是由控制器完成。

二、RS485和RS232

这两种协议只是物理层或者电气层的协议。依赖于串口,编程时还是用的UART,只是在电气层面做了一些处理,这样可以让他抗干扰能力更强,传输距离更远,提升传输速度。

 UART存在的问题:

(1)电气接口不统一

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

        UART通信时一般直接使用处理器(CPU)使用的电平,即TTL电平(3.3V和5V),但不同的处理器使用的电平存在差异,所以不同的处理器使用UART通信时一般不能直接相连;(比如51单片机的高低电平是5V和0V,stm32单片机的高低电平是3.3V和0V,两个处理器不能直接相连)。

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

(2)抗干扰能力差

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

(3)通信距离极短

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

RS232协议:

        RS232协议是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家、计算机终端生产厂家共同制定的用于串行通讯的标准

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

接口:

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

信号:

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

 电平转换:

        一般使用max232芯片 ,使TTL电平和232信号相互转换。

RS232存在的问题:

(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接

(2)通信速度较低

(3)易产生共模干扰,抗噪声干扰性弱

(4)传输距离较短(15m) 

RS485协议:

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

信号:

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

RS232开始输出的是15V,随着传输距离增加输出电压可能衰减,导致协议错乱。而RS485 信号两根线受到同样的干扰(因为两根线用的是双绞线),两根线之间的差值依然不变,抗干扰能力强。

接口:

        RS485采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点

        因为采用两线制,数据的发送和接收都要使用这对差分信号线,发送和接收不能同时进行,所以只能采用半双工的方式工作(串口和232是全双工的),编程时也需要加以处理。 

电平转换:

RS485的优势:

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

(2)通信速度快

(3)抗噪声干扰性强

(4)输出距离较远(1500m)

(5)可实现多节点组网

  • 12
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UART是通用异步收发器的缩写,它是一种常用的串口通信接口,用于连接计算机和外部设备之间的数据传输。 RS232是一种常用的串行数据传输标准,主要用于连接计算机和外部设备之间的数据传输。 RS485和RS422是两种工业标准的串行数据传输接口,它们都支持多点通信,并且在长距离、高速传输和抗干扰性方面有着很好的性能。 ### 回答2: UART,全称为Universal Asynchronous Receiver/Transmitter,是一种串行通信接口协议UART接口具有简单、易于实现、低成本等优点,常被用来连接单片机、传感器、触摸屏等设备。 RS232、RS485、RS422是串行通信接口的标准,分别适用于不同的应用场合。其中,RS232是最常见的串行通信标准,通常用于连接计算机与外设(如路由器、调制解调器等)之间进行通信。RS485和RS422则适用于长距离、高速率和高噪音环境下的数据传输,常应用于工业控制、自动化仪表、安防设备等领域。 在实际应用中,UART接口通常和RS232、RS485、RS422串行通信协议结合使用。例如在工业控制领域,常见的串口通信方式就是使用RS485或RS422连接控制器和其他设备,使用UART接口与微处理器进行数据通信。 此外,UARTRS232、RS485、RS422等串行通信协议通信速率、数据位、校验位、停止位等参数上也有不同的设置。因此,在进行串口通信时,需要确保通信双方的参数设置一致,以保证通信的准确性和稳定性。 ### 回答3: UARTRS232、RS485和RS422都是串行通信协议,用来实现数据传输。其中UART是通用异步收发传输器(Universal Asynchronous Receiver-Transmitter)的缩写,常用于微控制器与其他设备之间的通信。而RS232、RS485和RS422则是标准串行接口协议,常用于远距离通信和工业自动化领域。 RS232是一种单向通信方式,使用异步串行通信方式进行数据传输,最多可以传输50英尺(15米)的距离。它采用单个发送端和接收端连接,速率通常为9600、19200、38400和115200 bps等。在许多应用中,RS232被广泛用于连接计算机、调制解调器、打印机,以及其他一些串行通信设备。 RS485是一种多点通信方式,允许多个设备在同一总线上进行通信。它是半双工的,可以双向发送和接收数据。与RS232相比,RS485可以传输更远的距离,最多可达4000英尺(1200米)。它的传输速率可以从300 bps到10 Mbps,常用于工业控制、自动化、监控等领域。 RS422也是一种多点通信方式,与RS485相似,可以在同一总线上连接多个设备。它是全双工通信,即可以同时发送和接收数据。与RS485相比,RS422可以实现高速数据传输,但距离更短,最多可达1200米。RS422通常用于数字音频和视频设备、电力传输、船舶和机场等场合。 总之,UARTRS232、RS485和RS422都是串行通信协议,它们各自有着不同的应用场景和特性。选择合适的通信协议取决于需求及实际应用情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值