打印

哪种总线通讯方式比较合适呢?

[复制链接]
2006|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
幸福至上|  楼主 | 2017-2-24 13:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个机器里面有多块电路板,用以在不同地方控制不同的功能部分,接入设备视情况大概会有3~7个,情况可能和汽车有点类似吧。所以需要一种总线来连接各个设备,以实现通信。从硬件特性上,希望稳定可靠,能够抗强干扰,比如和220V市电,DC12~36V的开关电源,小于100W的直流电机动力线等一起走线。数据的通讯速率能够达到一定要求,至少满足9.6kbps,能够达到19.2Kbps及以上更好。
从软件上,能够实现多主自由通信,有现成的库最好,能够在尽量短的时间内调试实现通信功能。而且一般的MCU就可以胜任的通信协议,而不需要特定MCU。
根据以上条件,大家能推荐些比较合适的总线通讯方式吗?谢谢




相关帖子

沙发
cctv19881023| | 2017-2-24 14:44 | 只看该作者
可以考虑CAN总线,stm32的CAN总线有现成的库文件

使用特权

评论回复
板凳
ningling_21| | 2017-2-24 15:20 | 只看该作者
CAN总线比较合适

使用特权

评论回复
地板
chunyang| | 2017-2-24 19:08 | 只看该作者
CAN、485都可以。

使用特权

评论回复
5
dirtwillfly| | 2017-2-25 09:55 | 只看该作者
CAN和485都可以

使用特权

评论回复
6
皈依| | 2017-2-25 10:49 | 只看该作者
CAN总线~

使用特权

评论回复
7
tdh03z| | 2017-2-27 08:08 | 只看该作者
多主的话,绝对CAN总线,至于和动力线一起走线至少要用屏蔽线,这个任何总线都必须这样

使用特权

评论回复
8
幸福至上|  楼主 | 2017-2-27 12:54 | 只看该作者
tdh03z 发表于 2017-2-27 08:08
多主的话,绝对CAN总线,至于和动力线一起走线至少要用屏蔽线,这个任何总线都必须这样 ...

那485和can抗干扰性有差别吗,看起来都是差分通信。

使用特权

评论回复
9
XZL| | 2017-2-27 13:25 | 只看该作者
多主只有CAN能胜任了

使用特权

评论回复
10
幸福至上|  楼主 | 2017-3-1 13:14 | 只看该作者
XZL 发表于 2017-2-27 13:25
多主只有CAN能胜任了

我最近刚看到有人也用RS485实现了多主通信

使用特权

评论回复
11
幸福至上|  楼主 | 2017-3-1 13:15 | 只看该作者

为何呢,比起485到底好在哪里,电气连接都差不多嘛

使用特权

评论回复
12
幸福至上|  楼主 | 2017-3-1 13:16 | 只看该作者
cctv19881023 发表于 2017-2-24 14:44
可以考虑CAN总线,stm32的CAN总线有现成的库文件

哦,谢谢。去了解下

使用特权

评论回复
13
ningling_21| | 2017-3-1 13:26 | 只看该作者
幸福至上 发表于 2017-3-1 13:15
为何呢,比起485到底好在哪里,电气连接都差不多嘛

485多主机时比较麻烦

使用特权

评论回复
14
PPDDPPDD1234| | 2017-3-1 20:31 | 只看该作者
软件上,CAN复杂了些
485相对简单不少。
要是有库,估计还是CAN好弄点。

使用特权

评论回复
15
dalarang| | 2017-3-1 22:44 | 只看该作者
CAN合适,原生支持多主,可以自动重传,底层协议都已经封装好,适合少量控制指令、数据的通讯,如果通讯的数据量较大,需要自己在底层的基础上再加个协议层。

最关键的是CAN数据帧有ACK响应和可配置自动重传,在受到干扰导致数据帧通讯失败时,硬件自动重发数据帧,这些都是不需要额外软件逻辑控制和开销的。
如果想用485来做,需要做响应帧和超时重发机制,会比较麻烦,而且485的多主也是一种伪多主方式,只是软件层面上作为多主机来处理,硬件链路层并没有总线竞争时仲裁的机制。

使用特权

评论回复
16
幸福至上|  楼主 | 2017-3-3 17:30 | 只看该作者
ningling_21 发表于 2017-3-1 13:26
485多主机时比较麻烦

哦,确实。还需要自己去实现和调试啊。

使用特权

评论回复
17
幸福至上|  楼主 | 2017-3-3 17:34 | 只看该作者
dalarang 发表于 2017-3-1 22:44
CAN合适,原生支持多主,可以自动重传,底层协议都已经封装好,适合少量控制指令、数据的通讯,如果通讯的 ...

很有见地啊。RS485可能上手容易点,但局限性太大,我还是考虑CAN通信吧,虽然就我目前了解的来看,在硬件和软件上都要复杂些,上手要慢点。

使用特权

评论回复
18
ningling_21| | 2017-3-3 17:55 | 只看该作者
幸福至上 发表于 2017-3-3 17:30
哦,确实。还需要自己去实现和调试啊。

硬件电路网上有现成的,软件网上也有调试好的,调试应该也不太复杂

使用特权

评论回复
19
幸福至上|  楼主 | 2017-3-3 17:59 | 只看该作者
好的,先研究下搞清楚吧,费劲的事情哦

使用特权

评论回复
20
幸福至上|  楼主 | 2017-5-15 11:01 | 只看该作者
现在我们还是用的RS485模拟CAN总线机制,实现的多主通信,挂接设备不多,用起还行吧。;)

使用特权

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

本版积分规则

个人签名:重庆电子交流圈:521107487,欢迎各位工程师朋友们加入,一起交流讨论,互动分享,共同进步。

38

主题

854

帖子

10

粉丝