dbc文件格式解析
dbc对于汽车工程师来说,应该说是很熟了,它是用于描述整车CAN通信矩阵的文件,包括CAN消息的ID定义、收发周期、交互节点、数据场定义等,通常我们是用candb++来编辑dbc文件,很少有人去抠dbc文件的格式,下面就来捋一捋dbc的格式。
Dbc中主要的格式有以下几条:下面就分别捋一捋每条指令的意思。
BO_420 VCU_15: 8 VCU
SG_VCU_DCU_TorqSet : 24|12@0+ (1,-1000) [-1000|1022] "Nm" DCU
CM_BO_420"Transmitted by VCU,including TorqSet,TorqAct,ModeReq,";
CM_ SG_ 420 VCU_DCU_TorqSet "The DCU torque set ";
BA_ "GenMsgCycleTime" BO_ 420 1000;
BA_ "GenSigStartValue" SG_ 420 VCU_DCU_TorqSet 1000;
VAL_ 420 VCU_DCU_TorqSet 2000 "Invalid"
1.BO_ 420 VCU_15: 8 VCU
BO_:代表一条消息的起始标识;
420:消息ID的十进制形式,=0x1A4;
VCU_15:消息名;
“:”:分割符号;
8:报文长度,帧字节数;
VCU:发出该消息的网络节点,标识也可以为为Vector__XXX,表示未指明具体节点;
2.SG_ VCU_DCU_TorqSet :24|12@0+ (1,-1000) [-1000|1022] "Nm" DCU
SG_:代表一个信号信息的起始标识;
VCU_DCU_TorqSet:信号名,分长名与短名,此处是短名,长为名非必须;
“:”:分割符号;
24:信号起始bit;
|:分割符号;
12:信号长度;
@0+ :@0表示是Motorola格式(Intel格式是1),+表示是无符号数据
(1,-1000):(精度值,偏移值);
[-1000|1022] :[最小值|最大值], 物理意义的最小与最大,现实世界的有物理意义的值,比如此处设定扭矩最大为1022Nm;
"Nm":信号的单位;
DCU:接收处理此信号的节点,同样可以不指明,写为Vector__XXX;
3.CM_ BO_ 420"Transmitted by VCU, including TorqSet,TorqAct,ModeReq,"
CM_ SG_ 420 VCU_DCU_TorqSet "The DCU torqueset "
CM_:起始标识,以上两条分别对CAN信息和信号的功能进行详细的描述,用于注释;
4.BA_"GenMsgCycleTime" BO_ 420 1000
BA_:起始标识,用于描述BO_420的周期属性单位为ms,也就是说BO_420的周期为1000ms
5.BA_"GenSigStartValue" SG_ 420 VCU_DCU_TorqSet 1000
BA_:起始标识,用于描述信号VCU_DCU_TorqSet的初始值为1000
6.VAL_ 420 VCU_DCU_TorqSet2000 "Invalid"
VAL_:起始标识符,用于对信号值的描述,如上将信号VCU_DCU_TorqSet信号的无效值设置为2000。
关注公众号:汽车ECU开发,获取更多信息,还可以获取AUTOSAR资料包
还没有评论