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关联。
接收:
发送: