Other Parts Discussed in Thread: HALCOGEN
Dear TI Team,
I am working on Low Power Mode. I am able to switch to Low Power Mode and get back to normal operation using RTI and/or GPIO.
Now I am going to use CAN bus in my project. During program is running I would like to have possibility to use CAN as wake up signal or not to use CAN as wake up signal. I suppose it it should be done by changing vimREG->WAKEMASKSET0, but it does not working. Below you will find my code and results:
1. I am trying to not use CAN signals as wake up signal.
/* canREG1->CTL after init phase: 0000 0000 0000 0011 0001 0110 0000 0010b */ /* Status Change Interrupt is disabled */ /* Wakeup Interrupt: RTI compare 0 */ vimREG->WAKEMASKCLR0 = 0xFFFFFFFF; vimREG->WAKEMASKCLR1 = 0xFFFFFFFF; vimREG->WAKEMASKCLR2 = 0xFFFFFFFF; vimREG->WAKEMASKSET0 = (1U << 2U) /* RTI CAP0 */ | (1U << 23U); /* GPIO Low */
In this approach, I am using both RTI and GPIO wake up signals. Its few seconds in normal operation mode and few seconds in Low Power Mode (Doze). In canMessageNotification() I am using canTransmit() to send echo message. When I send CAN message (from second MCU) during Low Power Mode it stays there forever. I do not know why RTI do not wake up mcu any more.
2. Second try, WAKEMASKSET0 still without CAN, but now Status Change Interrupt is enabled.
/* canREG1->CTL after init phase: 0000 0000 0000 0011 0001 0110 0000 0110b */ /* Status Change Interrupt is enabled */ /* Wakeup Interrupt: RTI compare 0 */ vimREG->WAKEMASKCLR0 = 0xFFFFFFFF; vimREG->WAKEMASKCLR1 = 0xFFFFFFFF; vimREG->WAKEMASKCLR2 = 0xFFFFFFFF; vimREG->WAKEMASKSET0 = (1U << 2U) /* RTI CAP0 */ | (1U << 23U); /* GPIO Low */
In this approach, When I send CAN message (from second MCU) during Low Power Mode it immediately wake up and switch to normal operation. I do not know why because WAKEMASKSET0 is not configure for that.
I also have tried Global Power-Down Mode described in TRM (SPNU515C–March 2018, 27.11).
"...it can be active, if enabled". In my case it seems to be active. But how can I disable it?
Could you help, please?