DBC文件

2024-08-22 02:18
文章标签 dbc

本文主要是介绍DBC文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

DBC文件:

波特率定义

        格式如下:

                        BS_:[baudrate:BTR1,BTR2];

        其中BS_为关键字,用于定义CAN网络的波特率;[ ]内容表示为可选部分,可以省略(如下图例子中即把该部分省略了);但关键字”BS_:”必须存在,省略则会出错。

网络节点的定义

        格式如下:

                        BU_:Nodename1 Nodename2 Nodename3 ……

        其中BU_为关键字,表示网络节点,格式中的Nodename1、Nodename2表示定义的网络节点名字,由用户自己定义;但需保证节点命名的唯一性。

        如示例中的BU_: AVNT ACU HUD :表示定义了AVNT、ACU、HUD这三个网络节点。

 

报文帧的定义

        格式如下:

                        BO_  MessageId(10进制数表示)  MessageName:  MessageSize  Transmitter

        (1)、BO_为关键字,表示报文;

        (2)、MessageId为定义的报文ID,是以10进制数表示的;如例子中的996,代表报文ID为0x3E4;

        (3)、MessageName表示该报文的名字,命名规则和C语言变量相同;

        (4)、MessageSize表示该报文数据域字节数,为无符号整型数据;

        (5)、Transmitter表示发送该报文的网络节点;如果该报文没有指定发送节点,则该值需设置为” Vector__XXX”。

        如示例中的BO_ 996 HUD_1_B: 8 HUD:表示定义了一条由HUD这个节点发送,数据域长度为8字节,ID为996(0x3E4),名字命名为HUD_1_B的报文。

信号的定义

        格式如下:

                        SG_  SignalName : StartBit|SignalSize@ByteOrder ValueType (Factor,Offset) [Min|Max] Unit Receiver

        (1)、SG_为关键字,表示信号;

        (2)、SignalName、 StartBit、 SignalSize分别表示该信号的名字、起始位、信号长度;

        (3)、ByteOrder表示信号的字节顺序:0代表Motorola格式,1代表Inter格式;

        (4)、 ValueType 表示该信号的数值类型:+表示无符号数,-表示有符号数;

        (5)、Factor表示因子,Offset表示偏移量;这两个值于该信号的原始值与物理值之间的转换。

        转换如下:物理值=原始值*因子+偏移量;

        (6)、Min|Max表示该信号的最小值和最大值,即指定了该信号值的范围;这两个值为double类型;

        (7)、Unit表示该信号的单位,为字符串类型;

        (8)、Receiver表示该信号的接收节点;若该信号没有指定的接收节点,则必须设置为” Vector__XXX”。

        如示例中的             SG_ HUD_BrightnessLv : 15|4@0+ (1,0) [0|15] “lv”  ACU,AVNT

表示定义了一个命名为HUD_BrightnessLv的信号,其起始位是第15位,信号长度4个位;信号是Motorola格式,数值类型为无符号类型数;因子为1,偏移量为0;信号取值范围为0到15;信号单位为字符串”lv”;该信号接收节点为ACU、AVNT这两个节点。

注解部分

        格式如下:

                        CM_  Object  MessageId/NodeName  “Comment”

        (1)、 CM_为关键字,表示注解信息;

        (2)、 Object表示进行注解的对象类型,可以是节点“BU_”、报文“BO_”、消息”SG_”;

        (3)、 MessageId/NodeName 表示进行注解的对象,若前面的对象类型是信号或者报文,则这里的值应为报文的ID(10进制数表示);若前面的对象类型为节点,则这里的值应为节点的名字;

        (4)、 Comment表示进行注解的文本信息;

        如示例中的   CM_ SG_ 996 HUD_HeightLv “Control hud height level”;

表示对ID为996(0x3E4)这条报文下的名为”HUD_HeightLv ”的信号进行注解说明,说明的内容为"Control hud height level"。

        又如         CM_ BU_ HUD “Head Up Display";表示对HUD这个节点进行注解说明,说明的内容为" Head Up Display "。

属性定义部分:

        格式如下:

                        BA_DEF_  Object  AttributeName  ValueType  Min  Max;

                        BA_DEF_DEF_  AttributeName  DefaultValue;

        (1)、 BA_DEF_为关键字,表示属性定义;

        (2)、 Object表示属性定义的对象类型,可以是节点“BU_”、报文“BO_”、消息”SG_”、网络节点” ”(用空格表示)等;

        (3)、 AttributeName表示进行定义的属性名字;

        (4)、 ValueType表示属性值的类型,可以是整型、字符串、浮点型、枚举类型等;

        (5)、Min/Max表示属性值的上下最值,即指定了取值范围(字符串类型没有此项)。

        (6)、 BA_DEF_DEF_为关键字,表示定义属性的初始值;

        (7)、 DefaultValue表示该属性的初始值。

        如示例中的   BA_DEF_ SG_  “MyTry” INT 0 11;

                             BA_DEF_DEF_  “MyTry” 0;

        表示对定义了一个针对信号类型的属性,属性名为”MyTry”,属性值是整型数据,取值范围在0到11之间,初始值为0。

数值表部分

格式如下:

                        VAL_  MessageId  SignalName  N “DefineN” ……  0  “Define0”;

        (1)、VAL_为关键字,表示数值表定义;

        (2)、 MessageId表示该信号所属的报文ID(10进制数表示);

        (3)、 SignalName表示信号名;

        (4)、 N “DefineN” ……  0  “Define0”表示定义的数值表内容,即该信号的有效值分别用什么符号表示 。

        如示例中的   VAL_ 996 HUD_OffSt 1 “Active”  0  “Not Active”;

        表示对ID为996(0x3E4)的这条报文下的,一个命名为”HUD_OffSt”的信号,进行其数值表的定义;用”Active”取代1;用”Not Active”取代0。

 

这篇关于DBC文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094954

相关文章

dbc转换成excel

‌要将DBC文件转换为Excel格式,可以使用Canoe软件进行导出。‌ 使用Canoe软件将DBC文件导出为Excel格式的具体步骤如下: 打开Canoe软件,并在项目工程中加载或创建一个DBC文件。在主菜单中选择“文件”>“导出”>“数据库”选项。在打开的导出数据库窗口中,选择“Excel”作为导出格式。根据需要,可以选择是否导出数据和/或信号的注释信息。点击“浏览”按钮选择一个目标文件夹

什么是dB?dBm、dBc、dBi、dBd怎么计算,有什么区别?

什么是dB?dBm、dBc、dBi、dBd怎么计算,有什么区别? 引言 在电子工程、通信和音频领域,dB(分贝)是一个常见的术语。许多人刚接触时可能会感到困惑,因为它不仅仅是一个简单的单位,还有多种不同的形式,如dBm、dBc、dBi和dBd。这篇文章将详细解释这些概念,并介绍如何计算它们,帮助初学者更好地理解和应用。 什么是dB? dB,即分贝,是一种表示两个数值比值的对数单位。分贝的基

[CAN] 创建解析CAN报文DBC文件教程

👉本教程需要先安装CANdb++软件,[CAN] DBC数据库编辑器的下载与安装 🙋前言   DBC(全称为Database CAN),是用于描述单个CAN网络中各逻辑节点的信息。 DBC是汽车ECU(Electronic Control Unit,电子控制单元)间进行CAN通讯的报文内容。通过DBC文件,我们可以了解CAN网络中各个节点(Network node)会发送哪些报文(Mes

[CAN] DBC数据库编辑器的下载与安装

DBC数据库编辑器 1 概述2 下载与安装2.1 下载2.2 安装 1 概述   VectorCANdb是一款专为CAN(Controller Area Network)通信设计的数据管理工具。这款软件为工程师们提供了一个全面、高效的平台,用于定义、修改和管理与CAN网络相关的数据,确保通信的准确性和效率。   通过VectorCANdb工具,用户可以轻松创建和编辑CANdb

【项目评析】深脑链DBC--区块链+人工智能的典型应用案例

2018-02-7  郭润华 近两年,我国对人工智能行业的关注与重视已经达到非常高的地步,去年7月份,国务院印发的《新一代人工智能发展规划》中将人工智能上升至国家战略级别,同时规划将在2030年实现人工智能理论、技术与应用总体水平达到世界领先水准。   随着机器深度学习技术的突破,人工智能在全球积累的浪潮也正是爆发,在此趋势下,智能家居、智能制造、智能农业、智能商务、智能医疗、智慧

LDF、DBC、BIN、HEX、S19、BLF、ARXML、slx等

文章目录 如题 如题 LDF是LIN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 DBC是CAN报文格式文件,把这个直接拖到软件里面,可以发报文和接收报文 BIN文件烧录在BOOT里面(stm32),有人喜欢叫固件,这个固件就是bin文件,bin文件比hex文件体积小 其实BOOT也可以烧录HEX文件,不过HEX文件一般偏大点(除数据外还包含其它信息) H

【DBC专题】-11-使用Cantools将CAN/CANFD DBC自动生成C语言代码

目录 1 安装Python和Cantools 1.1 查看Python已安装的Package包 1.2 在Python中安装Cantools插件包 1.3 获取更多Cantools工具的更新动态 2 经典CAN/CANFD DBC自动生成C语言代码 2.1 批处理文件CAN_DBC_To_C.bat内容说明 2.2 经典CAN/CANFD DBC文件要求 2.3 如何使用生成的C语

[AutoSar]BSW_Com04 从零开始创建DBC文件

目录 关键词平台说明一、前言二、软件获取和安装三、DBC的创建3.1 主体创建3.2 创建节点3.3 创建Attribute Definitions3.4 创建message(帧)3.5创建 signals3.6 创建value table3.7 调整signal 在message 中的位置3.8 一致性检查    关键词 嵌入式、C语言、autosar、OS、BSW 平

【DBC专题】-8-经典CAN2.0 DBC快速切换为CANFD DBC

目录 1 Classical CAN2.0 DBC快速切换为CANFD DBC 1.1 Classical CAN2.0 DBC的模板文件内容 1.2 CANFD DBC的模板文件内容 1.3 基于Classical CAN2.0 DBC快速切换/修改为CANFD DBC 1.4 基于CANFD DBC快速切换/修改为Classical CAN2.0 DBC END 优质博文推荐

【DBC专题】-12-不同类型报文(应用/诊断/网管/测量标定)在DBC中配置,以及在Autosar各模块间的信号数据流向

点击返回「Autosar从入门到精通-实战篇」总目录 案例背景(共18页精讲):该篇博文将告诉您: 1)Autosar中,不同类型报文(App应用,UDS/OBD诊断,NM网络管理报文,XCP测量标定)的信号数据流向; 2)CAN DBC中,不同的Attribute属性决定不同类型报文(App应用,UDS/OBD诊断,NM网络管理报文,XCP测量标定)。 3)TechnicalReference