【通信传输协议】串口通信

一、串口通信概述

串口通信属于全双工通信,往往应用在两块芯片之间,非常容易实现。

 

在进行串口通信时,首先要约定好帧格式和波特率,常见的一帧串口数据如下:

 

 相应的波特率常有9600、19200、38400、115200等 ,9600波特率意味着以为着该串口每秒可以传输9600个高低电平,即9600bps(bits per second)。

串口通信采用TTL逻辑,所以高低电压范围为:高电平2.4V-5V,低电平0V-0.4V。由于这样的高低电平很容易受到干扰,所以常规串口通信的传输距离很短,一般在同一块电路板中两块芯片间通信,或芯片和电脑通信,距离在1m以内。

RS232和RS485都是串口通信的变种。

 

二、RS232

为了提高串口通信的稳定性,美国电子工业联盟指定了RS232(Recommended Standard)标准。

 

 只要在原本串口通信的基础上加一个电平转换芯片,如MAX232,它可以将TTL电平转换为RS232电平:将高电平5V转换为高电平12V,将低电平0V转换为低电平-12V,反之同理。

 

 RS232的高低电平范围很广,3V-15V都算高电平,-3~-12V都算低电平。所以RS232是通过调整高低电平的范围,使得高低电平在受到干扰时还是有很大的改变余量,增强串口通信的抗干扰能力。 RS232的通信距离可以达到15m,但是速率只有20K,即19200波特率,RS232也是全双工通信。

 

 三、RS485

RS485和RS232的实现方式非常相似,也是在常规串口通信过程中添加转换芯片,但是需要收发两端各添加一块。

 

 485转换芯片可以将输入的串口信号转换为差分信号,差分信号只需要两根线,不需要地线。

RS485对高低电平的区分可以看作:当信号A大于信号B,表示逻辑0,当信号A小于信号B时,表示逻辑1.

差分信号最大的特点就是抗干扰能力强,而且物理层面上这两根线使用双绞线的形式缠绕在一起,这样即使受到干扰也是两根线一起受到同样的干扰,电压差值基本不变。

RS485的传输距离达到1200m,频率达到50M。但RS485一般是半双工通信,这样的好处是它可以进行一主多从的组网通信。

 

 

四、总结

无论是常规串口通信,还是RS232、RS485等标准,都只定义了物理层,对编程几乎没有影响。

 

posted @ 2023-03-17 22:09  AnchorX  阅读(920)  评论(0编辑  收藏  举报