收藏本站
每日签到
开启辅助访问
切换到窄版
登录
立即注册
只需一步,快速开始
微信登录,快人一步
扫码登录更安全
手机号码,快捷登录
首页
Portal
资讯
论坛
BBS
文库
学堂
会员
帮助
搜索
搜索
发帖际遇
本版
文章
帖子
群组
用户
车研网 CHEYAN.net
»
论坛
›
产品研发
›
标准规范
›
车载诊断之诊断会话模式汇总
返回列表
发新帖
[行业规范]
车载诊断之诊断会话模式汇总
[复制链接]
1633
|
0
|
2022-5-3 13:29:28
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
|
×
由于自己最近在做诊断会话模式内容的测试,又详细复盘了该方面的内容,在此做一个简单的汇总。
诊断会话模式是车载诊断范畴较为重要的三个状态机(ISO 2020版 UDS协议更新了一个新的Service 29安全认证,因此现在是三个状态机):
车载诊断会话模式(Service 10);
车载诊断安全访问(Service 27);
车载诊断安全认证(Service 29).
每一个状态机对于车载诊断范畴的诊断服务都有相应的影响,都是作为服务执行的Precondition存在。本文简单的从诊断需求规范、功能实现、测试三个方向汇总。
诊断需求规范
在OEM诊断需求规范中,基于ISO 14229协议明确定义自身需要的诊断会话模式,在协议中关于Session子服务有明确定义:
需要注意的协议给与了自定义的空间,给用户来自定义自身需求的诊断会话模式。比如以往项目中我遇到的主机厂会话模式,该模式下所有的诊断服务都不需要解锁,可以执行任何服务,这样方便调试。因此用户可以充分利用该方面内容。
在协议中已定义了常用的三个会话模式:默认会话模式、扩展会话模式、编程会话模式。诊断服务执行的前提条件就是通过诊断会话模式区分执行权限。不同的服务在不同的诊断会话模式执行,如下示意图:
默认会话模式只支持Service 22,用于读取车身相关信息(软件版本号、硬件版本号、ECU电压电流等);
扩展会话模式支持的服务就相对多些,除了支持Service 22外还支持Service 2E/2F等;
编程会话模式意味着当前状态是在Bootloader模式下,可以在该模式实现对ECU的UDS Software update。
对于诊断会话模式状态转换(如上示意图),一上电ECU当前必处于默认会话模式,当需要其他会话模式时,执行对应子服务实现跳转。ECU为防止自身一直处于较高级会话模式,会定义S3 时间参数,当该段时间没有收到任何诊断请求,会强制让ECU从非默认会话模式跳转到默认会话模式。
如上内容(支持的诊断会话模式、诊断服务的执行权限等)都会在OEM诊断需求规范中定义,形成企业规范后,后续会释放给Supplier做功能实现。
诊断功能实现
行业内关于功能实现做法也分为不同策略:
纯手动编写诊断功能代码,实现对诊断服务、DTC监控、DID信息读取和协议等操作,但鉴于稳定性较差,已慢慢不再采用(当初在测试这方面的功能时,问题复现把我折磨的欲仙欲死);
通过加载诊断数据库和通信数据库,配置自动生成关于诊断的软件协议栈,如自己当初项目经验,是使用Vector的CANbedded协议栈(配置工具是Geny),需要导入的是CDD诊断数据库和dbc通信数据库。该框架下模块功能较为简单(对比AUTOSAR),从底层Driver,到CAN TP传输以及上层Application。框架示意图如下:
最后是AUTOSAR框架下诊断功能实现,因为AUTOSAR框架是按照模块进行划分,对于车载诊断模块主要关心是DCM/DEM/FIM。作为一个完整的诊断数据链路条(暂且以车载CAN总线为例),需要从CAN Driver-> CAN IF -> CAN TP -> Pdur -> DCM/DEM -> RTE(与应用层交互)。相比第二种solution解决方案,车载诊断功能实现需要交互的模块更多更为复杂。比如与网络管理、ComM、ECUM、RTE等,交互场景更多也更为复杂。
现阶段后两者使用较为普遍,尤其为最后一种。一般是基于诊断需求规范编辑诊断数据库(常见是ODX、CDD、MDX、ARXML等),将数据库导入配置工具,配置生成对应的协议栈,该软件框架已经形成,需要的是Supplier研发工程师将应用层的内容补充完整,诊断功能实现。诊断会话模式主要分布在DCM DSL功能模块中,该模块功能:
处理诊断请求和响应数据流。
管理诊断状态(会话状态和安全状态)。
管理时间参数。
基于框架实现功能后,进行测试。
诊断功能测试
测试目的是验证功能实现是否是按照需求定义实现。本文主要分享诊断会话模式相关内容测试。
测试方向大致分为:
Valid Test/ Invalid Test
主要是关于诊断会话模式合法请求以及相关非法请求,比如请求报文格式过长或过短;
诊断会话模式切换
主要是不同会话模式之间切换以及验证不同服务执行权限;
会话模式切换带来的影响
这方面也是自己重点需要汇总,因为在ECU进行会话模式切换时,对ECU其他状态会造成相应的连带效应。
1、对于Service 27,若当前ECU处于解锁状态,ECU进行会话模式切换,ECU状态会从解锁状态跳转到锁住状态,其中包括一个非常典型的场景,比如ECU当前处于扩展会话模式并且是解锁状态,若Tester无意发送了 10 03请求,ECU当前还是处于扩展模式模式,但是ECU这时也需要从解锁状态跳转到锁住状态。因为ECU接受到会话模式请求后,都会进行初始化;
2、对于Service 28,若ECU处于非默认会话模式,并对ECU Communication模式进行设置,协议中有规定:ECU若进行非默认会话模式切换,Service 28设置状态不变化;若从非默认会话模式切换至默认会话模式,ECU需要将Service 28设置内容进行恢复至ECU默认设置状态;
3、对于Service 85,该服务是对ECU进行DTC功能管控,若ECU在非默认会话模式对ECU该功能做了非默认设置,在非默认会话模式切换无影响,若从非默认会话模式跳转到默认会话模式,ECU该功能设置项同样需要恢复至ECU默认状态;
4、对于Service 2F,该服务是对ECU I/O功能进行控制,类比上述描述,若在非默认会话模式之间切换,功能无影响;若从非默认会话模式切换至默认会话模式,需要将ECU恢复至默认设置状态。
以上四点都可以在测试时,特别关注。
故障诊断
"您的鼓励,是我前进的动力"
打赏
还没有人打赏,支持一下
相关帖子
•
汽车解剖图及常见故障诊断、分析
车研会员,开心每一天!
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
|
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
车载诊断技术
回复楼主
返回列表
研发管理
工程技术
标准规范
试验测评
科技前沿
售后改装
图文推荐
汽车三高(高温、高原、高寒)试验解析!
2017-06-11
如何自学工业设计?
2015-09-05
电传制动iBooster
2016-09-27
VIN码查询、解析
2018-01-23
桑塔纳在中国的30年
2014-05-25
热门排行
1
汽车构造相关课件
2
给搞汽车的技术人员的十大忠告
3
汽车工程手册——整车实验篇
4
什么是混合动力汽车?
5
【论文】博世汽车零部件公司产品开发项目管理体系研究
6
塑料模具学习资料Part1
7
中国制造2025
8
汽车工程手册——底盘设计篇
9
国家防护等级定义(IP)
10
2017燃料电池行业回顾