Dialog Semiconductor customer support - wakeup sleep https://support.dialog-semiconductor.com/resource-keywords/wakeup-sleep en A problem about wakeup timer https://support.dialog-semiconductor.com/problem-about-wakeup-timer

Hi, dialog,
I'm using da14580 and an external ADC chip. They are connected by SPI and an interrupt pin. The host is in extended sleep mode. And it gets data from ADC chip when interrupt occurs. The ADC generates interrupt at rate of 250 samples per second. During the host waking up time, all the things are fine. Callback function set by GPIO_EnableIRQ and GPIO_RegisterCallback is called correctly. As everyone knows, GPIO IRQ won't work during sleep. I used wkupct_enable_irq to configure the ADC interrupt as a wakeup event in function app_sleep_entry_proc. And in function app_sleep_exit_proc, it calls wkupct_disable_irq to remove interrupt event. As a result, it works well most of time. But, wakeup failure happens occasionally. Please refer to the attachment below. According to the waveform and codes of arch_main.c, the reason leads to wakeup failure probably is the initial status of interrupt pin the moment when host enters sleep. In my design, the interrupt is falling edge valid. And polarity of wkupct_enable_irq is configured to low. If the interrupt pin goes low after GLOBAL_INT_STOP() is called and before host enters sleep, wakeup failure will happen. How to deal with this problem? Thanks a lot.

Keywords: 
Attachment: 
Device: 
Tue, 27 Oct 2015 15:14:24 +0000 LiangZheng2k 2169 at https://support.dialog-semiconductor.com https://support.dialog-semiconductor.com/problem-about-wakeup-timer#comments