UART RS232 RS485协议原理及应用

一、URAT

UART(Universal Asynchronous Receiver/Transmitter): 通用异步收发传输器,简称串口,是设备间进行异步通信的模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式。它是一种通用的串行、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。

1.并行和串行

一次同时传送多位数据的通信方法叫做并行通信。各数据位同时传输,传输速度快、效率高,多用在实时、快速的场合。并行通信不能长距离通信,抗干扰能力差。

一般还需要一根时钟线,由时钟控制的8位数据总线,每个时钟脉冲发送一个字节。

通过一条数据线,将数据一位一位依次传输的通信方法叫做串行通信

串行通信又可以分为同步通信异步通信。同步通信在进行数据传输时会将时钟与数据全部进行传输,而异步通信不会进行时钟的传输。同步通信的效率更高,但异步通信的作用也不可忽视

 2.单工和全双工

单工:数据只在一个方向上传输,不能实现双方通信(电视、广播)

半双工:允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输(对讲机)

全双工:允许数据在两个方向上同时传输(手机通话)

3.波特率

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

以9600波特率进行串口通信,完成1K字节的数据传送,大约需要1s。

1024*8 / 9600 = 0.85s

4.UART帧格式

起始位:发送1位逻辑0(低电平),开始传输数据。
数据位:可以是5~8位的数据,先发低位,再发高位,一般常见的是8位(
校验位:奇偶校验,将数据位加上校验位,1的位数为偶数(偶校验),1的位数4为奇数(奇校验),可有可无。
停止位:停止位是数据传输结束的标志,可以是1/1.5/2位的逻辑1(高电平)
空闲位:空闲时数据线为高电平状态,代表无数据传输

5.UART缺点

电气接口不统一
UART只是对信号的时序进行了定义,而未定义接口的电气特性;UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异所以不同的处理器使用UART通信时一般不能直接相连;UART没有规定不同器件连接时连接器的标准, 所以不同器件之间通过UART通信时连接很不方便

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

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

二、RS232

RS232协议是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家、计算机终端生产厂家共同制定的用于串行通讯的标准; 该标准规定采用一个标准的连接器,标准中对连接器的每个引脚的作用加以规定,还对信号的电平加以规定。 


        

1.接口

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

2.信号

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

3.电平转换

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

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

4.RS232缺点 

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

通信速度较低

③易产生共模干扰,抗噪声干扰性弱

④传输距离较短(15m)

三、RS485

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

1.信号

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

 差分信号在PCB进行布线处理中,一般要求等间距、等长处理,保证两根线受到的干扰程度一样,即保证了电压差变化幅度小,提供抗干扰能力。

2.RS485优点

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

②通信速度快

③抗噪声干扰性强

④传输距离较远(1500m)

⑤可实现多节点组网

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

 四、三者之间关系

 UART是通用异步收发传输器,是一个要完成一个特定的功能的硬件它本身并不是协议。它将要传输的数据在串行通信并行通信之间加以转换。但是,它规定了传输时数据帧格式。

RS232/RS485是两种不同的电气协议 ,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式

RS232使用3-15v有效电平,而UART对电气特性并没有规定,直接使用CPU使用的电平(TTL电平)。电气的特性决定了线路的连接方式,比如RS232,规定用电平表示数据,线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。

但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART转换,才能完成数据在线路和UART之间的正常流动。从某种意义上说,线路上存在的仅仅是电流,RS232/RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里电流才被解释和组装成数据,并变成CPU可直接读写的形式。
 

猜你喜欢

转载自blog.csdn.net/qq_53144843/article/details/123513135