DBC文件格式错误导致Davinci Configurator报错问题总结

发布于 2023-5-17 11:42
浏览
0收藏

前言

使用Vector公司的Davinci Configurator工具导入Can DBC文件自动配置BSW模块本来是一件很丝滑(Vector的工具确实更好用…)的工作,但是从客户那里拿到的DBC文件格式存在各种问题,导致Davinci工具也报各种错误,由于以前没有Davinci的使用经验,解决问题的过程也比较痛苦,这里把遇到的DBC文件格式错误导致Davinci报错问题记录一下。


关于DBC文件的详细介绍可以参考这篇文章:http://www.360doc.com/content/22/0210/09/50927056_1016678962.shtml

正文

1.周期帧报文

问题:对于周期发送报文,Com模块的ComIpdus中生成的ComTxMode配置信息应该是Tx Mode: PERIOD,且只有周期报文发送的时间参数,但是实际生成Tx Mode: MIXED,且自动生成了事件帧报文发送的实际参数

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC问题:对于周期报文,周期报文的属性参数GenMsgSendType应该为Cyclic,且报文下的每一个Siganl的GenSigSendType都应该为Cyclic,实际是有问题这帧报文下有一个Signal的属性是不是Cyclic

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

Note: 周期报文的周期属性参数一定要是Cyclic,不能是Circular或者Period(Davinci会当成NoMsgSendType来处理)。


正确修改DBC后

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

2.事件帧报文

问题:对于事件触发发送报文,Com模块的ComIpdus中生成的ComTxMode配置信息应该是Tx Mode: DIRECT,且只有事件报文发送的时间参数,但是实际生成Tx Mode: MIXED,且自动生成了周期报文发送的实际参数

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC问题:对于事件帧报文,报文的属性参数GenMsgSendType应该为OnChange/NoMsgSendType,且报文下的每一个Siganl的GenSigSendType都应该为OnWriteWithRepetition/OnChange/xxx,实际是有问题这帧报文的GenMsgSendType配置为Cyclic

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

正确修改DBC后

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

3.网络管理报文

问题:网络管理发送报文的NM属性已经配置了,但是Davinci工程没有自动生成CanNm/NM相关的配置容器和参数?

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC的问题:ECU的全局参数中没有配置NM的NmAsrNode参数。

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

4.诊断报文

诊断报文只要配置好:

DiagRequest:物理寻址接收报文配置属性

DiagResponse:物理寻址发送报文配置属性

DiagState:功能寻址接收报文配置属性

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

5. DBC文件属性配置

问题:对于普通收发的应用报文,Davinci会给这一帧报文生成Com<->PduR<->CanIf的协议栈信息,但是实际没有生成Com到CanIf的PduR路由信息。

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC的问题:对于普通收发的应用报文,应该配置GenMsgILSupport参数为Yes。

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

正确修改DBC后

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

小知识:有时候发现一些DBC的报文缺少某些必需的配置属性,怎么给DBC添加一个配置属性?

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区

小技巧:有时候我们发现两个DBC报文的属性差异很大,想以一个DBC为基准,修改另一个DBC的配置属性和基准DBC的配置属性完全一样,除了一个一个配置属性去增删查改外,还有什么更简单的办法?

DBC文件格式错误导致Davinci Configurator报错问题总结-汽车开发者社区


推荐阅读

Autosar架构下的模块详细设计及代码实现--基于配置的编程方法

AUTOSAR 通信服务-CanSM概念详解

AUTOSAR 通信服务-PDU Router

AUTOSAR CAN通信协议栈分析(2)-CanIf

Bug分析-内存被异常篡改问题分析

AUTOSAR架构下CAN BusOff问题分析

C语言编程技巧(1)-表驱动法

CANoe工具使用(1)-实现CAN通道的收、发、录、回放报文

S32K平台学习(1)-S32K144启动流程分析

详解芯片Rese Vector和Interrupt Vector-以S32K和RH850为例

Can通信协议栈分析(1)-Can Driver

AUTOSAR 通信服务 - NM概念详解

AUTOSAR模式管理-EcuM Sleep and UP详解

AUTOSAR 诊断服务-DEM功能概述

基于AUTOSAR与Matlab开发应用层(三)应用层总体功能开发和集成

AUTOSAR-MCAL--SPI模块详解(三)

AUTOSAR-MCAL--MCU模块详解

RH850-U2A16芯片--RAM and Flash介绍

AUTOSAR存储协议栈-- EEPROM Driver模块介绍

AUTOSAR-MCAL--SPI模块详解(三)

详解芯片Rese Vector和Interrupt Vector-以S32K和RH850为例

AUTOSAR架构下RH850芯片深度休眠配置实践-Conifig EcuM and BswM

AUTOSAR架构下关于CanNm的几点思考

AUTOSAR下Com模块中Signal Group详解

Can/Lin报文的触发发送(Trigger Transmit)

AUTOSAR 通信服务-Com模块报文的发送机制


文章转载自公众号:汽车电子嵌入式

分类
收藏
回复
举报
回复
相关推荐