MCAL配置

CanController配置

每路CAN配置一个CanController​​,一般参数如下:

这里需要关联波特率配置CanControllerBaudrateConfig​及CAN时钟,其中时钟在MCU中配置。

CAN波特率参数配置:

对于普通CAN,只有General部分参数;对于CANFD,多出了CANFD数据场参数。

其中CanControllerSeg1​及CanControllerSeg2​ 根据实际采样点需求配置,采样点计算:

Sample Point = (SS + PTS + PBS1) / (SS + PTS + PBS1 + PBS2);

  • SS = 1

  • PTS即 CanControllerPropSeg

  • PBS1即 CanControllerSeg1

  • PBS2即 CanControllerSeg2

关于二次采样点相关参数

只需要配置二次采样点偏移即可,二次采样点由can控制器自行计算。

CanControllerTrcvDelayCompensationOffset :指定收发器延迟补偿偏移,单位为ns。如果未指定,则禁用收发器延迟补偿。延迟时间四舍五入为除以CanCpuClockRef所指的频率。

不同于采样点,第二采样点在CAN FD控制器接收其他节点发送报文的过程中并不会起到任何作用。第二采样点的作用,是在不改变传输延迟补偿的情况下,实现CAN FD在数据场的位错误检测要求。

CanHardwareObject 配置

每路CAN需要配置两个CanHardwareObject​ ,一收一发,二者均需要与CanController​关联。

接收:

发送: