串口/RS232/RS485 简解
串口通讯,RS232,RS485的区别,原理简介。
前言
首先归一下类(借鉴网友的说法,还可深入了解):
- UART SPI IIC 这些是一类,一般只规定了高低电平的逻辑。
- RS232 RS485 RS422这些属于一类,规定了电平的电压范围,数据逻辑,但是没规定接口
- USB 1394这些属于一类 ,规定了电平、接口、逻辑以及更详细的东西
- modbus-RTU 这是单独的一类,只规定了数据逻辑,没有规定电平和接口
- can和他们不一样,类似于485+modbus。
串口通讯
- 属于全双工通讯,可以同时进行接收发送工作。
- 接线:TX发送、RX接收、GND两个单片机的参考电压。

- 在串口通讯时,首先要约定好帧格式和波特率。
①常见的帧格式:
第一位是起始位,都是以低电平开始。数据位8位由用户自定义。第十位是停止位,都是以高电平结束。
②设定波特率:
常用的波特率:9600、19200、38400、115200。
以9600为例,它表示在一秒之内,串口可以传输9600个高低电平。串口通讯采用的是TTL逻辑,输出的高电平最小为2.4V,低电平最大为0.4V。
一般会认为串口通讯的高电平是5V,低电平是0V。
如果出现一个静电,可能会使它的低电平变高。这就导致串口通讯的距离很短。
③使用场景:一般使用在一块电路板上两个芯片的通讯,或者芯片和电脑通讯,距离一般在1m之内。
RS232通讯
- 为了提高串口通讯的距离和稳定性,美国电子工业联盟制定了一个RS232标准(RS是Recommended Standard的缩写,表示推荐标准。)
- 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只能进行点对点的通讯。
总结
- 串口通讯距离1m以内,RS232通讯距离可达15m,RS485可达1200米。
- 串口和RS232全双工,RS485半双工通信。
- 串口和RS232点对点通讯,RS485可以一主多从的模式通讯。
- 信号波形区别:

参考
更多推荐

所有评论(0)