How to put Flexcan0 to sleep mode in S32K146 micro controller

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to put Flexcan0 to sleep mode in S32K146 micro controller

843件の閲覧回数
GanapatiBhat
Contributor I

I gave gone through confusion after reading reference manual of S32K. I dont see there is way to put Flexcan0 to sleep mode . I read about STOP mode , Disable mode , Pretending network mode etc . Iam exactly not sure how do i meet my requirement using these features .

My requirement is like this ->  In the absence of CAN traffic after certain period, i would like to force the Flexcan0 to sleep mode ( Low Power mode ) and then Transciever to sleep mode . On reception of any message in the bus /specific messages should trigger the CAN wakeup.

Can any one explain what is best way to achieve this in S32K146 microcontroller ?

 

 

0 件の賞賛
返信
5 返答(返信)

828件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

FlexCAN's Pretended Networking mode together with MCU STOP mode can be used to wake up MCU on incoming specific CAN message.
If also transceiver will be put in sleep mode then above will not work for sure as on first message transceiver will be woken up and message does not pass to FlexCAN to be recognized as dedicated wakeup message.
Some examples to show PN mode and wakeup MCU from STOP mode are posted at
https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K144-FlexCAN-Pretended-Networking-STOP-m...
https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K116-FlexCAN-PN-STOP-S32DS-ARM-2-2/ta-p/...

BR, Petr

0 件の賞賛
返信

825件の閲覧回数
GanapatiBhat
Contributor I

If i understand correctly, stop mode will put the entire controller to sleep ?  I want to put CAN controller to sleep, not the micro controller . Is there any other method ? 

0 件の賞賛
返信

819件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

yes, your understanding is correct.
No other FlexCAN low power mode with wakeup functionality is available.

BR, Petr

0 件の賞賛
返信

816件の閲覧回数
GanapatiBhat
Contributor I

How about following step ?

when there is no bus activity 

1. Disable CAN clock 

2. Put transiever to standby mode

3. Configure Rx pin as input pin to generate interrupt on message wakeup 

The above will complete the sleep cycle 

On wakeup , in the interrupt routine enable the clock to CAN 

Thanks

GB

 

 

0 件の賞賛
返信

812件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

yes, that is possible too.

BR, Petr

0 件の賞賛
返信