S32K IO唤醒和CAN 唤醒以及休眠(VLPS模式)

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

S32K IO唤醒和CAN 唤醒以及休眠(VLPS模式)

6,571 Views
1090097669
Contributor III

大家好,

最近我正在调试基于SDK 的S32K144 进入VLPS低功耗的休眠模式,但是由于设置问题,低功耗设置一直存在问题,想请教大神有没有可解决方案,

以下是我的设置:


1.关闭LPIT计时器,
2.关闭CAN的控制器以及SPI模块
3.关闭UART收发模块
4.关闭看门狗模块
5.设置IO口输出,并设置PORTE 口上升沿触发
6.进入低功耗模式

1090097669_2-1605510802506.png

 

 

0 Kudos
Reply
9 Replies

4,768 Views
chenlong12138
Contributor I

Hello owner,

where to find the RTM3.0 API reference manual

 

0 Kudos
Reply

4,767 Views
chenlong12138
Contributor I
Hello owner, where to find the RTM3.0 API reference manual
0 Kudos
Reply

5,776 Views
Eddie11
Contributor I
  • 你好
  • VLPS 是否支持 CAN Weke Up?

0 Kudos
Reply

6,548 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello,

If you use SDK, you can use the power manager driver.
There is this power_mode_switch_s32k144 SDK example for your reference.
The POWER_SYS_SetMode(VLPS, …) function switches the system clock to SIRC and disables SOSC, SPLL, FIRC automatically which is required.

I don’t see this is the steps you posted.

danielmartynek_0-1605692473132.png

Regards,

Daniel

 

0 Kudos
Reply

6,542 Views
1090097669
Contributor III

Hello Daniel,

I have disable all module used,and used POWER_SYS_SetMode() to enter vlps power, however, the current consumption is 5mA Excludes external circuit factors.

1.Can  POWER_SYS_SetMode() switch the system clock to SIRC and disables SOSC, SPLL?

2.how to switch the system clock to SIRC and disables SOSC, SPLL

0 Kudos
Reply

6,532 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hello,

Which SDK version do you use?

In RTM 3.0.0 and newer versions, the POWER_SYS_SetMode(VLPS, ..) function disables SOSC, SPLL, FIRC and switches to SIRC.

If you don't use SDK, you can refer to

Example S32K144 RTC VLPS

https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K144-RTC-VLPS/ta-p/1119655

 

Can you disconnect the debugger, power-cycle the MCU, and then measure the consumption?

 

Thank you,

BR, Daniel

 

 

0 Kudos
Reply

6,511 Views
1090097669
Contributor III

and following is my Code

void gpio_can_wakeup_set(void)/*C2*/
{
GPIO_CAN_RX_INPUT();
PINS_DRV_EnableDigitalFilter(GPIO_CAN_WAKE_PORT,GPIO_CAN_WAKE_PIN);

INT_SYS_EnableIRQ(PORTC_IRQn);
INT_SYS_InstallHandler(PORTC_IRQn, &gpio_portc_irq, (isr_t *)0);
PINS_DRV_SetPinIntSel(GPIO_CAN_WAKE_PORT,GPIO_CAN_WAKE_PIN,PORT_INT_FALLING_EDGE);
INT_SYS_ClearPending(PORTC_IRQn);
}

0 Kudos
Reply

6,516 Views
1090097669
Contributor III

Hello Denial,

The Project  is based on RTM 3.0.0 ,So How to trigger the falling edge of CAN rxd to wake up, what items need to be configured?Do you only need to enable the digital input function of the corresponding rx pin

thanks

0 Kudos
Reply

6,488 Views
danielmartynek
NXP TechSupport
NXP TechSupport

Hi,

There is no need to reconfigure the MUX to GPIO as the pin interrupt works with all the digital functions of the pin.

danielmartynek_0-1606221861088.png

You just need to enable the interrupt in the PORT module and in NVIC.

 

Regards,

Daniel

0 Kudos
Reply