WISR_64 no correct after wakeup from fast standby mode on S32K312

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

WISR_64 no correct after wakeup from fast standby mode on S32K312

ソリューションへジャンプ
1,197件の閲覧回数
SJWL
Contributor I

WISR_64.png

Hello Sir,

Please check the photo of WKPU registers,

I set 5 WKPU source,
4 Falling-Edge Event Enable, and 1 Rasing-Edge Event Enable,
WIFEER_64 = 0x00201C00
WIREER_64 = 0x00000200
the problem as below:
I want WISR_64 = 0x00200000 then WKPU source is 0x00200000,
but WISR_64 = 0x00201C00 ,actually;
I test again,
I want WISR_64 = 0x00001000 then WKPU source is 0x00001000,
but WISR_64 = 0x00201C00 ,actually;
It alway WISR_64 = 0x00201C00 then any Falling-Edge WKPU source

Comparative testing,
I set 5 WKPU source,
0 Falling-Edge Event Enable, and 5 Rasing-Edge Event Enable,
WIFEER_64 = 0x00000000
WIREER_64 = 0x00201E00
I want WISR_64 = 0x00200000 then WKPU source is 0x00200000,
and WISR_64 = 0x00200000 ,actually;
I test again,
I want WISR_64 = 0x00001000 then WKPU source is 0x00001000,
and WISR_64 = 0x00001000 ,actually;
WISR_64 correct for any Rasing-Edge WKPU source.

Thanks.

0 件の賞賛
1 解決策
1,075件の閲覧回数
nxf47391
NXP Employee
NXP Employee

Hi all,

Why the wake-up source read by the customer is inconsistent with the actual wake-up source is caused by the function of Pad_keeping.
Then you need to pay attention to the use of the Pad_keeping function:
As long as there is a GPIO falling edge to wake up the MCU in the project, the Pad_keeping function must be enabled. The reason is that if Pad_Keeping is not enabled before sleep, once the MCU wakes up, all GPIOs are in a high-impedance state, and the corresponding MCU GPIO internal circuit generates a falling edge, so it will mistakenly cause WISR_64 or WISR to be set to 1 corresponding to wake-up.

Customers can directly read the values ​​of WISR_64 and WISR at the beginning of the main function, and then disable the Pad_Keeping function.
Usually, it is recommended that customers enable the Pad_Keeping function, and then read the values ​​of WISR_64 and WISR after waking up, and then disable the Pad_Keeping function.

Thanks!

BR,

Shuang

元の投稿で解決策を見る

0 件の賞賛
7 返答(返信)
1,163件の閲覧回数
danielmartynek
NXP TechSupport
NXP TechSupport

Hello @SJWL,

Do you set STANDBY_IO_CONFIG before you read the flags?

If so, can you read the flags first and set the STANDBY_IO_CONFIG after that?

 

Thank you,

BR, Daniel

0 件の賞賛
1,149件の閲覧回数
SJWL
Contributor I

Hello danielmartynek,

Thank you for your reply,

I will check and try.

Best regards

SJWL

0 件の賞賛
1,192件の閲覧回数
jian72
Contributor I

Hello,

I had the same problem with S32K312, set the external wake source to rise edge trigger, everything was fine, but set to fall edge trigger, all the WISR set as the wake source corresponding bit was set to 1, that is, all wake sources triggered the wake

0 件の賞賛
1,076件の閲覧回数
nxf47391
NXP Employee
NXP Employee

Hi all,

Why the wake-up source read by the customer is inconsistent with the actual wake-up source is caused by the function of Pad_keeping.
Then you need to pay attention to the use of the Pad_keeping function:
As long as there is a GPIO falling edge to wake up the MCU in the project, the Pad_keeping function must be enabled. The reason is that if Pad_Keeping is not enabled before sleep, once the MCU wakes up, all GPIOs are in a high-impedance state, and the corresponding MCU GPIO internal circuit generates a falling edge, so it will mistakenly cause WISR_64 or WISR to be set to 1 corresponding to wake-up.

Customers can directly read the values ​​of WISR_64 and WISR at the beginning of the main function, and then disable the Pad_Keeping function.
Usually, it is recommended that customers enable the Pad_Keeping function, and then read the values ​​of WISR_64 and WISR after waking up, and then disable the Pad_Keeping function.

Thanks!

BR,

Shuang

0 件の賞賛
997件の閲覧回数
SJWL
Contributor I

Than you for your reply, 

The WISR_64 is OK now Following your suggestion.

Thank you very much!

0 件の賞賛
1,050件の閲覧回数
Niuyanlin
Contributor I
@nxf47391
hello . I enabled Pad_ keeping function before the mcu entered Standby , but for the four internal wake-up sources, when I set it to rising edge wake-up, I can wake up normally, but when I set it to falling edge wake-up, I find that the MCU cannot wake up normally.and the external wake-up pin is normal.""
0 件の賞賛
1,023件の閲覧回数
nxf47391
NXP Employee
NXP Employee

Hi Niuyanlin,

The four internal wake-up sources of S32k3 is not support falling edge wake-up, and support rising edge wake-up. The external wake-up pin can detect rising or falling, so the 60 external wake-up pins are support rising or falling edge wake-up. The next version of S32K3 reference manual will update this information.

Thanks!

BR,

Shuang

0 件の賞賛