认识串口通讯以及RS232、RS485通讯
串口通讯
1. 引脚连接
2. 帧格式及波特率
在进行串口通讯时,首先要约定好帧格式及波特率。
帧格式

一帧串口数据常见的帧格式:1位起始位(低电平)+8位数据位+1位停止位(高电平)。
当然还有一些其他的帧格式,例如7位数据位或者5位数据位。
波特率
串口常用波特率:9600、19200、38400、115200。
以9600为例,波特率设为9600代表着——串口可以在1S内传输9600个高低电平。
3. 抗干扰能力
串口通讯的抗干扰能力很弱。
分析:串口通讯采用的是TTL逻辑,串口输出的低电平最大为 0.4V,输出的高电平最小为 2.4V。

而我们一般认为串口通讯的高电平为5V,低电平为0V,这就造成了它的抗干扰能力很弱。当外部突然来一个静电,很可能把某一位低电平变高。

所以一般串口通讯的距离很短,常用于一块电路板上两芯片之间或者芯片和电脑之间的通讯,距离在 1米 之内。

232通讯
1.接口
为了提高串口通讯的距离和稳定性,美国电子工业联盟制定了RS(Recommended Standard)232标准。

RS232接口常用的只有三根线(RX,TX,GND),与串口通讯保持一致,232通讯本质上也是串口通讯。
2.通讯的实现
为了实现RS232通讯,需要在串口通讯的基础上增加一个电平转换芯片MAX232。它负责将TTL电平转换为RS232电平。

值得注意的是,RS232电平采用负逻辑。即用:-3V到-15V 表示逻辑“1”,+3V到+15V 表示逻辑“0”!
当单片机给MAX232芯片发送的是 +5V(0V),则MAX232芯片输出的是 -12V(+12V)。

如果MAX232芯片收到的是 +12V(-12V)的RS232电压,那它会将 +12V(-12V)的RS232电压转换为0V(5V)的TTL电平。

3.与串口通讯的对比
对比与串口通讯,RS232只是改变了电平的大小,没有改变传输数据的本质(传输的还是串口的那些0和1数据)。

可以看到,RS232增大了高低电平的“差值”,由串口的“5V差值”增大到了“24V差值”,这样极大提高了通讯的抗干扰能力。

这样,即使某个信号受到干扰,它的高低电平还有很大的改变余量,所以它的抗干扰能力增强了很多!

此外,对比与串口通讯,RS232的通讯距离也变得更长,可达15m,但速率只有20K,也就是19200的波特率。

485通讯
面对更为严苛的工业环境以及更远的传输距离,RS232则显得力不从心,因此人们又制定了RS485标准!
1.通讯的实现
在串口通讯的基础上,增加了电平转换芯片MAX485,以实现RS485通讯。

MAX485电平转换芯片负责将输入的串口信号转换成差分信号,或者将差分信号转换成单片机可以识别的TTL信号。

2.逻辑表示
RS485使用差分信号来传输数据,通常有两条信号线,逻辑0和逻辑1是用两根信号线(A+和B-)的电压差来表示。
逻辑1:A线的电压高于B线的电压,且 A+和B- 的电压差在 +2V~+6V 之间。
逻辑0:A线的电压低于B线的电压,且 A+和B- 的电压差在 -2V~-6V 之间。
电压水平示例
逻辑1:
A线电压:例如,+3V
B线电压:例如,0V
电压差:+3V - 0V = +3V (逻辑1)
逻辑0:
A线电压:例如,0V
B线电压:例如,+3V
电压差:0V - +3V = -3V (逻辑0)
3.与232的对比
485采用差分信号来传输数据,而差分信号的抗干扰能力显著,因此RS485通讯可以以更高的频率传输更远的距离。

此外,RS485一般是半双工通信,也就是在同一时间它要么在发送数据,要么在接收数据,不能同时进行数据的收发。这样带来的好处就是RS485可以进行一主多从的组网通讯。而串口通讯和RS232通讯只能进行点对点的简单通讯。
总结

无论是232还是485,它们只定义了物理层,规定了电平标准,对编程几乎没有影响,只需要掌握串口通讯便可以快速进行RS232和RS485通讯。
参考
哔哩哔哩博主:爱上半导体
5分钟看懂!串口RS232 RS485最本质的区别




被折叠的 条评论
为什么被折叠?



