Autosar杂谈之原始值和物理值

今天想到一个在诊断和通信开发过程中的小点,原始值和物理值。

熟悉DBC的朋友知道,我们在DBC的Signal属性中,有一项是对其signal的数值属性做配置,如图所示。

我们主要关心的一般是length、factor、offset,那么根据该属性配置可得物理值和原始值的关系为:

Physics= Factor * Raw + Offset

Raw就为实际上就是ECU中传递的值,而Physics即为真实的物理值,即CANoe根据DBC解析完,具体的物理量。

而在诊断中,诊断描述文件,即CDD文件中,对于DID线性数据类型中,也存在一个类似的转换关系:

Physics= Factor/Divsor * Data +Offset

很多场景下,主机厂要求把某个信号值以诊断DID的形式汇报出来,而CDD中定义的参数和DBC中的不同,那么应该怎么办呢。

首先,我们需要明确,诊断从总线拿过来的值就是原始值Raw,那么在两边参数不同的情况下,那就必须再人为加一层转换。

例如DBC中定义Factor为0.5,offset为10,那么根据公式物理值为

Physics = 0.5* Raw + 10

而CDD中为:

Physics = 2 * Data + 5

已知两边的物理值相等,那么Data为

Data = 0.25 *Raw +2.5

因此,我们需要诊断DID函数中,将从总线上的值乘上0.25再加2.5,这样的话CANoe诊断台根据CDD所解析的物理量才能与总线根据DBC解析的保持一致。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值