AnsweredAssumed Answered

s32k144EVB FlexCAN0 Pretended Networking mode

Question asked by on Dec 5, 2018
Latest reply on Feb 22, 2019 by Shanwen Li

When I use the s32k144EVB board, in order to reduce FlexCAN0 power consumption, I want to go into Stop mode and Pretended Networking mode. But it never got in. The problem is that CAN MCR[LPMACK] cannot be set,How do I get FlexCAN0 modules entered Stop mode and Pretended Networking mode correctly.The global application Stop mode is required in the reference manual before setting CAN MCR[LPMACK] field.I can't understand how to do this. I have read some documents which require the following steps, but there is no specific method. Stop mode(S32K1xx Series Reference Manual)
If FlexCAN receives the global Stop mode request during Freeze mode, it sets the LPMACK bit, negates the FRZACK bit and then sends the Stop Acknowledge signal to the CPU, in order to shut down the clocks globally. Pretended Networking Mode(S32K1xx Series Reference Manual)
This mode can be selected to operate together with Stop mode. Before entering in one of these low power modes, the PNET_EN bit in CAN_MCR Register must be asserted.

5.5. STOP and VLPS mode entry sequence(Power Management for S32K1xx)
1. The CPU clock is gated off immediately.
2. Requests are made to all non-CPU bus masters (DMA and ENET if available) to enter Stop mode.
3. After all masters have acknowledged they are ready to enter Stop mode, requests are made to all bus slaves to enter Stop mode.
4. After all slaves have acknowledged they are ready to enter stop mode, system and bus clocks are gated off depending on the target mode–VLPS/STOP1/STOP2. Note that, in STOP2 mode bus clocks will not be gated.
5. Additionally, for VLPS mode, clock generators are disabled in the SCG unless configured to be enabled.
6. The on-chip regulator in the PMC and internal power switches are configured to meet the power consumption goals for the targeted low-power mode. This step is valid only for VLPS and not for STOP as in STOP mode the PMC is in Run regulation.

How do I get FlexCAN0 modules entered Stop mode and Pretended Networking mode correctly?I know the key question, how do I get FlexCAN modules to be set CAN MCR[LPMACK]. I really hope someone can help me solve this problem.