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

发布时间:2024-06-25  

上一堂课已经有给大家介绍关于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提供的解决方案和产品。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>