打印
[MCU]

RS232主从多机通信的实现

[复制链接]
13046|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大家都知道,RS232协议是点对点的通信协议,但在一些特殊的应用中,如一主对多从机的通信,当然可以使用RS485协议,但系统就会变得相对复杂些,能否用RS232实现多机通信呢?本人经过具体项目实施验证,答案是肯定的。下面就此应用总结一下,以供大家参考和验证。
硬件连接图如下:
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg
软件上,协议上给每个从机设定一个ID,当主机向从机发数据帧时,所有从机都可以收到,根据ID是否与自已的一致决定是否对接收的数据进行处理。同理,任何一从机向主机回传数据也是根据接收到的ID进行相应的处理。是不是很简单?呵呵……当然这个方案有一个小小的限制,就是同一时间不可以有两个及以上的从机向主机回传数据。
至于为什么从向主要加个二极管,而主向从不用,请查看下RS232的逻辑电平定义就马上懂了,主要原理是利用了二极管的单向导通性,以避免非工作从机电平影响工作从机的电平。
兄弟们要遇到像这样的应用需要,不妨一起验证一下。
有漏洞的地方欢迎交流、指正!最后祝兄弟们工作顺利!

MS.jpg (45.35 KB )

MS.jpg

相关帖子

沙发
ayb_ice| | 2013-8-15 11:39 | 只看该作者
没有人说不可以吧

使用特权

评论回复
板凳
lanchong1980| | 2013-8-15 11:44 | 只看该作者
zhichi xia

使用特权

评论回复
地板
joyme| | 2013-8-15 13:43 | 只看该作者
我也在用1主10从,很正常的用法,没什么不可以的

使用特权

评论回复
5
技美电子|  楼主 | 2013-9-9 18:28 | 只看该作者
好!

使用特权

评论回复
6
dqyubsh1| | 2013-9-9 19:46 | 只看该作者
只要能确保不会有两个及多个从设备同时发送数据就可以实现互连。

使用特权

评论回复
7
杨爱林林| | 2013-9-10 12:14 | 只看该作者
不同时收发就好了啊

使用特权

评论回复
8
413163297| | 2013-11-5 11:17 | 只看该作者
我也这么用的,可是一个从机的时候通讯正常,接上第二个从机之后通讯第二个从机通讯正常,可是第一个从机貌似有时候收到主机的信息很慢,因为我的调试程序是主机发送地址号,从机收到判断是否是自己的地址号是的话回传地址号,两个从机都接上的话,第一个从机有时候主机要发好几遍地址号它才回传一个,这是怎么回事啊?

使用特权

评论回复
9
技美电子|  楼主 | 2014-1-18 15:35 | 只看该作者
413163297 发表于 2013-11-5 11:17
我也这么用的,可是一个从机的时候通讯正常,接上第二个从机之后通讯第二个从机通讯正常,可是第一个从机貌 ...

会不会是从机地址重复了。:)

使用特权

评论回复
10
原野牧歌| | 2014-1-27 23:30 | 只看该作者
类似I2C的地址号的,协议自定义……

使用特权

评论回复
11
andy_mqy| | 2014-1-28 10:37 | 只看该作者
楼主能否解释一下从设备配置二极管

使用特权

评论回复
12
萍水e相逢| | 2014-3-31 22:25 | 只看该作者
有 主从连接模块

E232H4 4路RS-232高速隔离集线转换器

▶ 实现一个串口设备与4个串口设备主从式通信
▶ 专用工业导轨槽模块
▶ 两端信号保持光电隔离;
▶ 全面容错机制,一路从节点损坏不影响其他节点通信

使用特权

评论回复
13
古董| | 2014-12-1 21:51 | 只看该作者
做个记号

使用特权

评论回复
14
啦啦啦007| | 2015-8-2 16:33 | 只看该作者
请问这样的结构可以支持多少个从机啊?我想用stm32实现1个主机12个从机(从机想用stm8),看了很多帖子说法不一,不知道能不能支持这么都从机~~~~第二问题是您都是自己写通信协议的吗?stm32自带的库函数好像一帧最多9个数据位(本来想如果是10位就可以用前面两位来做地址位的)~~~~第三个问题:这个通讯一般速度可以达到多快啊?~~~菜鸟求教,灰常感谢!

使用特权

评论回复
15
panamatw| | 2015-8-3 09:07 | 只看该作者
謝謝

使用特权

评论回复
16
核桃炸炸炸| | 2017-1-3 18:53 | 只看该作者
joyme 发表于 2013-8-15 13:43
我也在用1主10从,很正常的用法,没什么不可以的

请问下,我想用RS232串口来与多个TTL的从机进行通讯,单个和两个都已经成功了,能在PC发送和接受到数据;每个都已设地址,但接到第3个的时候就不能通讯了,求指教! 谢谢

使用特权

评论回复
17
核桃炸炸炸| | 2017-1-3 18:54 | 只看该作者
杨爱林林 发表于 2013-9-10 12:14
不同时收发就好了啊

请问下,我想用RS232串口来与多个TTL的从机进行通讯,单个和两个都已经成功了,能在PC发送和接受到数据;每个都已设地址,但接到第3个的时候就不能通讯了,求指教! 谢谢

使用特权

评论回复
18
joyme| | 2017-1-6 12:06 | 只看该作者
RXD有自己加上拉电阻吗?多个接收端的时候需要考虑主机TXD是否驱动能力足够

使用特权

评论回复
19
技美电子|  楼主 | 2017-1-13 11:33 | 只看该作者
joyme 发表于 2017-1-6 12:06
RXD有自己加上拉电阻吗?多个接收端的时候需要考虑主机TXD是否驱动能力足够 ...

具体看情况,一般不用

使用特权

评论回复
20
henglin| | 2017-1-28 22:01 | 只看该作者
好东西

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:技美电子——单片机开发,常用DIY电子元件和工具配套:http://lintar.taobao.com

6

主题

264

帖子

2

粉丝