本文所说的串口,是指RS-232和RS-485串行口,不是硬盘SATA串口,也不是通用串口总线USB。RS-485是对RS-232进行了节点和间隔的改善后构成的规范:RS-485将只能够进行1对1通讯的RS-232改善到了可接128个节点,间隔从RS-232的15米改善到1200米。鄙人一代RS-485总线的概念下,波仕卡科技将本来用于延伸RS-485通讯间隔并且进步负载才能的中继器与用于信号转化的RS-232/RS-485转化器进行绑定,推出RS-232/RS-485中继转化器,一起对RS-485信号的流向进行收拾,使得用户在运用时感觉便是一个RS-232与RS-485的转化器。这种思维体现在最新的《一种带中继功用的串口转化器》专利文献中(CN201420502117)。关于波仕卡科技而言,下一代RS-485总线的改变便是要不受最远间隔和节点数的约束,下一代RS-232/RS-485中继转化器包含无源型的 485A2以及功用愈加通用的有源型485A2+。在这个思路中,波仕卡科技的RS-232/RS-485中继转化器打破了传统RS-485总线的节点数和间隔的约束。每接一个RS-232/RS-485中继转化器,RS-485信号都得到了中继增强,所以这种RS-485总线不再受一条RS-485总线最远1200米的约束,而是当接N个转化器时就能够到达1200米的N倍间隔,N是否不受约束本文将评论N的理论极限。假定传统的RS-485总线有接负载个数的约束为128个,便是同一条RS-485总线中最多挂128个RS-485口。那么运用N个新式的485A2或 485A2+型RS-232/RS-485中继转化器构成的RS-485总线中,由于接入的转化器将RS-485总线分隔为了N段(每一段之间相当于有一个中继器),所以当接N个转化器时就能够到达128×N倍的负载个数,N是否受负载数约束本文也将评论。
1、打破RS-485节点和间隔极限的布线方法
RS-232/RS-485中继转化器有一个DB-9孔的RS-232口和2个带接线端子的RS-485。DB-9孔端用于接RS-232口、DB-9 针端经过接线端子板接RS-485口。485A2的接线端子板上有5个接线端子(A1、B1、GND、B2、A2) ,为两个RS-485口,共用GND地线。A1、B1与A2、B2是功用彻底相同的,不分方向。 两个RS-485口具有彼此中继的功用。
图1
485A2使用的RS-485多机通讯的典型接线图以及485A2+产品图,假如串口设备只需RS-485口则能够配接485A2+。若每一段RS-485的间隔为1200米和128个,则整个RS-485体系的间隔到达(N×1200米)、节点数到达(N×128)。能够看出,运用了485A2的RS-485总线布线极端简练。最远两头能够用485A,也能够用485A2。留意整个RS- 485体系共用GND线。
2、RS-485多机通讯节点数的极限
假定RS-485通讯的地址编码为8位,那么最多的节点数便是2^8=256;假定RS-485通讯的地址编码为10位,那么最多的节点数便是2^10=1024。10位现已多到很少用到。这个总线中的RS-485节点数的极限彻底取决于通讯软件 ,与总线中所接的RS-485中继转化器个数没有关系。实际上,由于受RS-485接口芯片功用的约束,每一段RS-485现在最多接128个节点,所以要到达256个的极限就得至少接一个485A2中继转化器,要到达1024极限就要至少8个485A2中继转化器。
3、彻底失利的RS-485通讯间隔的理论极限
假定波特率为9600bps,便是每秒9600位。每个数据有1个开始位、8个数据位、1个校验位、1个中止位,总共11位。也便是传输一个数据 (1byte)的时间是11/9600=0.001145s。在这个时间内电磁波的传输间隔(也便是光速为299792458m/s )为343512米,即343.5千米。
假如电信号的电磁波延时到达0.001145s(大约1.25ms),那么就会延时到错位一个数据,这样就无法正常通讯。怎样了解?在某一时间主机以9600bps一起向一切从机发送一组信号(比方ABCD),从机都当即呼应答复数据,留意在 9600bps下没传一个数据的时间差为1.25ms,也便是发A比发B早1.25ms,发B比发C早1.25ms……。那么主机收到的最远的节点的答复 A的数据与1.25ms后最近的节点答复B的数据堆叠,这样就无法通讯。
也便是RS-485的理论传输的最远间隔在9600bps时只需大约343512米。假定每1200米进行一次中继,343512/1200=286,也便是说要到达RS-485的理论极限,需求至少286次中继延伸。
4、无误码的RS-485通讯间隔的理论极限
并非只需当整个11位数据彻底堆叠时才无法通讯,实际上只需有1位错位存在误码就欠好。尽管有时候软件有必定纠错功用,容许存在必定程度的误码情况下也能够传输数据,可是咱们仍是要弄清楚无误码的极限。
假定波特率为9600bps,便是每秒9600位。也便是传输一位(1bite)的时间是1/9600=0.000104s。在这个时间内电磁波的传输间隔(也便是光速为299792458m/s )为31228米。假如电信号的电磁波延时到达0.000104s(大约0.1ms),那么就会延时到错位一个数据位,这样就会呈现误码。怎样了解?在某一时间主机收到的最远的节点的数据会与大约0.1ms前最近的节点发送的数据堆叠一位,这样就有误码了。也便是RS-485的无误码通讯的理论最远间隔在 9600bps时只需大约31KM。假定每1200米进行一次中继,31228/1200=26.02,也便是说要到达RS-485的理论极限,需求至少 26次中继延伸。
以上能够看出,RS-485通讯间隔的理论极限与波特率成反比,波特率越高极限间隔越短。当波特率为 115200bps时(=12×9600),无误码传输的理论极限间隔为31228/12=2602米。只需大约2.6km!这也难怪RS-485的长途通讯只说9600时传输多远,简直不提115200bps。
5、其它介质和其它总线的理论极限
以上的RS-485间隔极限343512米以及31228米(9600bps)与传输介质无关,便是说用光纤传输RS-485最远也是这么多,无线也是相同。 以上的无误码RS-485间隔极限31228米(9600bps)与协议无关,便是说用CAN、PROFIBIUS最远也是这么多,原理是相同的。以上的通讯彻底失利的RS-485间隔极限343512米(9600bps)与数据位数有关,并且成正比例,便是说用CAN2.0(29位)比 CAN1.0(11位)的极限愈加大,大一倍以上。
到这儿,我们必定会惊奇RS-485通讯间隔极限之短。互联网、手机、GPS是怎么传输简直无限远间隔的呢?互联网和手机通讯简直无法实时,而GPS对延时的核算及其准确。今后将别的专文评论。