RS485中的波特率是什么意思?以及是如何影响传输距离的

Posted by

这个问题要搞明白,首先得弄明白什么是RS485,参见文章:什么是RS-485?RS485详解

简单的说RS485是用两根电线来传输数据,仪表上一般标记为A、B端子。调制解调器通过同时往两根电线上输出电压,如果A的电压高于B的电压,则表示1,反之则表示0。下图可以理解为U+是A的电压,U-是B的电压,数据就是通过周期震荡来进行传输的,波特率指的就是这个震荡的速度。

例如我们常用的9600波特率,意思就是一秒可以传输9600个bit位,也就是0或者1,而8个it位组成一个byte,所有9600波特率下每秒可以传输9600/8=1200个byte,也就是1.2KB/s,那4800波特率的速率是0.6KB/s,19200波特率则为2.4KB/s。

但为了高速率为什么我们不总是选择最高的波特率呢?

一方面是传输距离,距离越长传输速率越慢。

因为比特率越高代表传输速度越快,意味数据变化的越快(电平高低切换越快),频率也因此越高。而在通信过程中的导线的电感是一定的为常数:它的电感用L0=μ0 ×L×(In2L/R-0.75)/2π

L0:圆截面直导线的电感 [H] ;

L:导线长度 [m] ;

R:导线半径 [m];

μ0 :真空导磁率,μ0=4π10-7 [H/m]

而导线的感抗等于:

XL = 2πfL ,XL 就是感抗,f 是频率,L是线圈电感(上面公式已经说明已确定导线中的电感是不变的),也就是说频率f越大,感抗XL越大,对信号的阻碍能力越强,信号消耗越大,传输距离也就越短。

另一方面则是抗干扰能力,波特率越低抗干扰能力越强,而大多数场景下485通讯的数据量是很小的,比如一些智能仪表,对带宽的要求极低,因此就不需要用这么高的波特率,而换来的是高可靠性。

2 comments

  1. 比特率是bit,不是byte。波特率和比特率也不能等同吧。

Comments are closed.