DBC定义
DataBase CAN文件是一个标准的描述CAN总线数据的文件,用来定义CAN消息、信号和数据格式。DBC文件通常包含以下几类消息:
1、CAN消息,每个CAN报文(即一个ID),每个message对应一个ID,且同一个DBC中的ID不能重复。
2、信号:CAN消息中的每一个数据元素,包含特定的信息(例如车速、温度、转速),每个消息会定义多个信号signal,每个信号对应数据段的一个或多个bit,非信号复用模式下,每个信号所对应的数据段的位不能有交集。
3、单位:信号的数据单位,通常是车速(km/h)、转速(rpm)、温度(℃)
4、编码规则:如何将接收到的原始数据转换成实际的应用数值。
DBC解析
将原始报文(原始值)通过固定的算法计算后,解析出实际数值的过程。
CAN报文拿到之后,根据DBC文件消息定义对其CANID进行匹配,拿到对应的消息之后,根据消息中的信号定义按位解析,解析规则如下:AX+B=Y。A为变换比例,X为原始值(即数据段直接提取的数值),B是偏移量,Y为最终计算实际值。
DBC解析举例:ZCANPRO接收到一个ID为0x96,数据段为11 22 33 44 55 66 77 88报文,ID为0x96中的信号定义为:VehSpd信号起始位为48,intell协议(大端模式),8位长度,变换比例为0.05,偏移为-5。对该报文进行DBC解析:VehSpd信号其中的起始位48,长度8个位,即对应数据段的第七个字节-——0x77,实际值计算:0.05*0x77(转十进制)-5=0.95
DBC发送
根据用户需要,添加DBC文件,导入消息后,编辑信号的实际值,软件自动生成原始值即可发出。
DBC发送(信号变化)
根据用户需要,添加DBC,导入消息后,编辑信号的实际值,并编辑需要的信号变化规律(如正弦等)
DBC接收
新建DBC视图,加载DBC文件,视图会将收到的报文与DBC文件匹配,显示相应的消息/信号解析结果。
高级功能【实时曲线分析】,加载DBC,新建曲线面板,选择接收数据的通道,将需要解析的信号拖入面板中,即可实时曲线显示。注!!!曲线分析的【曲线图】仅解析接收方向的数据!
DBC常见问题
加载DBC时,若提示加载DBC失败,常见问题如下:
1.CANID冲突,解决方法——客户自行排查DBC文件定义
2.DBC文件格式与ZCANPRO不兼容,致远电子ZCANPRO软件只按CANDB++工具生成的DBC格式来解析,如果用其它第三方DBC编辑工具,可用CANDB++工具加载此DBC文件,然后另存为一个新的DBC。
3.DBC定义不符合规范,用CANDB++工具打开DBC,检查是否有感叹号告警的消息/信号。