PN7462 Low power mode

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

PN7462 Low power mode

1,076 Views
pratikyadav
Contributor II

Hello @Kan_Li ,

I want to put PN7462 in law power mode.

How can I achieve it?

I want wakeup source as GPIO.

What kind of configuration is required?

Is there any sample code?

Below is the test code I am using.

In following PN74628 is not going in low power mode.

phhalPcr_RfLdtParams_t testParam;

phhalPcr_WakeUpConfig_t testWakeup;

phhalPcr_StandbyPrevReason_t testPrevReason;

memset(&testParam,0,sizeof(phhalPcr_RfLdtParams_t));

memset(&testWakeup,0,sizeof(phhalPcr_WakeUpConfig_t));

memset(&testPrevReason,0,sizeof(phhalPcr_StandbyPrevReason_t));

testParam.bEnableAdvancedRFLD = false;

testPrevReason = E_GPIO_INTERRUPT;

testWakeup.bWakeUpGpio = 2;

int32_t ret = phhalPcr_EnterLowPowerMode(&testParam,&testWakeup,&testPrevReason);

 

 

Tags (2)
0 Kudos
6 Replies

1,042 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @pratikyadav ,

 

There is an example available in https://community.nxp.com/t5/NFC/PN7462-Low-Power-Mode-Current-Consumption-Issue/m-p/1188002#M7911 , you may use it as a starting point.

 

Hope that helps,

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

1,038 Views
pratikyadav
Contributor II

@Kan_Li ,

Thanks for your response,

 

I have tried the suggested example.

 

But my board is not waking up (rebooting) on wakeup.

 

I have changed my example as follows.

/* Initialize the PCR module to set the proper power down settings.
* IICM shall NOT be pulled low. */
uint32_t pwrDownConfig = E_APPLY_ALL_SETTNGS & ~(E_PD_GPIO4 | E_PD_ATXA | E_PD_ATXB) ;

phhalPcr_Init( (phhalPcr_PwrTempConfig_t *)gpkphCfg_EE_Boot_PcrPwrTempConfig,
(phhalPcr_TxAnaStandByConfig_t *)gpkphCfg_EE_Boot_TxAnaStandByConfig,
pwrDownConfig);


phhalPcr_StandbyPrevReason_t sStandbyPrevReason;
phhalPcr_WakeUpConfig_t phhalPcr_WakeUpConfig;

/* Wakeup's configured from EEPROM */
phhalPcr_WakeUpConfig.bEnableHIFWakeup = 0x00;
phhalPcr_WakeUpConfig.bI2CAddr = 0x00;
phhalPcr_WakeUpConfig.bWakeUpCtPr = 0x00;
phhalPcr_WakeUpConfig.bWakeUpGpio = 1;
phhalPcr_WakeUpConfig.bWakeUpIntAux = 0x00;
phhalPcr_WakeUpConfig.bWakeUpPvddLim = 0x00;
phhalPcr_WakeUpConfig.bWakeUpRfLdt = 0x00;
phhalPcr_WakeUpConfig.bWakeUpTvddMon = 0x00;

/* Wakeup's not required to configure */
phhalPcr_WakeUpConfig.bSmBusAddrResp = 0x00;
phhalPcr_WakeUpConfig.bWakeUpTemp = 0x00;
phhalPcr_WakeUpConfig.blWakeupVbusLow = 0x00;

/* configure timer wakeup */
phhalPcr_WakeUpConfig.bWakeUpTimer = 0;
phhalPcr_WakeUpConfig.wWakeUpTimerVal = 0;

/* function call. gpkphCfg_EE_HW_RfLdtParams is a

lobal variable*/
phhalPcr_EnterLowPowerMode((phhalPcr_RfLdtParams_t *)gpkphCfg_EE_HW_RfLdtParams,
&phhalPcr_WakeUpConfig, &sStandbyPrevReason);

 

During Init, I have configured GPIo2 as input using the following API.

phhalPcr_ConfigInput( GPIO_NUM_2, true, true, false, false, false, false);
phhalPcr_ConfigPuPd(GPIO_NUM_2,false,true);

 

Before executing  phhalPcr_EnterLowPowerMode API Vbus current is 16mA

After executing phhalPcr_EnterLowPowerMode API  Vbus current becomes 9mA

 

Also Afer executing phhalPcr_EnterLowPowerMode API my controller is not responding as well which means it is going into power-down mode.

 

 

0 Kudos

1,026 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @pratikyadav ,

 

This demo is verified on PNEV7462B board, and it works fine on my side, maybe you can try it as well on PNEV7462B or check if there is any difference from your custom board. 

 

Your code looks fine, but have you tried to enable the GPIO interrupt as well?

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

 

0 Kudos

1,015 Views
pratikyadav
Contributor II

@Kan_Li ,

With the SDK 05.22.01 same code is working but with SDK 04.07.00 PN7462 board is not wakeup after standby.

Is there any standby or wakeup related changes are done from 05.22.01 to 04.07.00.?

If any changes related to standby mode is done, can you please provide specific change related to standby mode?

 

 

0 Kudos

1,006 Views
pratikyadav
Contributor II

@Kan_Li ,

 

Thanks for your response.

The same code is working on latest SDK 05.22.01, but same code is not working with R04.07.00.

Is there any standby mode related changes fro 4.07.00 to 5.22.01?

 

PN7462 goes into standby and wakeup as expected with the latest code.

But on Vbus it consumes 600 uA.

This is due to other peripheral which are connected on PVDDOUT.

Can I disable PVDDOUT(make it to 0) from the software?

 

0 Kudos

1,003 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi @pratikyadav ,

 

Sorry for the late reply! Please kindly refer to the following for details.

 

Is there any standby mode related changes fro 4.07.00 to 5.22.01?

-There is no specific documentation regarding the changes on standby mode between 4.07.00 and 5.22.01, but you may check this with some tool such as https://tortoisesvn.net/ . 

Can I disable PVDDOUT(make it to 0) from the software?

-We provide an API named as phhalPmu_PvddLdoStop() to power down the LDO in Pvdd LDO and turns off the monitors. 

 

Have a great day,
Kan


-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos