CAN Module in S32K1xx via Autosar SDK

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CAN Module in S32K1xx via Autosar SDK

442 Views
Kunal_Gettobyte
Contributor III

While working on Autosar MCAL stack for NXP S32K144 MCU, i am using CAN peripheral of S32K144 Microcontroller.

But am confused between certain things:

1) What is Difference between CAN module and FlexCAN module while configuring the peripherals.

What i understood is that CAN module, which comes under MCAL component is according to Autosar CAN Driver specification document Specification of CAN Driver (autosar.org):, This module has API's according Autosar MCAL layer specs for CAN driver and which will be used further in above layers of autosar.

While FlexCAN module, which comes under driver component is not according to Autosar CAN Driver and it is Non-autosar RTD of FlexCAN peripheral of NXP S32K1xx. Can FlexCAN module API's be used with above layers of Autosar? Is it designed with respect to any Autosar specification document?

Let me know, if my understanding is correct? If it is wrong then kindly correct me.

Kunal_Gettobyte_0-1718134375653.png

 

2) What are difference between Driver and MCAL module's? As i see majority of peripherals are same. What i understood is MCAL consists of components which are designed according to Autosar specs and Driver components consists of Non-Autosar RTD of those peripherals.

0 Kudos
Reply
1 Reply

418 Views
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @Kunal_Gettobyte,

Yes, your understanding is correct.

CAN driver is an AUTOSAR driver, while FlexCAN driver is the low-level driver for FlexCAN hardware underlying.

For example, by selecting FLEXCAN_0, you will configure FlexCAN_0 instance. Configure other parameters, then generate the code. The generation code for FlexCAN_0 instance will be named as FlexCAN_Ip_... e.g. FlexCAN_Ip_PBcfg.c, FlexCAN_Ip_PBcfg.h... Then you will use the configuration structure generated as input for FlexCAN APIs.

Depending on the context wanted to be used by the upper layer, a specific Interface must be used, either AUTOSAR (high level interface) or non-AUTOSAR (IP Layer) context.

Julin_AragnM_1-1718216929749.png

Differences are Standard ASR configurations. You can actually see in newer RTD versions that both modules are FlexCAN:

Julin_AragnM_2-1718218118557.png

You can look into the following trainings:

Best regards,
Julián

0 Kudos
Reply