点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
01
需求
通常在诊断调查表中,除了在service的sheet中定义0x28服务外,还会有专门的一个sheet描述具体的communication control,来定义0x28服务的具体子服务。不过基本上都已经是固定下来的需求了,在autosar工具生成的软件中,对此也有相应的定义。
02
配置实现
在Dsp模块中,选择相应CAN通道的Comm通道
通讯的控制可以在BswM中通过配置实现。
对于BswM,原理即是,基于请求接口的值(RequestPort的ConditionValue)和条件类型(ConditionType)形成的表达式,基于表达式结果,最终去实现ActionList中的PduGroupSwitch,从而实现开关通讯的功能。
在配置工具中,基于请求port( BswMDcmComModeRequest )的配置.
模式条件的配置 ModeCondition
逻辑表达式的配置LogicalExpressions
以及action和action list
并最终在Rule中配置好它们。
重要的,在28服务中,如果会话模式发生改变,是需要恢复默认的通讯状态的。
这里可以走RTE来实现这一功能。
在生成的DCM SWC中,有Pport
Rport有点难找,其实不是在SWC那边建立的,而是在BSW的RTE模块中。
03
软件调试
首先找到0x28服务函数
这里的rule回调最近发现了一个问题,如果在发送一些服务的同时发3E保持时,是不可以使用 Dcm_DsldMsgContext_st来判断当前接收到的诊断请求的,因为在调用服务函数时,Dcm_DsldMsgContext_st可能会由于接收3E回复一些未知的响应。
但是如果真的有一些特殊需求,可以在代码中的Appl函数中实现。
断点设置完成后,发送28服务。
后续会在
中去调用BswM和RTE相关的代码。调用路径如下:
继续调用Dcm相关的函数
可以在indication中看到,具体的通讯控制通过RTE接口会传递给bswm。
后续会最终修改txpdu的状态。
当恢复默认会话时,DCM会通过RTE接口恢复通讯模式。
end
精品活动推荐
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车、蔚来汽车、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
原文始发于微信公众号(谈思实验室):AutoSar——28通讯控制
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论