打印

485多主通信方案

[复制链接]
1806|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jerlong|  楼主 | 2016-9-11 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近用Arduino UNO做485通信的相关项目,芯片MAX485,总线上挂32个终端,考虑到一主多从模式主机负荷过大,且主机故障会导致整个网络瘫痪,所以打算做多主模式,即每个终端都可以监测总线状态后主动请求发送数据,遇到下面一些较痛疼的问题,希望能有大神给予指点。
1、Arduino UNO采用的是软串口(softwareserial),好像没有接收中断,只能用.available()函数监测是否收到数据。用这种方式监听总线状态时,觉得不够准确。
2、发送数据的同时接收数据,与自身发送的数据进行比较已判断是否发送过程中有总线冲突,试验过程中发现无法接收到自身发送的数据,所以也无法进行对比,RO引脚上是没有上拉电阻的,Arduino引脚的上拉电阻也没有激活。比较纠结的是后来在论坛上看到,用这种方式比较并不能判断总线是否冲突,何解?
3、如果2中的这种方式不能检测总线冲突,那这种多主通信方式的方案又该如何设计呢?

相关帖子

沙发
玄德| | 2016-9-11 16:44 | 只看该作者

这可行吗?
即使多主,仍然需要一个更高的主机来管理,等同于单主机。
串口是很慢的通信方式,会增加多少负担?!
根本不用中断,设置一个不大的缓冲器,查询就轻松搞定。

一定要多主,还是用CAN吧,
它的协议、PHY芯片可以自动监测总线的忙与闲。

使用特权

评论回复
板凳
jerlong|  楼主 | 2016-9-11 22:18 | 只看该作者
玄德 发表于 2016-9-11 16:44
这可行吗?
即使多主,仍然需要一个更高的主机来管理,等同于单主机。
串口是很慢的通信方式,会增加多少 ...

目前是打算用一个带以太网卡的Arduino专门接收32个终端发来的数据,然后数据通过以太网卡接入互联网,不知这样是否可行?

如果用CAN的话,开发难度如何?成本如何呢?

使用特权

评论回复
地板
icecut| | 2016-9-12 08:58 | 只看该作者
485本来就不是多主总线.你这么主管臆断乱设计,并且还自己掌握不了最底层的软硬件,唉.木法说....can 肯定可以的.

使用特权

评论回复
5
icecut| | 2016-9-12 16:02 | 只看该作者
jerlong 发表于 2016-9-12 15:22
呵呵!不是我自己这么设计的,是参考了一篇论文,觉得比较靠谱,但现在感觉这些论文也缺乏验证。有兴趣可 ...

我没说不能搞定.但是你的方案不能搞定.论文用的硬件比如485芯片,以及软件.也不是你封装好的玩具级的软件.
不要企图用玩具实现专业级的设计....

使用特权

评论回复
6
jerlong|  楼主 | 2016-9-12 17:06 | 只看该作者
icecut 发表于 2016-9-12 16:02
我没说不能搞定.但是你的方案不能搞定.论文用的硬件比如485芯片,以及软件.也不是你封装好的玩具级的软件. ...

说得好像你很专业的样子!刚刚不是说485不是多主总线吗,为什么现在又觉得它可以多主了呢?说得好像arduino很劣的样子,但是人家照样可以用它来开发产品啊,只是国内用的少一点而已。不要各种的鄙视可以吗?

使用特权

评论回复
7
icecut| | 2016-9-12 17:14 | 只看该作者
本帖最后由 icecut 于 2016-9-12 17:15 编辑
jerlong 发表于 2016-9-12 17:06
说得好像你很专业的样子!刚刚不是说485不是多主总线吗,为什么现在又觉得它可以多主了呢?说得好像ardui ...

485不是硬件多主,can 是硬件多主,明白了么,
然后软件多主怎么办????你那 arduino 把软件层给你封死了.我看你怎么做....
不要以为串口简单....大部分平台都是简化串口,而不是完整支持....你看看 pc 的串口接口有多复杂就好了.不要看应用层.要看 驱动层.

使用特权

评论回复
8
ningling_21| | 2016-9-14 16:45 | 只看该作者
485总线不可能发送数据的同时接收数据,一定要同时的话可以改成422接口

使用特权

评论回复
9
chunyang| | 2016-9-15 23:53 | 只看该作者
楼主的方法不对,应该使用单独的一个485接口侦听总线来检查协议的工艺性。另外,楼主的想法可不是什么多主网络,多主网络可以使用令牌协议,令牌传给谁,谁拥有令牌谁就是主机。非令牌下的从机主动发起通讯叫做“突发模式”,关于485的协议,本栏目也有大量的帖子,我都讲过。

使用特权

评论回复
10
玄德天皇| | 2016-11-6 21:49 | 只看该作者
玄德 发表于 2016-9-11 16:44
这可行吗?
即使多主,仍然需要一个更高的主机来管理,等同于单主机。
串口是很慢的通信方式,会增加多少 ...

485多主是可以的

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝