试图了解AUTOSAR中基于信号的路由和基于PDU的路由的性能差异。
根据我的理解,
无论如何,这些two.Because之间的性能有什么不同呢?路由是作为PDU处理的。一些注意事项可以看到基于信号的路由具有较低的延迟。为什么会这样呢?基于信号的路由是否有开销?
发布于 2022-05-27 02:03:15
如果我的理解是正确的,基于PDU的路由和基于信号的路由有很大的不同。基于PDU的应该要快得多。
基于信号的路由->需要将信号转换为I并进行路由。 基于PDU的路由->直接路由
在我看来是非常正确的,所以让我们用一个带有几个PDU的CAN FD框架来检查一个示例。
Byte 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
PDU [-------PDU_1------] [--PDU_2--]
Signal II II II
Signal_1 Signal_2 Signal_3
4 bits 3 bits 1 bit
static uint32_t GW_GetSignal_1 (uint8_t *Data)
{
uint32_t Byte_0 = Data[0];
uint32_t Bytes = (Byte_0 >> 3);
uint32_t SignalValue = (Bytes & 0xF); /* 0000.1111 */
return SignalValue;
}
static uint32_t GW_GetSignal_2 (uint8_t *Data)
{
uint32_t Byte_0 = Data[0];
uint32_t Bytes = (Byte_0 >> 0);
uint32_t SignalValue = (Bytes & 0x7); /* 0000.0111 */
return SignalValue;
}
static float Raw32ToPhysical (uint32_t RawValue, float Factor, float Offset)
{
float PhysicalValue = ((float)RawValue) * Factor + Offset;
return PhysicalValue;
}
https://stackoverflow.com/questions/72390245
复制相似问题