初识DBC属性

本文详细解释了DBC文件中CAN数据库的各种属性,包括DBC属性的值类型(如枚举、十六进制等)、分类(网络属性、节点属性等),以及AUTOSAR和OSEK网络管理属性,还涵盖了Com属性和诊断属性的特性和范围。
摘要由CSDN通过智能技术生成

DBC概述

CAN数据库(Data Base for Can,DBC)文件用于描述一个CAN网络中所有ECU之间的CAN通信。DBC文件可以使用编辑器CANdb++来进行编辑。DBC文件可以导入到Davinci Configurator Pro中,通过使用DBC属性配置CAN通信栈。

DBC属性的值类型

值类型描述
Enum枚举类型,该类型的值可以采用有限的非数值列表,例如No / Yes。
Hex该类型的值为一个十六进制数,例如地址0x1FFFFFFF
Integer该类型的值为一个整形的数
String该类型的值为一个字符串

DBC属性的分类

从适用对象上可以分为四类,包括网络属性,节点属性,报文属性,信号属性。一个CAN网络中包含两个以上的节点(即ECU),每个节点都可以接收或发送不同类型的报文,每条报文中可包含多个信号。

属性分类描述
网络属性适用对象为整个网络(Network)
节点属性适用对象为网络中的节点(Node)
报文属性适用对象为报文(Message)
信号属性适用对象为信号(Signal)

从用途上主要可以分为:Com属性(用于描述AUTOSAR COM模块的相关属性)、诊断属性(用于描述AUTOSAR DCM模块和CANTP模块的相关属性)、网络管理属性(用于描述OSEK-NM模块、AUTOSAR CanNm模块的相关属性)以及通用属性。

通用属性

属性名适用对象值类型值与范围(粗体为默认值)描述
Baud rateNetworkInteger0…500000…1000000CAN网络波特率,单位为比特/秒。
SamplePointMinNetworkInteger50…75…100最小采样点
SamplePointMaxNetworkInteger50…90…100最大采样点
SyncJumpWidthMinNetworkInteger1…4最小重同步跳变宽度
SyncJumpWidthMinNetworkInteger1…4最大重同步跳变宽度
NBTMinNetworkInteger6…8…25Tq的最小数量
NBTMaxNetworkInteger8…21…25Tq的最大数量
ManufacturerNetworkStringVector指定原始设备生产商OEM,取值必须为“Vector”
DBNameNetworkStringCAN指定网络名称
BusTypeNetworkStringCAN ,CAN FDCAN-2.0和CAN-FD网络的定义。如果至少有一个CAN-FD消息,则必须设置为“CAN -FD”
VFrameFormatMessageEnumCAN Standard,CAN Extended,CAN FD Standard,CAN FD Extended表示CAN报文的类型。提示:此属性可用于每个消息,而无需在属性定义中声明。其显示文本为“ID-Format”或“Type”

Com属性

属性名适用对象值类型值与范围(粗体为默认值)描述
GenMsgILSupportMessageEnumNo: 0 ,Yes: 1指示消息应由COM处理。如果选择“Yes”,则消息将由COM处理,否则不处理
GenMsgSendTypeMessageEnumCyclic: 0, NotUsed: 1. .7, NoMsgSendType: 8指定I-PDU的Tx行为, 可以与任何类型的GenSigSendType组合使用
GenSigSendTypeSignalEnumCyclic: 0, OnWrite: 1, OnWriteWithRepetition: 2, OnChange: 3, OnChangeWithRepetition: 4, NotUsed:5…6, NoSigSendType: 7指定信号的发送行为。OnChange仅支持<= 4字节的信号。请注意:有重复和无重复的传输类型组合将导致消息随时重复传输。
GenMsgCycleTimeMessageInteger0…65535报文每一次循环传输之间的时间 ,单位:ms
GenMsgCycleTimeFastMessageInteger0…65535如果至少有一个IfActiveSignal具有不同的默认值,则该属性定义每个消息循环传输之间的时间(毫秒)。与重复报文(即GenMsgNrOfRepetition > 0)相关的还有:每次重复之间的时间。
GenSigStartValueSignalInteger0…2147483647信号的默认值
GenSigInactiveValueSignalInteger0…2147483647指示信号的无效值
GenMsgDelayTimeMessageInteger0…65535具有相同标识符的不同报文传输之间的最小时间,单位:ms
GenMsgStartDelayTimeMessageInteger0…65535定义了从Com_IpduGroupStart开始到第一次发送这个I-PDU的循环部分之间的时间,单位:ms
GenMsgNrOfRepetitionMessageInteger0…255一次初始传输请求后的传输重复次数。重复之间的时间必须使用dbc属性GenMsgCycleTimeFast来定义
GenSigTimeoutTime_SignalInteger0…65535特定节点接收该信号的超时时间,单位为毫秒。如果为一条消息配置了不同的GenSigTimeoutTime值,并且没有使用更新位,则使用最低超时时间(最强定义)进行超时监控。必须为接收此信号的每个Ecu提供专用属性定义(GenSigTimeoutTime_)

网络管理属性

AUTOSAR网络管理属性
属性名适用对象值类型值与范围(粗体为默认值)描述
NmTypeNetworkStringNmAsr该属性定义了NM的类型,AUTOSAR NM网络必须设置为“NmAsr”
NmAsrNodeNodeEnumNo = 0, Yes = 1该属性定义了相应的节点是否使用AUTOSAR NM
NmAsrTimeoutTimeNetworkInteger1…1000…65535该属性定义了NM网络超时时间
NmAsrWaitBusSleepTimeNetworkInteger1…750…65535此属性定义了等待总线休眠时间
NmAsrRepeatMessageTimeNetworkInteger1…400…65535这个属性定义了重复报文时间
NmAsrMessageMessageEnumNo = 0, Yes = 1该属性定义了相应的报文是否为AUTOSAR NM报文
NmAsrMessageCountNetworkInteger1…64…256该属性定义了接收AUTOSAR NM报文的最大数目(报文范围)。取值必须为2的n次方,且n必须是自然数
NmAsrBaseAddressNetworkHex0…0x400… 0x1FFFFFFFNM报文的基址,与NmAsrMessageCount一起标识NM报文范围:NmAsrBaseAddress到NmAsrBaseAddress + NmAsrMessageCount - 1 ,取值必须是NmAsrMessageCount的整数倍
NmAsrCanMsgCycleTimeNetworkInteger1…100…65535NM报文周期时间
NmAsrCanMsgReducedTimeNodeInteger1…50…65535总线负载减少的报文时间。该属性是节点特定的,必须大于或等于½* NmAsrCanMsgCycleTime,但小于NmAsrCanMsgCycleTime
NmAsrCanMsgCycleOffsetNodeInteger0…65535NM报文传输偏移量,必须小于NmAsrCanMsgCycleTime
NmAsrNodeIdentifierNodeHex0…255有任意地址能力节点的默认地址。节点ID(如果使用了NID)
OSEK网络管理属性
属性名适用对象值类型值与范围(粗体为默认值)描述
NmTypeNetworkStringVector该属性定义了NM的类型,没有OEM特定功能的OSEK-NM网络必须设置为“Vector"
NmNodeNodeEnumNo = 0, Yes = 1该属性定义了相应节点是否参与OSEK-NM通信
NmMessageMessageEnumNo = 0, Yes = 1该属性定义了相应的报文是否为OSEK-NM报文
NmMessageCountNetworkInteger16…128…256该属性定义了ECU接收OSEK-NM报文的最大数量(报文范围)。该值必须为2的n次方,且n必须是自然数
NmBaseAddressNetworkHex0…0x400… 0x1FFFFFFFNM报文的基址;NM报文范围(NmBaseAddress,NmBaseAddress + NmMessageCount - 1)由该属性和NmMessageCount计算得出。取值必须是NmMessageCount的整数倍
NmStationAddressNodeHex0…0xFFECU自己的地址,由OSEK-NM使用

诊断属性

属性名适用对象值类型值与范围(粗体为默认值)描述
DiagStateMessageEnumNo = 0, Yes = 1设置为Yes时用于功能请求。CanTp将使用正常寻址方式
DiagRequestMessageEnumNo = 0, Yes = 1设置为Yes时用于物理请求。CanTp将使用正常寻址方式
DiagResponseMessageEnumNo = 0, Yes = 1设置为Yes时用于物理响应。CanTp将使用正常寻址方式
DiagConnectionMessageInteger0…0xFFFF通过该属性的相似值将DiagRequest和DiagResponse分组到一个连接,该值由TesterAddress,ServerAddr推导
DiagFdOnlyMessageEnumNo = 0, Yes = 1指定ECU将响应哪种类型的诊断请求。No:ECU将以CAN 2.0和CAN- fd两种格式响应诊断请求。Yes:ECU将仅以CANFD格式响应诊断请求。注意:报文请求和响应必须给定相同的属性值。此属性对CAN-2.0帧没有影响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值