RS232RS485都是串口通信的变种!

串口

通信模式:串行异步全双工

起始位:由一个逻辑0(低电平)的数据位表示

停止位:由一个逻辑1(高电平)的数据位表示

空闲状态电平:TXRX都是高电平(TXRX上没有任何数据传输时为空闲状态)

波特率:可以认为是比特率,即每秒传输的位数(bit)

如:9600波特率表示每秒传输9600个符号(即每秒传输9600个高低电平),如果每个符号携带1个比特信息,则比特率9600bit/s;如果每个符号携带2个比特信息,则比特率19200bit/s

注:波特率与比特率的区别:

波特率与比特率(Bit Rate)是两个容易混淆的概念:

  • 波特率‌:表示单位时间内传输的符号(码元)数量,单位为波特(Baud)。
  • 比特率‌:表示单位时间内传输的二进制位数,单位为比特每秒(bit/s)。

两者的关系为:‌比特率 = 波特率 × 单个符号对应的二进制位数‌。例如,如果每个符号携带2个比特信息,则比特率是波特率的两倍。

逻辑电平:采用TTL逻辑,其输出的高电平最小为2.4V(2.4 ~ 5V),输出的低电平最大为0.4V(0 ~ 0.4V),一般认为串口通信高电平为5V,低电平为0V

缺陷:由于电平逻辑导致其抗干扰能力弱(有静电时可能会导致低电平变为高电平,致使数据出错);因此通信距离很短(一般为一块电路板上两块芯片间的通信、芯片与电脑通信;距离在1米以内)

UART

1
UART: Universal Asynchronous Receiver/Transmitter 通用异步收发器

UART是一种通用的异步串行通信协议,它使用起始位、数据位、校验位和停止位来传输数据。

UART通信中,数据的传输是通过固定的波特率进行的,发送和接收端需要事先约定好波特率、数据位、校验位和停止位等参数。

USART

1
USART: Universal Synchronous/Asynchronous Receiver/Transmitter 通用同步/异步串行收发器

USART是一种更为复杂的串行通信协议,它同时支持同步和异步的数据传输方式(通用同步/异步串行收发器)

UART不同的是,USART可以选择同步或者异步模式进行通信,并且提供了更多的控制选项,比如硬件流控制、双向通信等。

USART通常用于对数据传输速度要求较高、需要双向通信或者需要更灵活控制的场景。

RS232

背景:为了提高串口通信的距离与稳定性,美国电子工业联盟制定了RS232标准。

那么如何使用RS232进行通信呢?

只需在串口通信的基础上加一个电平转换芯片,如:MAX232,如此便可将TTL转为RS232电平。

逻辑电平:使用芯片时:如单片机输出给芯片的是5V,则芯片会输出-12V;如单片机输出给芯片的是0V,则芯片会输出+12V(反之亦然)

注:‌RS232的电平逻辑与TTL不同,RS232采用的是负逻辑。

RS232标准中,-15V-3V表示逻辑“1”+3V+15V表示逻辑“0”‌

这种电平逻辑的设定是为了提高抗干扰能力

区别:RS232只改变了电平大小,传输的数据不会被改变。

通信距离可达15米,但传输频率最高只能为2M(即波特率最高为:19200bps

RS485

区别:RS485通信是在串口通信基础上加了一个电平转换芯片,该芯片可将串口信号转为差分信号(反之亦可)

差分信号:只需要2根线,无需地线;如:信号A大于信号B时代表逻辑1,那么反之就是逻辑0。

差分信号优势:抗干扰能力强(因为它用两根信号线的差值来代表逻辑0与逻辑1,且两根信号线采用双绞线的方式缠在一起,如果有外界干扰,会使两根信号线的电平一同变化,那么二者之间的差值基本保持不变);传输距离远(可达1200米);传输频率高(可达50M

参考文章

CSDN - UART与USART

腾讯云开发者社区 - MCU常见通信总线串讲(一) UART和USART

B站视频 爱上半导体 - 5分钟看懂!串口RS232 RS485最本质的区别!