[MQX LOWPOWER] Issue with CAN wakeup source on STOP mode

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

[MQX LOWPOWER] Issue with CAN wakeup source on STOP mode

1,246 Views
toanlengoc
Contributor I

Issue Description:  


I configured CAN module as wakeup source from STOP mode as following:

1- Init Flexcan 1 Module in Core A5 & config clock gate for CAN1 is on during all modes, even STOP mode. (by setCCM_CCGR9[CG148/Flexcan1] to 10b)

2- Config CAN1 interrupt to wake up from STOP mode (by clear bit No.27 (Flexcan 1) in GPC_IMR2 register to enable Flexcan 1 interrupt as source of wake-up from STOP mode - Please refer Vybrid Reference Manual F-Series. Index 15.3.5 Interrupt Mask Register 2 (GPC_IMR2) - pages 757)

 

3- set Core A5 to STOP mode

4- send CAN frame from CANoe to generate CAN 1's interrupt (to wake Core A5 up)

  

Result: Core A5 is still on STOP mode --> The above configuration is not effective.

  

Note:

+ In case Core A5 is set to WAIT mode in step 3;  the Core A5 is wake up when CAN frame is sent.

 

In summary:

- CAN Interrupt can wake up A5 core from WAIT mode but cannot wake-up the processor from STOP mode. Is it a hardware issue or flexcan module is not designed as wakeup source from STOP mode !?

 

  

Original Attachment has been moved to: canwakeup-issue.txt.zip

Original Attachment has been moved to: CAN_LPM_Project.zip

Labels (3)
0 Kudos
6 Replies

597 Views
timesyssupport
Senior Contributor II

Hello Toan,

In your program, CCM_CCGR9[CG148] is set to 11b (Clock is on during all modes, except stop mode.), not 10b. This is reflected in the program output in your attached .docx file:

CCM_CCGR9 = 0x3f052344

Please ensure that this register contains the value 0x3f052244, then try waking up from STOP mode with FlexCAN1.

Thanks,


Timesys Support

597 Views
toanlengoc
Contributor I

Dear Timesys Support,

Thanks for your reply.

I configured as you recommend, but the processor cannot be able to wake up.

As far as I know, when you disable clock on stop mode; the peripheral module is disable --> No interrupt (for this module) is generated in STOP mode --> it's not able to wake up processor.

Please see attached file for details.You can see that when the clock for Flexcan is disable, the CAN signal is lost in CANoe (It's different than flexcan clock is enable in STOP mode.)

Regards,

ToanLNcanwakeup_issue.PNG.png

0 Kudos

597 Views
naoumgitnik
Senior Contributor V

(updated)

Dear Toan,

It looks like we had a STOP mode question some time ago.

Please, try using the attached code by rendy, which worked well in the past. - It is not related to CAN, just proper control of the STOP mode itself.

Sincerely, Naoum Gitnik.

(timesyssupport - FYI)

0 Kudos

597 Views
timesyssupport
Senior Contributor II

Hello Toan,

If you have set CCM_CCGR9[CG148/Flexcan1] to 10b, then I am unsure why you are unable to wakeup from STOP mode. I did notice that there appears to be a typo in your source where you attempt to print CCM_CCGR9 (line 26 at CAN_LPM_Project/mqx/examples/can/flexcan_lpm_demo/fsl_lowpower.c), so I do not think we are seeing the true value of the register in your application output.

Does the Freescale Vybrid Design team have any input on this issue?

Thanks,

Timesys Support

0 Kudos

597 Views
karina_valencia
NXP Apps Support
NXP Apps Support

naoumgitnik can you comment please?

0 Kudos

597 Views
karina_valencia
NXP Apps Support
NXP Apps Support

timesyssupport can you  help here?

0 Kudos