0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【CDD】诊断数据库创建速成班-课堂(二)

北汇信息POLELINK ? 2022-08-01 14:20 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

上一堂课已经有给大家介绍关于CANdelaStudio创建CDD文件的部分分享,本堂课我们将继续上次的内容给大家分享CDD文件的创建。

一、Sessions & Security Access编辑介绍

1. Sessions (0x10)

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

poYBAGLmQ7mARlItAABhxKYUr0E396.png

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

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

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

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

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

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

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

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

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

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

pYYBAGLmQ7mAHMsBAACeI-D5d8Y441.png

步骤二:编辑参数

pYYBAGLmQ7mAIkQuAACOOiLo2dE586.png

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

poYBAGLmQ7mAF83oAAC5e50kwl8377.png

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

pYYBAGLmQ7mAfn6ZAACSNzKCs6A032.png

新建完成后,在Sessions和State Groups下可以看到新建的会话模式

poYBAGLmQ7mAQqtQAAAd3ZwFV7M194.png

poYBAGLmQ7qAK1akAAFZK66oN0s902.png

前面有提到诊断服务对会话模式是有要求的,这就需要在CDD文件里面根据诊断需求定义去设置。在States->Dependencies->Editing下,可以对会话跳转模式进行编辑,里面定义诊断数据库所有的诊断服务。根据诊断需求定义,服务在某个会话模式下执行,支持的话表示“yes”,在该会话模式下不能支持的表示“No”。针对Default、Programming、Extended,这些表示执行了诊断服务后,对会话模式有变化的,需要设置为相应的会话模式。

pYYBAGLmQ7uAU0mwAAJ52NWxTjY589.png

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

poYBAGLmQ7qARCJCAAGeOb5p3g0352.png

2. Security Access (0x27)

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

安全访问过程如下图所示:

pYYBAGLmQ7qAO5fkAABnVQO2KYI101.png

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

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

poYBAGLmQ7qAbwHRAADEB2IXVRQ791.png

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

pYYBAGLmQ7qAAFncAAB1fYmKAos605.png

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

poYBAGLmQ7yAOOWmAACBhdjhy_8221.png

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

poYBAGLmQ7yAL32GAACBS4t9zz8742.png

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

pYYBAGLmQ7yAV_9jAAClJ1AsG2U458.png

新建完成后,在Security Access和State Groups下可以看到新建的安全等级

pYYBAGLmQ7yAFeV9AAAa3Y0e25s903.png

poYBAGLmQ7yANWleAAEw9RykCkI234.png

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

pYYBAGLmQ7yAKKeOAAThqm5Gc54175.png

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

poYBAGLmQ72AdotVAAC6GyJuRl8931.png

二、NRC码编辑

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

pYYBAGLmQ72AKu2_AAGUb9QzkNY303.png

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

pYYBAGLmQ72AWsXSAAGNgMkiv7Q135.png

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

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

poYBAGLmQ72AQq40AAHrmNH1ets425.png

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

经过我们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。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    数据库数据恢复—服务器异常断电导致Oracle数据库故障的数据恢复案例

    Oracle数据库故障: 某公司一台服务器上部署Oracle数据库。服务器意外断电导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。该Oracle数据库
    的头像 发表于 07-24 11:12 ?188次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—服务器异常断电导致Oracle<b class='flag-5'>数据库</b>故障的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—MongoDB数据库文件丢失的数据恢复案例

    MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍
    的头像 发表于 07-01 11:13 ?206次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—MongoDB<b class='flag-5'>数据库</b>文件丢失的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库被加密如何恢复数据

    SQL Server数据库故障: SQL Server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 ?225次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>被加密如何恢复<b class='flag-5'>数据</b>?

    数据库数据恢复——MongoDB数据库文件拷贝后服务无法启动的数据恢复

    MongoDB数据库数据恢复环境: 一台Windows Server操作系统虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 管理员在未关闭MongoDB服务的
    的头像 发表于 04-09 11:34 ?369次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复——MongoDB<b class='flag-5'>数据库</b>文件拷贝后服务无法启动的<b class='flag-5'>数据</b>恢复

    数据库数据恢复—SQL Server附加数据库提示“错误 823”的数据恢复案例

    SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份
    的头像 发表于 02-28 11:38 ?537次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server附加<b class='flag-5'>数据库</b>提示“错误 823”的<b class='flag-5'>数据</b>恢复案例

    MySQL数据库的安装

    MySQL数据库的安装 【一】各种数据库的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【】MySQL 介绍
    的头像 发表于 01-14 11:25 ?642次阅读
    MySQL<b class='flag-5'>数据库</b>的安装

    数据库是哪种数据库类型?

    数据库是一种部署在虚拟计算环境中的数据库,它融合了云计算的弹性和可扩展性,为用户提供高效、灵活的数据库服务。云数据库主要分为两大类:关系型数据库
    的头像 发表于 01-07 10:22 ?555次阅读

    ODX诊断数据库转换工具 - DDC

    INTEWORK-DDC (Diagnostic Database Convertor) 是将诊断调查问卷转换为标准ODX(2.2.0)数据库的工具。DDC工具可以将易于沟通交流的Excel诊断调查
    的头像 发表于 12-31 11:22 ?630次阅读
    ODX<b class='flag-5'>诊断</b><b class='flag-5'>数据库</b>转换工具 - DDC

    数据库数据恢复—Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分
    的头像 发表于 12-16 11:05 ?718次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Mysql<b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b>恢复流程

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据库事件触发的应用。示例使用了postgresql和Python。
    的头像 发表于 12-13 15:14 ?712次阅读

    数据库数据恢复—MYSQL数据库ibdata1文件损坏的数据恢复案例

    mysql数据库故障: mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库
    的头像 发表于 12-09 11:05 ?706次阅读

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    一个运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成一个NDF文件,每个NDF几百GB大小。数据库包含两个LDF文件。 存储损坏,数据库
    的头像 发表于 10-31 13:21 ?759次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    Oracle数据恢复—异常断电后Oracle数据库报错的数据恢复案例

    Oracle数据库故障: 机房异常断电后,Oracle数据库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据
    的头像 发表于 09-30 13:31 ?807次阅读
    Oracle<b class='flag-5'>数据</b>恢复—异常断电后Oracle<b class='flag-5'>数据库</b>启<b class='flag-5'>库</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—SQL Server数据库出现823错误的数据恢复案例

    SQL Server数据库故障: SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库
    的头像 发表于 09-20 11:46 ?742次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—SQL Server<b class='flag-5'>数据库</b>出现823错误的<b class='flag-5'>数据</b>恢复案例

    华纳云:MySQL初始化操作如何创建新的数据库

    要在MySQL中创建一个新的数据库,可以按照以下步骤进行操作: 登录到MySQL数据库管理系统中。可以使用MySQL命令行客户端或者图形化工具,如phpMyAdmin。 使用CREATE
    的头像 发表于 09-04 14:30 ?594次阅读