Autosar BSW层CAN通讯开发------02(应用报文接收流程-中断方式,CAN/CANIF/PDUR/COM/RTE)

使用Verctor工具链生成的代码中,底层COM接收应用报文的流程如下:

CAN控制器有Basic CAN和Full CAN两种模式,上图为FullCAN模式中断接收的的应用报文接收流程。

接收报文时,硬件把接收到的报文放到硬件寄存器中,并触发CAN接收中断,在CAN层把硬件寄存器的报文数据读取到CAN层变量中,并把该CAN层变量指针传至CANIF层,在CANIF层进行报文ID滤波和报文字节长度滤波(在Vector的Configurator工具中会配好需要接收的报文ID及对应的报文字节长度,接收到未配置的报文时,则会在CANIF层中过滤掉,不再进行上传)。当确定时需要接收的报文后,继续讲指针传至PDUR,PDUR再向上传递指针至COM层,并在COM层把接收的报文信号进行解析,存放到对应的报文信号变量中,最后供ASW(应用层)使用。

此流程图只是应用报文的接收流程图。另外还有网管报文、诊断报文等,这些报文并不是按照应用报文的流程走。

Autosar BSW层CAN通讯开发------02(应用报文接收流程-中断方式,CAN/CANIF/PDUR/COM/RTE)_第1张图片

 

 

你可能感兴趣的:(autosar)