1335|13

2874

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

CAN总线的包ID与设备的关系 [复制链接]

 

和朋友聊起来CAN总线,我一直以为设备和包ID是绑定关系,也就是一个设备的功能和包ID是固定地,一个设备可以有多个功能,每个功能就绑定一个ID,例如:温湿度计有两个参数,温度,湿度,露点。那么参数就可以分配三个ID。

但是朋友说:can总的ID是包的特性,所以没有限制ID和设备是必须绑定地,所以任何设备都可以发送其它设备的ID。

不知道各位如何理解,请各位科普一下。

此帖出自汽车电子论坛

最新回复

其相比485又好一些,485就是一问一答,他这里可以在总线空闲下随便说话。   详情 回复 发表于 2024-3-19 21:40
点赞 关注(1)

回复
举报

108

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

简单理解,两点:

(1)CAN的ID是协议的一部分。 - 表示你可以随便定义。

(2)CAN通过ID来过滤数据帧。- 方便你自定义、过滤不同的设备/协议。

此帖出自汽车电子论坛
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

不考虑使用场景,任何设备都可以发送任何ID的can信号。但是实际不是,比如车载,每个设备能发哪些,都是严格规定的,尤其网关帧和诊断帧。楼主没有理解can id和can message的区别,温度,湿度可以在一个can id下面。要是上canfd的协议,还可以从can id看出谁发的,发给谁    水有点深


此帖出自汽车电子论坛

点评

我说的是协议层的东西,不是管理与应用,can的包只有一个ID,而不像TCP/IP包那样有两个地址字段。  详情 回复 发表于 2024-3-18 16:04
 
 
 

回复

2874

帖子

4

TA的资源

五彩晶圆(中级)

4
 

我的理解是:CAN的每一个MESSAGE包,必须有一个ID,这个ID是为了标志这个消息是发给谁的,而不管谁发的,所以才有上面的问题。只要我上面的理解是正确地就可以。至于是不是应该管理设备和消息的对应关系就无所谓了。

此帖出自汽车电子论坛
 
 
 

回复

2874

帖子

4

TA的资源

五彩晶圆(中级)

5
 
数码小叶 发表于 2024-3-18 15:46 不考虑使用场景,任何设备都可以发送任何ID的can信号。但是实际不是,比如车载,每个设备能发哪些,都是严 ...

我说的是协议层的东西,不是管理与应用,can的包只有一个ID,而不像TCP/IP包那样有两个地址字段。

此帖出自汽车电子论坛

点评

标准can没有,但是上了协议后就有了,源地址与目的地址,一个普普通通的ID,包含的信息可不少  详情 回复 发表于 2024-3-18 22:12
 
 
 

回复

7462

帖子

2

TA的资源

五彩晶圆(高级)

6
 

can id 还是包id?

此帖出自汽车电子论坛
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

7
 
bigbat 发表于 2024-3-18 16:04 我说的是协议层的东西,不是管理与应用,can的包只有一个ID,而不像TCP/IP包那样有两个地址字段。

标准can没有,但是上了协议后就有了,源地址与目的地址,一个普普通通的ID,包含的信息可不少

此帖出自汽车电子论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

8
 
在接收到这个ID的时候,能够将带着的数据作为温度的数据;CAN的ID是在软件层面设计的,所以不同的设备可以发送同一个ID,也就是你朋友说的没有限制ID和设备必须是绑定的。
此帖出自汽车电子论坛
 
 
 

回复

364

帖子

0

TA的资源

版主

9
 

can id和设备的关系就是名称,你喊对方什么名称,对方知道就可以,不设置filter的话,所有设备都可以收到总线上所有的数据,只不过知道了名称,或者说想要的数据,就取了用,不关心的不搭理就可以

此帖出自汽车电子论坛

点评

可以看看周立功的can easy begin  详情 回复 发表于 2024-3-19 09:43
 
 
 

回复

364

帖子

0

TA的资源

版主

10
 
LitchiCheng 发表于 2024-3-19 09:42 can id和设备的关系就是名称,你喊对方什么名称,对方知道就可以,不设置filter的话,所有设备都可以收到总 ...

可以看看周立功的can easy begin

此帖出自汽车电子论坛
 
 
 

回复

6841

帖子

11

TA的资源

版主

11
 
本帖最后由 lugl4313820 于 2024-3-19 16:32 编辑

你所理解的ID可能是以为是硬件固件的地址,实际上CAN的ID,也是来标识为了有达到高效的通信方式,过滤掉一些他不关心的信息,但是他不是固定的,是在配置中指定的。一个设备可以绑定好几个ID。

此帖出自汽车电子论坛

点评

CAN的协议只定义了ISO 7层的物理层和数据链路层,消息ID的功能用来管理消息的目标也是用来管理消息的优先级。 在应用时也就是过滤器的设置,就像RS485的地址一样  详情 回复 发表于 2024-3-19 18:40
 
 
 

回复

2874

帖子

4

TA的资源

五彩晶圆(中级)

12
 
lugl4313820 发表于 2024-3-19 16:30 你所理解的ID可能是以为是硬件固件的地址,实际上CAN的ID,也是来标识为了有达到高效的通信方式,过滤掉一 ...

CAN的协议只定义了ISO 7层的物理层和数据链路层,消息ID的功能用来管理消息的目标也是用来管理消息的优先级。

在应用时也就是过滤器的设置,就像RS485的地址一样

此帖出自汽车电子论坛

点评

其相比485又好一些,485就是一问一答,他这里可以在总线空闲下随便说话。  详情 回复 发表于 2024-3-19 21:40
 
 
 

回复

6841

帖子

11

TA的资源

版主

13
 
bigbat 发表于 2024-3-19 18:40 CAN的协议只定义了ISO 7层的物理层和数据链路层,消息ID的功能用来管理消息的目标也是用来管理消息的优先 ...

其相比485又好一些,485就是一问一答,他这里可以在总线空闲下随便说话。

此帖出自汽车电子论坛

点评

rs485没有优先级管理,can是有优先级管理的,所can在多机通讯时可以得到更好的实时性,而且can的物理特性为各设备占用总线的电气设计是可以“线与”的,485则没有要求,只要求是差分信号而已,RS485的地址  详情 回复 发表于 2024-3-20 09:50
 
 
 

回复

2874

帖子

4

TA的资源

五彩晶圆(中级)

14
 
lugl4313820 发表于 2024-3-19 21:40 其相比485又好一些,485就是一问一答,他这里可以在总线空闲下随便说话。

rs485没有优先级管理,can是有优先级管理的,所can在多机通讯时可以得到更好的实时性,而且can的物理特性为各设备占用总线的电气设计是可以“线与”的,485则没有要求,只要求是差分信号而已,RS485的地址信号是通过增加信号长度实现的,CAN是通过线与,所以我只说和rs485的地址相似。

此帖出自汽车电子论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表