High current consumption during low voltage EEPROM !

3 posts / 0 new
Last post
hrg
Offline
Last seen:2 years 5 months ago
Guru
Joined:2014-08-05 13:37
High current consumption during low voltage EEPROM !

Hi Dialog Team

I powered the external eeprom with 1.8 votls , but the Da14580 adv current is more . When EEprom powered with 3 volts , DA14580 adv current is less ! Why ?
(DA14580 is powered by the motherboard 1.5 votls -boost mode)
Here i have attached the snapshots

EEPROM at 1.8 volts ,

power on
https://www.dropbox.com/s/5t9hduzzdcgi8vo/bootup.jpg?dl=0

advertising:

https://www.dropbox.com/s/qqr9fytimhau7hf/adv.jpg?dl=0

EEPROM at 3.0 volts:

poweron

https://www.dropbox.com/s/8ilfe7904o99hsz/bootup%20at%20eeprom%203v.jpg?...

advertising:

https://www.dropbox.com/s/q6em9uk00dbwb10/adv.jpg?dl=0

You can see the differences in current consumed by DA14580. Though EEPROM voltage is varied ,it affects DA14580 why ?

BB_Dialog
Offline
Last seen:8 months 3 weeks ago
Staff
Joined:2013-12-05 14:44
Hi hrg,

Hi hrg,

that's weird.
A question: I assume your GPIO's used for I2C are at the 2.7V level (connected to the Vbat3V rail)?
Could you try again with lower GPIO High levels, say 1.8V. And supply the EEPROM also with 1.8V.
To do this, you must program the DCDC_CTRL2_REG bits 11:9. Default value is 0x111 which means 2.7V.
When applying a value of 0x000, the Vbat3V voltage will be 1.8V.

In the SDK: file arch_main.c, in the Main Loop part: you'll find DCDC_CTRL settings.
Add or modify this line:
SetBits16(DCDC_CTRL2_REG, DCDC_VBAT3V_LEV, 0x0); // Vbat3V set to 1.80V

Best regards, BB_Dialog

hrg
Offline
Last seen:2 years 5 months ago
Guru
Joined:2014-08-05 13:37
HI BB_Dialog

HI BB_Dialog

I added the line you mentioned in arch_main.c ,now the adv became normal ,during power on it doesnt change !

************************************************************************************
* Main loop
************************************************************************************
*/
lld_sleep_init_func();

SetWord16(TRIM_CTRL_REG, 0xA2);
SetBits16(CLK_16M_REG, XTAL16_CUR_SET, 0x5);

SetBits16(DCDC_CTRL2_REG, DCDC_VBAT3V_LEV, 0x0); /////////////////////////here is the location i added your line !

////Gives 1dB higher sensitivity - UNTESTED
//if (GetBits16(ANA_STATUS_REG, BOOST_SELECTED) == 0x1)
//{
////Boost-mode
//SetBits16(DCDC_CTRL2_REG, DCDC_CUR_LIM, 0x8); // 80mA
//}
//else
//{
////Buck-mode
/ / SetBits16 (DCDC_CTRL2_REG DCDC_CUR_LIM 0 x4);//40mA
//}

//Now enable the TX_EN/RX_EN interrupts, depending on the RF mode of operation (PLL-LUT and MGC_KMODALPHA combinations)
#if LUT_PATCH_ENABLED

here is the
power on

https://www.dropbox.com/s/zdjw28p9upfkpts/aftersetting_vbatrail_poweron....

adv is normal

https://www.dropbox.com/s/gu4ywnz3z5x6ayb/aftersetting_vbatrail_adv.jpg?...

Thankyou