串口(UART/USART)通信原理-电气特性

        前面说过串口通信的原理,接下来谈谈UART通信几个具体方式。

        在此之前,先提几个概念,双工和单工,全双工和半双工。很好理解,单工指一方只能作发送或接收,不能既作发送端也作接收端。双工指既能作发送端,也能作接收端。全双工指在同一时刻既能发送且能接收。半双工指可以收发,但不能同时收发。

        前面说过用高低电平表示数据0/1,实际上并不准确,因为并不是简单的单一电平,根据电平的差别,UART存在以下几种标准应用。

RS232

  1. 使用两根线,一根线发送,一根线接收,全双工通信
  2. 通过各自线缆电平实现通信
  3. 规定逻辑1电平-5V~-15 V,逻辑0电平+5 V~+15 V

RS422

  1. 使用四根线,两根线发送,两根线接收,全双工通信
  2. 收发线分别靠检测两根线缆电压差实现通信
  3. 规定逻辑1电平+2V~+6 V,逻辑0电平-2 V~-6 V

RS485

  1. 使用两根根线,两根线发送,两根线接收,半双工通信
  2. 收发靠检测两根线缆电压差实现通信
  3. 规定逻辑1电平+2V~+6 V,逻辑0电平-2 V~-6 V

        以上的标准确立时间是有先后顺序的,首先是RS232,那么为什么有了RS232后还要搞出RS422呢?

        首先,RS232是使用单根线进行数据传输的,逻辑信号完全靠单根线的电平去判断,但我们知道导线都是有电阻的,距离越长,压降越厉害,最后就可能导致电压达不到标准范围。虽然设计时已经给了一个很宽的电压范围了,但即便如此,传输距离一般也只有十几米。因为受干扰严重,过快的通信速率极易引起误识别,所以一般通信速率不高。除此以外,过高的电压在与其它器件配合时也会带来风险。

        基于上述缺点,RS422出现了,使用差分线电压来进行逻辑判断,这样距离拉长,两根线压降一致,压差不变,电压仍处于标准内,这就使得传输距离可以大大延长,可以达到10km之远。与此对应的,由于抗干扰能力增强,通信速度也有一定的提升。且差分电压标准下降,与TTL电平相差不大,也更安全。

        那么既然RS422这么好,又为什么会出现RS485呢。因为RS422有个很明显的缺点,那就是线太多。UART通信发送端TXD和接收端RXD需要互联才可以通信,RS232还好,只有两根线交叉一下就好,即便不知道线序,试两次也就可以了。但RS422有4根线,要想正确接线可得费点时间。除此以外,作为一个总线,RS422实在是太不方便扩容了,基本只用于点对点的通信。

        所以RS485出现了,它仅仅是将RS422的4线改成了2线,其它电平标准之类的都一样。因此,在通信距离和传输速度上与RS422基本一致。由于只有2线且使用差分电平,注定了RS485无法实现全双工的通信,但优点在于更加方便扩容了,多设备之间可以将各自485A,485B相连即可,不再需要交叉。

        虽然出现顺序有先后,但并不是后者完全取代前者的过程,它们各自在特定的场合下仍有最好的表现,所以具体用什么还得看需求了。

你可能感兴趣的:(串口通信,信息与通信)