在汽车行业中,特别是在车载通信系统中,CAN(Controller Area Network)是一种常用的通信协议。CAN通信矩阵(DBC文件)是用于描述CAN网络中消息格式的文件,它定义了网络上传输的消息的ID、数据长度、数据类型等详细信息。
目录
DBC文件的基本结构
一个典型的DBC文件包含以下几个主要部分:
1.版本信息:文件的版本和创建日期。
2.网络描述:描述CAN网络的参数,如波特率。
3.报文定义:定义网络中传输的消息,包括:
-
报文ID
-
报文名称
-
报文类型(普通报文,诊断报文或网络管理报文)
-
报文发送类型(周期型,事件型或周期事件型)
-
消息的方向(发送或接收)
-
帧格式(标准can,扩展can,标准canfd或扩展canfd)
-
报文长度
4.信号定义:定义消息中的每个信号,包括:
-
信号名称
-
信号长度(以位为单位)
-
排列格式(Intel或Motorola)
-
缩放因子和偏移量(用于原始数据和实际值的转换)
-
信号的单位和物理最小/最大值
-
信号发送类型(周期型,OnWrite,OnChange,OnWriteWithRepetition或OnChangeWithRepetition)
5.值表:定义信号的可能值及其含义,通常用于枚举类型。
DBC文件标识符的含义
1.VERSION:用户自定义的版本信息,可以不设置。
2.NS_:符号的网络段,使用DBC++生成时,自动生成,不需要修改。
3.BS_:波特率信息,可以不设置。
4.BU_:网络节点信息,报文传递的节点名称,需要设置。
5.BO_:报文信息,需要包含CAN ID,CAN报文名称,DLC长度和发送节点的信息,需要设置。
6.SG_:信号信息,需要包含信号名称,信号长度,信号起始位置,排列格式,缩放因子和偏移量,信号的单位和物理最小/最大值,接收节点的信息,需要设置。
- SG_ SignalName [SigTypeDefinition] : StartBit|SignalSize@ByteOrder Sign(Factor,Offset)[Min|Max] “Unit” Receiver
- ByteOrder的值:0表示Motorola格式,1表示Intel格式。
- Sign的值:+表示无符号数,-表示有符号数。
7.BA_DEF_:属性定义,可以为报文,信号,网络节点定义autosar相关的属性,需要包含属性的名称,数据类型和数据值范围,需要设置。
8.BA_DEF_DEF_:属性的默认值,需要包含属性的名称和默认值,需要设置。
9.BA_:属性设定值,可以为BA_DEF_定义的属性,进行值的设定,需要包含属性的名称和设定值,需要设置。
10.VAL_:信号数值表,需要包含信号所属CAN ID,信号名称,信号可以设定的值以及含义。
2032

被折叠的 条评论
为什么被折叠?



