你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32的can多机通信设计

[复制链接]
manler 提问时间:2018-8-21 20:49 /
本人小白,最近刚开始学习can通信。求助大神,我想做一个基于stm32的惨多机通信程序,有3个can口发送数据,1个can口接受数据。接收用stm32实现。如果三个can口同时发送数据,会自动接受ID号最小的can口数据吗?如果三个can口以不同频率发送数据,接受时是不是在ID号小的can口发送数据间隔会接收到ID号大的can口发送的数据。另外,can的多机通信大致思路大神可否粗略介绍一下。谢谢谢谢!!!
收藏 评论7 发布时间:2018-8-21 20:49

举报

7个回答
tjdee 回答时间:2018-8-21 21:59:51
CAN 有优先级仲裁,优先级高的(ID)数据先发送,优先级低的后发送;多机通信根据数据的重要程度设置不同ID,(注意CAN的ID表征数据而不是机器本身;)数据传输时自然根据轻重缓急收发

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

g921002 回答时间:2018-8-21 23:51:02
這個用主從式架構去規劃比較好。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

feixiang20 回答时间:2018-8-22 00:26:51
优先级传输数据,实现多点间的信息传递。要完成通信节点的设计。通信节点不仅可以和PC机进行信息交换,还可独立与其他各节点通信。你可以看看类似的资料,比如,STM32 CAN总线调试的一点心得总结,使用STM32F103做CAN的收发通信,stm32can多机通信源码,基于STM32的CAN总线通信设计,STM32的CAN通信实现(代码+图示)等等,会有所帮助。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

huangyanga 回答时间:2018-8-22 09:11:57
1、不会自动接收最小的,只能软件都接收后自行判断;还可以配置接收过滤器,只接收指定ID的,或只接收指定大小范围的ID;
2、3个CAN以不同间隔发数据,能不能收到数据,还是要看接收过滤器的配置。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

STM1024 回答时间:2018-8-22 12:12:23
本帖最后由 stm1024 于 2019-5-4 11:12 编辑

0. 原则上,多机通讯一个CAN网络就足够了,CAN的报文采用的是广播的方式,理论上是不存在主从设备的,CAN标准中,报文没有明确指定接收的设备。但是SAE J1939中,应用层上可以在报文的ID中设计源地址和目标地址。便于报文过滤。通常有两到三个CAN网络是为了适应不同的需求,一些系统,把采集作为一路CAN,把控制作为另一路CAN,采集CAN的波特率会高一些,控制CAN的波特率会低一些。

1. ID本身属于CAN报文的仲裁场,技术上是使用的带冲突检测的载波侦听(CD/CSMA),在总线实现上是采用线与的方式,因此出现竞争时,仲裁的结果是ID较小的会胜出,而且之前传送的位都有效;仲裁失败的控制器,一般都可以捕获到这种错误,一些控制器还可以设置自动重发。

2. 你这里的三个CAN口,我猜你想说的是三个CAN设备,以不同频率(建议用周期)发送数据,只要你的主设备不过滤,都是会接收到的。实际上,任何一个设备发出的报文,都可能被其他设备的CAN模块接收到,至少可以送达CAN收发器,只是一些设备的CAN控制器做了报文过滤,只接收自己关心的那么几条报文,报文的过滤也是基于ID的,因此,在设计的时候,ID是一个值得深入规划的工作。一个合理设计的ID,有助于方便快捷地过滤报文。
3.通常,现在都是使用的CAN2.0B,即ID为29位的扩展帧,标准帧现在在汽车上用的很少,其他行业我就不知道,不过似乎在一些工控行业,基于标准CAN的CANOpen协议,还有大量的使用案例。此外,相对于之前的CAN协议中单帧只能传送8字节数据,后续的CAN-FD单帧报文能够传64字节数据。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

majianhui 回答时间:2018-8-23 16:08:06
CAN是全双工,用一路总线进行多个报文的收发就可以了

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

chenplay 回答时间:2019-5-3 07:19:34
canopen协议

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版