上一堂课已经有给大家介绍 【诊断数据库文件-CDD】创建速成班-北汇信息小课堂(一),主要是关于CANdelaStudio创建CDD文件的部分分享,本堂课我们将继续上次的内容给大家分享CDD文件的创建

No.1 Sessions & Security Access编辑介绍

1.Sessions(0x10)

0x10服务包含3个常用的子功能,0x01 Default默认会话,0x02 Programming编程会话,0x03 Extended扩展会话。为什么设计三个会话模式呢?因为权限问题。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。

图片会话模式的一个跳转关系式:

a.控制器上电会处于默认会话模式

b.在默认会话模式下收到默认会话服务的请求

c.在默认会话模式下收到非默认会话服务的请求,会话模式进入编程或者扩展模式

d.在非默认会话模式下收到默认会话服务的请求,或者S3时间超时自动跳回默认会话模式

e.在扩展会话模式下收到编程会话服务的请求或者编程会话模式下收到编程会话服务的请求

f.在编程会话模式下收到扩展会话服务的请求或者扩展会话模式下收到扩展会话服务的请求

需要注意的是如果S3时间内没有收到任何诊断请求,但是又想ECU保持在当前会话模式,这个时候可以周期性的发送0x3E服务,告诉ECU诊断仪在线,不要实现会话模式跳转,0x3E服务是周期性发送的,来时刻刷新S3时间值。

在CANdelaStudio中如何新建一个会话模式?

步骤一:选择New Session新建一个会话模式

步骤二:编辑参数

步骤三:选择新的会话模式支持的服务和设置解锁机制

步骤四:完成会话模式的新建

新建完成后,在SessionsState Groups下可以看到新建的会话模式:

前面有提到诊断服务对会话模式是有要求的,这就需要在CDD文件里面根据诊断需求定义去设置。在States->Dependencies->Editing下,可以对会话跳转模式进行编辑,里面定义诊断数据库所有的诊断服务。

根据诊断需求定义,服务在某个会话模式下执行,支持的话表示“yes”,在该会话模式下不能支持的表示“No”。针对DefaultProgrammingExtended,这些表示执行了诊断服务后,对会话模式有变化的,需要设置为相应的会话模式。

编辑完成后,可以States->Dependencies->State diagram 下查看整个会话模式跳转示意图(首次使用CANdelaStudio需要根据提示去下载插件):

2. Security Access(0x27)

Security Access就是安全访问,通过采用种子与密钥的方式为ECU提供了一种保护机制,针对一些服务进行访问限制来保护数据。

安全访问过程如下图所示

如果需要新建安全等级,在CDD文件中也是可以的

步骤一:选择New Security Level新建一个安全等级

步骤二:请求种子服务参数编辑

步骤三:发送密钥参数编辑

步骤四:安全访问数据记录参数编辑

步骤五:完成安全等级的新建

新建完成后,在Security AccessState Groups下可以看到新建的安全等级:

同Session会话模式一样,诊断服务对安全访问状态是有要求的,所以需要对所有的诊断服务安全访问在States->Dependencies->Editing下进行编辑。针对诊断服务,如果在锁定或者解锁状态下执行,支持的话表示“Yes”,不支持的话表示“No”。针对Lock、Unlock这些表示执行了诊断服务后,导致控制器安全访问状态改变的,需要设置为相应的状态。

编辑完成后,可以States->Dependencies->State diagram下查看安全访问的示意图:

No.2 NRC码编辑

下图显示CDDT模板里面自带的NRC码:

如果NRC码不能满足需求,可以新建NRC码:

针对单个的服务去编辑NRC码:

步骤一:在服务下把“Show Negative Responses”勾上

步骤二:在“ Negative Response ”页面编辑支持的NRC码

No.3 总结

经过我们CDD创建速成班课堂的两次讲解,我想大家都清楚了如何去创建CDD文件了,这里再给大家总结一下:

CANdelaStudio可以基于CDDT模板生成诊断数据库CDD文件,统一诊断数据源、提高数据库编辑的效率。支持多种总线通信接口,如CAN/CAN FD、DoIP、K-Line、FlexRay。可以编辑诊断服务和诊断响应格式、DTC、DID等,可设定服务间的(会话模式、安全访问)依赖关系,支持状态机显示。生成的CDD文件可以导入其他Vector工具CANoe、CANape、Indigo等软件中进行诊断手动测试;也可以导入CANoe.DiVa生成自动化诊断测试用例,最终在CANoe中导入CANoe.DiVa生成的测试用例进行自动化测试。

Vector Informatik公司是全球领先的分布式系统设计开发工具、网络节点测试验证工具和嵌入式软件组件提供商,为汽车总线网络的设计、建模、仿真、分析、测试以及ECU的开发、测试、标定和诊断等过程提供一系列强有力的软硬件工具和组件,支持CAN、LIN、MOST、FlexRay、以太网、SAE J1939、OSEK和AUTOSAR等多种总线系统、协议和标准。在全球范围内,来自汽车、商用车、工程机械和控制工程领域的客户都在应用Vector提供的解决方案和产品。

北汇信息作为Vector中国的合作伙伴,不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,为您答疑解惑!

注:图中部分图片来源于Vector。

作者:北汇信息——安好

【诊断数据库文件-CDD】创建速成班-北汇信息小课堂(二)相关推荐

  1. 【诊断数据库文件-CDD】创建速成班-北汇信息小课堂(一)

    速成小课堂开课啦!课前小问请看题: (单选题)可取读车辆内部参数功能的是_______. A.娱乐功能 B.自动驾驶功能 C.车辆诊断功能 我们评论区揭晓答案~ ------------------- ...

  2. JavaWeb第九次:程序设计题:在MySQL,创建一个学生信息数据库Student,创建一张学生注册信息表message,包含name (姓名)、age (年龄)、sex (性别)、educ

    程序设计题: 在MySQL,创建一个学生信息数据库Student,创建一张学生注册信息表message,包含name (姓名).age (年龄).sex (性别).education(学历).phon ...

  3. 北汇信息正式加入IAMTS联盟,助力智能网联汽车事业发展

    2022年1月,北汇信息正式加入国际智能网联汽车合作联盟(IAMTS).此前,北汇信息曾多次与IAMTS的负责人员沟通,阐述了北汇信息的企业理念,业务领域以及专业经验,最终获得联盟的认可,成功&quo ...

  4. 北汇信息MES系统助力浙江万达EPS事业部打造可视化车间

    北汇信息智能生产管理执行系统(MES)助力浙江万达EPS事业部打造可视化车间,实现高效生产运行管理.智能化生产,全面提升卓越运营能力. 北汇信息MES系统可以将信息化"触角"深入到 ...

  5. 北汇信息正式成为东方中科旗下成员企业

    2022年11月18日,北京东方中科集成科技股份有限公司(以下简称"东方中科")完成上海北汇信息科技有限公司(以下简称"北汇信息")51%股权交割及工商变更,北 ...

  6. 电子电气架构——车载诊断数据库(CDD/ODX/DEXT)分析

    2023年1月15日,魔都周末温度的骤降,2023年第一场雪,让自己感受到身处的季节是冬天,提醒自己柜中的羽绒服还能派上用场.看朋友在东北某地滑雪的图片,心中还是满眼羡慕之情. 2022年已经过去,都 ...

  7. 【Polelink北汇信息】EV初创公司如何降低软件开发成本和风险

    电动汽车初创公司如何降低软件开发成本和风险 大多数原始设备制造商不会从电动汽车(EV)的销售中获利,但计划快速进入市场的电动汽车初创公司不必遭受同样的损失. 随着电池价格飙升.零部件成本高昂和销量低迷 ...

  8. 北汇信息 | 什么是高级驾驶辅助系统:ADAS 概述

    高级驾驶员辅助系统 (ADAS) 有助于提高车内每个人的安全性,帮助他们安全到达目的地.该技术非常实用,因为大多数严重的车祸都是由于人为错误造成的. 在这里,我们将讨论什么是高级驾驶辅助系统(ADAS ...

  9. 车载诊断测试——无诊断数据库怎么使用CANoe做诊断测试?

    我是穿拖鞋的汉子,魔都中坚持长期主义的工科男! 老规矩,分享一段喜欢的文字,避免成为高知识低文化的工程师: 天下"乌鸦"一样黑,不要总是这山看着那山高,做好手中的事情,懂得选择,学 ...

  10. 1-2 通过SQL管理数据库文件

    1-2  通过SQL管理数据库文件 u      掌握数据库文件的类型,学习在管理平台下建立数据库文件和文件组 u      掌握数据库文件及日志文件的建立操纵语句 u      掌握对数据库文件的修 ...

最新文章

  1. Ubuntu中基于QT的系统网线连接状态的实时监视
  2. mxnet中ndarray*ndarray用来作为掩码进行与运算的用法
  3. 【 FPGA 】四位16进制的数码管动态显示设计
  4. 网工路由基础(8)路由重分布
  5. python中内置函数基本输入输出函数
  6. Android用Intent和Bundle传list
  7. 传授电脑蓝屏开不了机怎么办
  8. python 读取excel图片_如何用Python读取Excel中图片?
  9. Python程序的采样分析神器py-spy模块实践
  10. sql server 2000数据库 最近经常出现某进程一直占用资源,阻塞?死锁?
  11. 乐高魔方机器人编程及图纸_乐高解魔方机器人
  12. 【ASP.NET Core分布式项目实战】(三)整理IdentityServer4 MVC授权、Consent功能实现...
  13. JavaScript - 正则(RegExp)判断文本框中是否包含特殊符号
  14. oracle 分组first,Oracle分析函数:First_Value
  15. install nginx
  16. 破解神器面世!iPhone用户怎么办?
  17. 浏览器性能对比测试技术研究与应用
  18. 单片机(STC12C5A60S2)内部PWM实现呼吸灯
  19. kafka生产者的发送消息的流程以及代码案例
  20. 3/18我和塔拉庄园的赛诗会

热门文章

  1. FieldTrip toolbox教程系列(1)-预处理-读取连续的EEG和MEG数据
  2. Linux学习简单教程和常用命令(小白学习法)
  3. 湖北政务服务“一张网”实现五级联通 便民事项掌上办
  4. 面向不平衡数据的电子病历自动分类研究
  5. 点对点网络带宽测试软件,iperf点对点网络性能测试工具
  6. Point-Set Topological Spatial Relations 点集拓扑空间关系
  7. Environment 注入service 报错 null
  8. Python基础知识点回顾
  9. [fairseq] 报错:TypeError: _broadcast_coalesced(): incompatible function arguments
  10. 英语口语收集(十三)