S32k324 VLSR mode
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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