Autosar CAN开发03(CAN分析仪观测到的报文与DBC中的报文信号对应关系)

        对于一帧报文来说,报文有仲裁域和数据域(CAN报文在从物理来看就是一段高低电平,只是这段高低电平存储了数据,而仲裁域就是这段高低电平里存储报文ID等所在地方,数据域就是存储实际有用数据的地方。不理解的可以先去看看报文的结构,我前面的文章里面有说)

        而数据域就是存储所谓“信号-Signal”的地方,对于CAN报文,数据域固定为8个字节,而CANFD报文数据域为64个字节(数据域的字节并不一定要使用完,你可以把想使用的数据存放到数据域的任何地方,对于不想用的地方直接空着不填数据就行了,空着的地方发数据出去时是发0,并与接收方沟通好不接收空着的地方就好了。)。

        数据域在DBC中表现如下图(下图所展示的是普通CAN报文),总共有8个Byte,64个bit。

下图中,左边的0-7代表的Byte位置,上面的0-7代表的是Bit位置。下图每个颜色不同的地方都代表一个独立的信号,所占Bit位置长度也能直接看出。

        如图中的"Test_Signal_Temp"信号,所占位置位Byte2的整个字节。"TestSignal_4",所占位置为Byte5的第0-3个Bit(位于整个数据域中的Bit40-Bit43)

        当把这帧报文发送到总线上,用CAN分析仪观察报文,结果就会像下面图中那样(手上没有合适的报文,只能拿一个来改了)。

        在图中Byte0-Byte5都是0,说明Byte0-Byte5发送的数据总线值都是0(总线值虽然是0,但如果有偏置,那么物理值可能就不是0,总线值和物理值后面会说到)。Byte6是空信号(上面DBC)所以不管Byte6。

        接下来我们看Byte7,Byte7是0X1D对应二进制是:0001 1101,与DBC中的信号对应如下图 

        讲到这里,应该明白DBC中的报文数据和信号是怎么回事了。

        下一章我会讲解DBC信号的各个参数的具体含义。


DBC参考文件及打开.dbc文件的软件放在网盘里面:

百度网盘 请输入提取码,提取码为:pqze

打开.dbc文件的软件也可以直接上官网下载
CANdb++ | Vector



 


 返回目录:

Autosar BSW 开发笔记(目录)-CSDN博客

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值