Hi all
I'm working on S32K116, with S32DS3.4.1 and RTM.4.0.2
I'm trying implement some low power mode with 500kbps CAN network.
FlexCan is configured to use MessageBuffer and Pretended Network. Filters are configured.
I use LPIT to schedule the send of can frames using message bugger
Inside te main loop, i request to go to sleep (STOP_1).
My issue :
Corrupted Frames ID are sent from the part if there too mush load (1ms) on the bus fo frames with an ID which is not part of the filters...
Basically, i'am using :
Is there some thing to know/do about Message Buffer usage when we return-from/go-to stop mode ?
Hi,
from the description it is not so clear to me what is corrupted and what situation does an issue happen at. So the MB content used for TX is corrupted after wakeup and thus wrong frame ID is send. Even if FLEXCAN_DRV_ConfigTxMb(); FLEXCAN_DRV_Send() are used so MB is prepared before sending? And the condition is high bus load, so external nodes are sending messages oftenly (1ms) or S32k116 is doing that before going to sleep?
Generally before going to low power mode it is ideally to have no communication, at least do not have prepared TX MB for transmission. Then request low power mode.
After wakeup, you should check MCR[LPM_ACK] to be negated before performing any access to FlexCAN.
BR, Petr
Hi PetrS,
I understand that my previous post is not clear enought ^^. ok, let me try to clarify.
First, what's working.
From this situation.
I have done some test using an unique and contant tx frame, instead of sending the can id 0x18ceebeb, it can send randomly 0x180000eb...Payload seems to not be impacted.
Hi,
OK thanks for more info, so could you share your simplified project showing this behavior, together with description what/how is sent from CAN tool, so we can reproduce an issue on the EVB?
BR, Petr
Hi, thank you again for your support.
ok. I'll made a simpler project than actual because it contain some other stuff.
I'll try to reproduce and give you feedback etc.
Regards.