诊断QA:CAN和CAN FD的诊断报文能否混用?
2022-12-4 18:2:22 Author: 谈思实验室(查看原文) 阅读量:14 收藏

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

工程中,随着CAN FD的使用越来越普及,随之而来的问题,也越来越多。本文讨论一个问题:CAN总线既支持Classical CAN格式报文,也支持CAN FD格式报文,诊断的过程中,可以混合使用Classical CAN格式和CAN FD格式的诊断报文吗?

1、N_AI定义

找到这个问题的答案之前,我们先理解一下N_AI(Network Address Information)的概念。15765-2的规范中,这样解释N_AI,如下所示:

解释:意思是说,N_AI这个参数用于识别诊断通信过程中的源地址和目标地址

解释:N_AI的另一种作用解释就是标识网络层的对等实体(peer entities)。什么是对等实体?:个人理解,特定的信息只有到达指定的模块,才能被解析。也可以将其看作特定协议的解析者,比如:15765,CanTp层才能解析,如下所示:

2、N_AI在CAN报文中的位置

一个N_PDU包含三个部分:N_AI、N_PCI、N_Data。N_AI位于N_PDU中,具体位置如下所示:

具体到CAN Frame,N_AI位置示意如下所示:

这里可以看出:Classical CAN和CAN FD的不同,意味着N_AI的不同。N_AI信息会映射到网络传输层CanTp),N_AI的不同,意味着寻址方式的不同,即使Classical CAN和CAN FD的CANID相同,CanTp层建立的Connection也不同

3、相同CAN ID(不同N_AI)的非预期帧处理策略

之前我们聊过:诊断处理过程中,收到非预期诊断报文(Unexpected PDU)的处理方式,可以回顾前文Uds诊断:Unexpected N_PDU处理策略这个策略适用于相同CANID,但是N_AI不同的诊断报文吗?看一下15765给出的解释,如下所示:

解释:Unexpected N_PDU的处理只适用于相同N_AI的诊断报文。Classical CAN和CAN FD的N_AI本就不同,所以,互不干扰,可以并行处理;单个Message中不要混用Classical CAN和CAN FD。

提示:工程开发中,即使CAN ID相同,也可以既支持Classical CAN,也支持CAN FD。

综上,Classical CAN和CAN FD的CAN ID相同,但是Format不同,构成的N_AI不同,所以,在CanTp层建立的peer entity不同,工程使用过程中,可以并行使用,但是不能交叉混用。

(一)完整的诊断请求时序中,独立使用Classical CAN或者CAN FD均可,示意如下:

(二完整的诊断请求时序中,不能混用Classical CAN、CAN FD,示意如下:

WISS 2023 第四届世界物联网安全及数据安全治理峰会火热报名中 , 欢迎报名

更多文章

智能网联汽车信息安全综述

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员

END

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。

扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

谈思实验室,为汽车科技赋能,推动产业创新发展!


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzOTc2OTAxMg==&mid=2247516145&idx=1&sn=8544c26e66bfbbb0e713037780ecf9c3&chksm=e927fb2ade50723c4e7ddd9135b5239a6d88b5efd88c2f8fee3c072c698cc022ceccf9e14c60#rd
如有侵权请联系:admin#unsafe.sh