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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

3,612 次查看
1090097669
Contributor III

大家好,

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

以下是我的设置:


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

1090097669_2-1605510802506.png

 

 

0 项奖励
9 回复数

1,809 次查看
chenlong12138
Contributor I

Hello owner,

where to find the RTM3.0 API reference manual

 

0 项奖励

1,808 次查看
chenlong12138
Contributor I
Hello owner, where to find the RTM3.0 API reference manual
0 项奖励

2,817 次查看
Eddie11
Contributor I
  • 你好
  • VLPS 是否支持 CAN Weke Up?

0 项奖励

3,589 次查看
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 项奖励

3,583 次查看
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 项奖励

3,573 次查看
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 项奖励

3,552 次查看
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 项奖励

3,557 次查看
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 项奖励

3,529 次查看
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 项奖励