S32k324 VLSR mode

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

S32k324 VLSR mode

244 Views
Prasad_330
Contributor III

Hi 

we are working on s32k324 very Low speed run mode for CAN 

 

To enter into VLSR mode from the RUN mode, I am changing the CLOCK to 3Mhz.

Before changing the clock i am de_initializing the CAN.

after changing the clock to 3MHZ ,I am reinitializing the CAN with 3Mhz

Prasad_330_0-1724842349274.png

The structure (above )"FlexCAN_Config0_VLSRM"  is created by me.

It is copied from the other project where  Flex CAN Protocol Clock is equal to 3MHZ and bitrate is equal to 500Kbps.

In the RUN mode CAN Tx and RX is working fine.

In the VLSR mode 

For CAN transmission we getting the return value as "FLEXCAN_STATUS_SUCCESS" for the ever first  time and from next cycle we are getting "FLEXCAN_STATUS_TIMEOUT" and also we are not getting any bus error.

But  if CAN transmission is done @100 ms interval from external environment to the s32k324 (using CAN Analyzer) most of the time we get  the return value as "FLEXCAN_STATUS_SUCCESS"  and randomly we are getting the CAN interrupt, which we have to get for every 100ms.

I have also attached the stand alone code for CAN VLSR mode.

Plz let me know any other parameter should be taken care

0 Kudos
Reply
1 Reply

208 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

seems you do not follow few requirements...
- with 3MHz PE clock there is not valid can bit timing configuration for 500kbps. Minimum can bit time is 8tqs, you set it just for 6tqs
- you should keep minimum ratio between bit rate and module bus clock (AIPS_PLAT_CLK) which is 16, I think.

So try to lower CAN bit time, or increase system/PE clock and recalculate bit timing parameters.

BR, Petr

0 Kudos
Reply