单片机多机通信问题

[复制链接]
3239|12
 楼主| sallytrx 发表于 2007-3-29 09:50 | 显示全部楼层 |阅读模式
我这里是一主机三从机的通信(都是51单片机),因为三从机接收的内容差不多,就没用多机通信方式,原来的时候主机和从机之间的距离很短的,直接把RXD和TXD连起来就没有问题,通信一直挺好的。但现在电路板布局改了,原理没改,就是主机和从机之间的距离长了一些,通信就出了问题,有时候收到错误数据,有时候某片从机收不到数据,有时候隔一两分钟才收到数据。不知道是干扰的原因,还是因为通信距离长了所以串行口线驱动能力不够?
希望哪位热心的大侠不吝赐教!
ayb_ice 发表于 2007-3-29 09:56 | 显示全部楼层

随便说说

RS485
 楼主| sallytrx 发表于 2007-3-29 10:21 | 显示全部楼层

但是?

谢谢!我明白2楼的意思,但是我的板子如果加RS485的话是不太现实的(除了成本还有布局等问题),而且距离还没远到那个地步,主单片机和从单片机之间也就半米吧。就是不知道如果不用RS232和RS485,串口线直接连接的话一般能支持多远?
ayb_ice 发表于 2007-3-29 10:46 | 显示全部楼层

随便说说

  可以用三极管做个简单的电平转换电路...
dai_weis 发表于 2007-3-29 10:54 | 显示全部楼层

半米有些长,但是我的通信就没有问题

你的速率是多少,增加校验看看
xwj 发表于 2007-3-29 11:11 | 显示全部楼层

直接连线只能用于机内

 楼主| sallytrx 发表于 2007-3-29 11:14 | 显示全部楼层

速率是9600

一直没加过校验,嫌麻烦,主要也是经验不足。距离好像比半米还长一点,中间还有电磁铁和继电器之类的东西。
换了种方法试,好像跟距离就是有关系。4楼的说法比较靠谱,就是怕再设计个电平转换电路时间不够。本来项目都做得差不多了,客户又提出修改,所以就出现现在的问题,而给的时间又非常有限,搞得就很紧张。呵呵!
感谢2位的回帖,感觉很有收获!继续试!
sjnh 发表于 2007-3-29 11:34 | 显示全部楼层

在通信线上(端口)串两个很小的磁珠试试

dai_weis 发表于 2007-3-29 11:38 | 显示全部楼层

你的连线不会在机外?

没这么用过,如果就想用这么长的线还改不了什么,那么使用屏蔽线,屏蔽层单端接地,增加校验码,降低速率,保证通讯线的地线的可靠连接。
chunyang 发表于 2007-3-29 12:40 | 显示全部楼层

加一级驱动即可

如果你的MCU的IO是强下拉型的,那么加个上拉电阻也行。
 楼主| sallytrx 发表于 2007-3-29 13:35 | 显示全部楼层

我的连线在机内

主机和三从机分别在两块板子上,中间通过接插件连接,都在一个机盒内,这样是不是不算在机内?
8、9、10楼说的方法我会都试试。高手这么多,真高兴!
 楼主| sallytrx 发表于 2007-3-30 09:53 | 显示全部楼层

问题找到了

其实我这儿的问题不在串口通信这里,就是复位信号出了问题。原来为了节省空间,我把三从机的复位信号都是用主机控制的,所以该复位信号出了问题,通信自然也就不成了。后来把每个从机的复位信号都接在本机这里,就OK了!复位信号真的太有用了,先前调试CAN总线通信的时候,就是因为复位信号不好而导致要么没数据,要么丢数据。
静思王子 发表于 2009-4-30 21:58 | 显示全部楼层

请求

楼主能发个程序过来参考参考么?我现在也是在搞多机问题,但是就是不能实现功能,一周多了,身心疲惫啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部