GPIO state during sleep during BLE connection

5 posts / 0 new
Last post
Jonathan Forrest
Offline
Last seen:4 years 6 months ago
加入:2014-12-18 04:29
GPIO state during sleep during BLE connection

Hi,

I am having a very strange issue.

I am using an ADC channel on Port 0, Pin 1.
This line has a very weak pull down to 0V (about 1.5M).
During advertising, this pin happily sits at 0V whether the DA14580 is running or in sleep.

然而,一旦一个蓝牙连接been made when the DA14580 goes into sleep, Port 0 Pin 1 goes to about 750mV.

I even added in the app_going_to_sleep function: GPIO_ConfigurePin( GPIO_PORT_0 , GPIO_PIN_1 , OUTPUT, PID_GPIO, false); thinking this would drive the pin low.
However, this does nothing and the pin still goes up to about 750mV during sleep.

I am using the pin to signal other parts of the circuitry and having 750mV on the line is causing issues.

Any ideas on why this is happening?

Keywords:
Device:
MT_dialog
Offline
Last seen:1 month 1 week ago
Staff
加入:2015-06-08 11:34
Hi Jonathan Forest,

Hi Jonathan Forest,

This measurement is on a dialog's dk? can you please try with a different daughterboard if you are using the pro or the expert dk.

Thanks MT_dialog

Jonathan Forrest
Offline
Last seen:4 years 6 months ago
加入:2014-12-18 04:29
Hi MT_Dialog,

Hi MT_Dialog,

This measurement is on a custom PCB. I have a expert dk, but I don't have any daughterboards here to test the same issue on a dev board.

The custom PCB has a DA14580-01UNA running from a 1.5V battery (connected to VBAT1V through a low Vth P-FET for switching power on and off). The pin in question is connected to a 1.5M pulldown resistor and nothing else at all. So the 750mV must be coming from the DA14580.

If required I can get hold of one of the daughterboards to see if the behaviour is present on this board as well.

MT_dialog
Offline
Last seen:1 month 1 week ago
Staff
加入:2015-06-08 11:34
Hi jonathan,

Hi jonathan,

I ve tried to reproduce your problem on the same pin with adc configuration, when connected and advertising the pin voltage sits at 0.0V with a dialog's pro dk.

Thanks MT_dialog

Jonathan Forrest
Offline
Last seen:4 years 6 months ago
加入:2014-12-18 04:29
Hi MT_dialog,

Hi MT_dialog,

Thanks for looking into that for me.
I also tried on the dev kit and couldn't reproduce the problem.

Eventually I tracked it down. On a connection, our hardware enables a power rail that powers up an EEPROM called VCC_EEPROM. It does this in case a SUOTA is started.

There are pull up resistors between P0_2/P0_3 and VCC_EEPROM for SDA and SCL.

So I am guessing that VCC_EEPROM is backfeeding something in the micro causing a voltage to appear on P0_1.

So we can fix this by enabling VCC_EPPROM only when a update is about to start

Topic locked