Hello - Is it possible to continue to operate the PWM module whilst the ADuCM355 is in in Hibernate Mode e.g using LFOSC as the driving clock etc
Thanks for any information
ADUCM355
Recommended for New Designs
The ADuCM355 is an on-chip system that controls and measures electrochemical sensors and biosensors. The ADuCM355 is an ultralow power, mixed-signal microcontroller...
Datasheet
ADUCM355 on Analog.com
Hello - Is it possible to continue to operate the PWM module whilst the ADuCM355 is in in Hibernate Mode e.g using LFOSC as the driving clock etc
Thanks for any information
Hi,
Yes. The timers have a PWM output feature, and timers run during hibernate mode too.
Configure the INTEN register to enable AFE generalpurpose timer interrupts.
Thank you for the info. Does this mean I have to have the AFE die powered up i.e. I can only use Flexi Mode (Mode1) if I want to run PWM and cannot use PWM in full Hibernate Mode (Mode 2).
Many Thanks
PWM outputs of the timers can operate in full hibernate mode.
To have the PWM function in hibernate mode 2 I do not run the Analog Devices example function AfePwrCfg as part of the hibernation process anymore. (see section of the AD example code below)
Will this cause any issues for the ADuCM355 because I am not closing the NL, NL2 and PL, and PL2 switches anymore to the DVDD_REG_AD 1.8V LDO. (power consumption due to leakage etc)
Section of Analog Devices example code AfePwrCfg
if(Mode == AFE_HIBERNATE)
{
pADI_ALLON->PWRKEY = 0x4859;
pADI_ALLON->PWRKEY = 0xF27B;
pADI_ALLON->PWRMOD = 0x0001; //make sure pwrmod value is active.
/*minimize leakage in the unused switches*/
pADI_AFE->NSWFULLCON |= 0x0C00; //Close switches NL and NL2
pADI_AFE->PSWFULLCON |= 0x6000; //Close switches PL and PL2
pADI_AFE->SWCON |= 0X10000;
}
Thanks for your assistance
UPDATE 11 Apr 2022
I've noticed the issue does not happen when I use different clock settings for the ADuCM355. In the AD example ClockInit() function i.e. where ClkDivCfg(1,1); //HCLK=PCLK=26MHz, running AfePwrCfg(AFE_HIBERNATE) prevents PWM in hibernate mode 2.
Where ClkDivCfg(2,2) and lower, running AfePwrCfg(AFE_HIBERNATE) does not prevent PWM operation in hibernate mode 2. Any advice/ explanation greatly appreciated
To have the PWM function in hibernate mode 2 I do not run the Analog Devices example function AfePwrCfg as part of the hibernation process anymore. (see section of the AD example code below)
Will this cause any issues for the ADuCM355 because I am not closing the NL, NL2 and PL, and PL2 switches anymore to the DVDD_REG_AD 1.8V LDO. (power consumption due to leakage etc)
Section of Analog Devices example code AfePwrCfg
if(Mode == AFE_HIBERNATE)
{
pADI_ALLON->PWRKEY = 0x4859;
pADI_ALLON->PWRKEY = 0xF27B;
pADI_ALLON->PWRMOD = 0x0001; //make sure pwrmod value is active.
/*minimize leakage in the unused switches*/
pADI_AFE->NSWFULLCON |= 0x0C00; //Close switches NL and NL2
pADI_AFE->PSWFULLCON |= 0x6000; //Close switches PL and PL2
pADI_AFE->SWCON |= 0X10000;
}
Thanks for your assistance
UPDATE 11 Apr 2022
I've noticed the issue does not happen when I use different clock settings for the ADuCM355. In the AD example ClockInit() function i.e. where ClkDivCfg(1,1); //HCLK=PCLK=26MHz, running AfePwrCfg(AFE_HIBERNATE) prevents PWM in hibernate mode 2.
Where ClkDivCfg(2,2) and lower, running AfePwrCfg(AFE_HIBERNATE) does not prevent PWM operation in hibernate mode 2. Any advice/ explanation greatly appreciated