前言

首先归一下类(借鉴网友的说法,还可深入了解):

  1. UART SPI IIC 这些是一类,一般只规定了高低电平的逻辑。
  2. RS232 RS485 RS422这些属于一类,规定了电平的电压范围,数据逻辑,但是没规定接口
  3. USB 1394这些属于一类 ,规定了电平、接口、逻辑以及更详细的东西
  4. modbus-RTU 这是单独的一类,只规定了数据逻辑,没有规定电平和接口
  5. can和他们不一样,类似于485+modbus。

串口通讯

  1. 属于全双工通讯,可以同时进行接收发送工作。
  2. 接线:TX发送、RX接收、GND两个单片机的参考电压。
    在这里插入图片描述
  3. 在串口通讯时,首先要约定好帧格式波特率
    ①常见的帧格式:
    在这里插入图片描述
    第一位是起始位,都是以低电平开始。数据位8位由用户自定义。第十位是停止位,都是以高电平结束。
    ②设定波特率:
    常用的波特率:9600、19200、38400、115200。
    以9600为例,它表示在一秒之内,串口可以传输9600个高低电平。串口通讯采用的是TTL逻辑,输出的高电平最小为2.4V,低电平最大为0.4V。
    在这里插入图片描述
    一般会认为串口通讯的高电平是5V,低电平是0V。
    如果出现一个静电,可能会使它的低电平变高。这就导致串口通讯的距离很短。
    在这里插入图片描述
    ③使用场景:一般使用在一块电路板上两个芯片的通讯,或者芯片和电脑通讯,距离一般在1m之内。

RS232通讯

  1. 为了提高串口通讯的距离和稳定性,美国电子工业联盟制定了一个RS232标准(RS是Recommended Standard的缩写,表示推荐标准。)
  2. RS232是全双工通讯。
    在这里插入图片描述
    一般只使用RX、TX、GND这三根线。
    在这里插入图片描述

单片机如何进行RS232通讯?

只需要在原来的基础上加一个电平转换芯片,例如MAX232,这样就可以将TTL电平转换为RS232电平。
在这里插入图片描述
如果单片机给的电压是5V,则它输出-12V,如果给它发送0V,则它输出12V。(RS232用负电压代表逻辑1,正电压代表逻辑0。
在这里插入图片描述
RS232的电平范围比较广,电压3-15V之间被认为是逻辑0,-3至-15V被认为是逻辑1。
在这里插入图片描述
相比串口而言,RS232只是改变了大小,传输的还是之前的0或者1的数据。
在这里插入图片描述
高低电平相差了近20V,即使某一个信号受到干扰,它的高低电平还有很大的改变余量。所以它的抗干扰能力增强。它的传输距离也会很长,通讯距离可达15m,速率只有20K,也就是19200的波特率。
在这里插入图片描述

RS485通讯

RS485是在串口通讯的基础上加了485电平转换芯片
在这里插入图片描述
485转换芯片可以将输入的串口信号转化成差分信号
在这里插入图片描述
差分信号只需要两根线,不需要地线。当信号A>信号B时候,代表逻辑0,信号A<信号B的时候,代表逻辑1。
在这里插入图片描述
485转换芯片可以将TTL信号转化成差分信号,也可以将差分信号转化成TTL信号。
差分信号最大的优势就是抗干扰能力强,因为它用的是两根信号线的差值来表示逻辑0和逻辑1,而且它的两根线采用双绞线的形式缠绕在一起。即使收到干扰也是两根线同时受到干扰,电压差值也基本上会保持不变。
在这里插入图片描述
因此RS485能传输更远的距离,可达1200米,传输频率更高,可达50M。

RS485一般是半双工通讯,在同一时间,要么在发送数据,要么在接收数据,不能同时进行。
这样的好处是他可以进行一主多从的组网通讯。而串口通讯和RS232只能进行点对点的通讯。
在这里插入图片描述

总结

  1. 串口通讯距离1m以内,RS232通讯距离可达15m,RS485可达1200米。
  2. 串口和RS232全双工,RS485半双工通信。
  3. 串口和RS232点对点通讯,RS485可以一主多从的模式通讯。
  4. 信号波形区别:
    在这里插入图片描述

参考

5分钟看懂!串口RS232 RS485最本质的区别!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐