打印

单片机多机通信问题

[复制链接]
2287|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 | 只看该作者

随便说说

  可以用三极管做个简单的电平转换电路...

使用特权

评论回复
5
dai_weis| | 2007-3-29 10:54 | 只看该作者

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

你的速率是多少,增加校验看看

使用特权

评论回复
6
xwj| | 2007-3-29 11:11 | 只看该作者

直接连线只能用于机内

使用特权

评论回复
7
sallytrx|  楼主 | 2007-3-29 11:14 | 只看该作者

速率是9600

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

使用特权

评论回复
8
sjnh| | 2007-3-29 11:34 | 只看该作者

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

使用特权

评论回复
9
dai_weis| | 2007-3-29 11:38 | 只看该作者

你的连线不会在机外?

没这么用过,如果就想用这么长的线还改不了什么,那么使用屏蔽线,屏蔽层单端接地,增加校验码,降低速率,保证通讯线的地线的可靠连接。

使用特权

评论回复
10
chunyang| | 2007-3-29 12:40 | 只看该作者

加一级驱动即可

如果你的MCU的IO是强下拉型的,那么加个上拉电阻也行。

使用特权

评论回复
11
sallytrx|  楼主 | 2007-3-29 13:35 | 只看该作者

我的连线在机内

主机和三从机分别在两块板子上,中间通过接插件连接,都在一个机盒内,这样是不是不算在机内?
8、9、10楼说的方法我会都试试。高手这么多,真高兴!

使用特权

评论回复
12
sallytrx|  楼主 | 2007-3-30 09:53 | 只看该作者

问题找到了

其实我这儿的问题不在串口通信这里,就是复位信号出了问题。原来为了节省空间,我把三从机的复位信号都是用主机控制的,所以该复位信号出了问题,通信自然也就不成了。后来把每个从机的复位信号都接在本机这里,就OK了!复位信号真的太有用了,先前调试CAN总线通信的时候,就是因为复位信号不好而导致要么没数据,要么丢数据。

使用特权

评论回复
13
静思王子| | 2009-4-30 21:58 | 只看该作者

请求

楼主能发个程序过来参考参考么?我现在也是在搞多机问题,但是就是不能实现功能,一周多了,身心疲惫啊

使用特权

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

本版积分规则

2

主题

7

帖子

0

粉丝