通过波特率转换实现串口高速远距离传输
本文的方案可以使RS-485或RS-232以115200bps高速传输1200米。有兴趣的TX请看下去,无兴趣的TX就不用浪费时间了。一般人知道要延长RS-232的距离可以将其转换为RS-485,RS-485可以在9600bps波特率时传输最远1200米。但是增加波特率后传输距离大大减小。最远传输距离大致与波特率成反比,就是说115200时最远100米。如何在高于9600bps波特率时实现高速远程传输,比如要在115200bps时传输1200米。现在要介绍如何用波仕电子的波特率转换器来实现RS-232/RS-485的高速远程传输。
波仕BTL232串口波特率转换器的外形为DB-9/DB-9转接盒大小,如图的产品左边为DB-9孔的1号RS-232口,左下面为A1、B1的1号RS-485口;右边为DB-9针的2号RS-232口,右下面为A2、B2的2号RS-485口。产品上边为波特率设置的跳线,左边的J2、J1、J0用于设置左边1号RS-232和RS-485串口的波特率;右边的K2、K1、K0用于设置右边2号RS-232和RS-485串口的波特率。
如图所示实现了波特率115200bps的RS-232信号远传1200米的方案。左边的RS-232(1)的波特率为115200bps,右边的RS-232(2)也是115200bps,中间以9600bps传输1200米。左边的BTL232转换器的RS-232(1)口接串口设备,波特率设置为115200(J2=1、J1=1、J0=1),RS-485(2)接1200米的线,并且将波特率设置为9600bps(K2=0,K1=1,K0=1)。右边的BTL232转换器的RS-232(2)口接串口设备,波特率设置为115200(J2=1,J1=1,J0=1),RS-485(1)接1200米的线,并且将波特率设置为9600bps(K2=0,K1=1,K0=1)。这套方案不仅实现了115200---9600----115200的波特率转换,而且还实现了RS232----RS485------RS232的接口转换,因为只有RS485才可以在9600bps时远传1200米,而RS232不行。 等于没说,实际传输速率还是9600 也感觉还是9600啊! 波特率虽然高,但是软件需要限制字节发送率,否则9600会通道堵塞.软件成本上升. 没有看点,还是9600而已,要是那个SB真的以115200发大量数据就悲哀了 这个算脱裤子放屁吗? 好威武啊,能卖掉吗? 对很多一问一答的通迅协议真的可以用!只要那个转换器缓存够大,快速收下来慢慢转发就行了。软件看起来会以为对方应答很慢而已 这传的时候不还是9600{:sweat:} redroof 发表于 2014-10-11 21:59
对很多一问一答的通迅协议真的可以用!只要那个转换器缓存够大,快速收下来慢慢转发就行了。软件看起来会以 ...
正解。缓存大概1K。 加个中继器是不是更好。超远距离转成以太网走光纤吧! 我是专程来呵呵的 看了半天,没弄明白干嘛用的。两边都232,要传1200米。直接两边用232--485转接头就好了啊。难道两边的串口固定波特率115200,不让调低???
既然中间还是9600传,直接两边232设置成9600,两边232--485的转接头就好了。 mcu_lover 发表于 2014-10-11 22:11
看了半天,没弄明白干嘛用的。两边都232,要传1200米。直接两边用232--485转接头就好了啊。难道两边的串口 ...
确实如此:有一些串口设备固定为高波特率,特别是进口设备。否则就不会有波特率转换器这种产品了。 高速远距离传输不要用串口,降波特率是咋想的,要多2的人才会买 学习了,, 即使接特殊的设备,也不用这样吧,都要加缓冲了,还不如直接转成网络了 linread 发表于 2014-10-11 22:14
高速远距离传输不要用串口,降波特率是咋想的,要多2的人才会买
不2哦!
比如你坐在家里给1000公里外的plc通过串口下载程序,这时候你肯定想要个能传1000公里的高速串口^_^
呵呵,我们就有 卖东西的真会耍花招赚钱。 albert.hu 发表于 2014-10-11 22:41
即使接特殊的设备,也不用这样吧,都要加缓冲了,还不如直接转成网络了
没错,转网络也行。
不过估计转485更便宜,至少485线比网线便宜多了 mcu_lover 发表于 2014-10-11 22:11
看了半天,没弄明白干嘛用的。两边都232,要传1200米。直接两边用232--485转接头就好了啊。难道两边的串口 ...
有一边的程序你没源码没法改,或者干脆就不准你动这个设备,怎么办? 强,中间用120bps还能传更远,然后继续宣传115200的比特率,这样可以吓死很多人 dellric 发表于 2014-10-11 23:27
强,中间用120bps还能传更远,然后继续宣传115200的比特率,这样可以吓死很多人 ...
波特率转换器两边的波特率尽量不要相差太大,尽量避免数据堵塞。 由于客户的奇怪需求,有时候不得不做出这样恶心的东西{:dizzy:} 亲,知道木桶原理么 那么远直接can总线得了 redroof 发表于 2014-10-11 22:49
没错,转网络也行。
不过估计转485更便宜,至少485线比网线便宜多了
转wifi最便宜 还不用布线 lovecxm 发表于 2014-10-12 15:09
那么远直接can总线得了
100Kbbps的CAN也传不了1200米! 1431897797 发表于 2014-10-12 15:25
100Kbbps的CAN也传不了1200米!
50k的can就够传1200米了,比9k6的485要快不少 确实不是很实用 各种奇特的需求,涨姿势了 特殊场合的应用 如果你正在用ADSL上网看本帖,就相信楼主方案的实用性了!电话线本来是用来传音频信号的,带宽只有3K,现在却传输者2M带宽的ADSL信号。 自古二楼出真相呀 仍然是9600,,,,, 就是个fifo 有意思吗?传输的速率还是9600 转成网络是比较好的解决方案。 改变波特率实现串口通信是非常实用的技术:比如几乎所有无线串口通信(指无线电台、对讲机之类,不是GRPS)无论是多高波特率通信,其空中信号的波特率为1200hz音频,原理同本文。还有:串口电力载波通信原理也是如此。
楼主这不是中继器的意思吗?话说这就是转接器,数据传输也不能做到实时的,要来回转换2次。
页:
[1]