Hi, dialog
We met an unexpected BOD Reset in our coustom board. And SDK is v1.06
The devce would reset after entered extended sleep mode for about 8 seconds.
If we removed the following code , reset would not happen.
"REG_SET_FIELD(CRG_TOP, BOD_CTRL2_REG, BOD_1V8_FLASH_EN, val, 1);"
"REG_SET_FIELD(CRG_TOP, BOD_CTRL2_REG, BOD_1V8_PA_EN, val, 1);"
Obviously that is the V18 power rail triggered the BOD reset. But we can't see any large voltage drop in V18 with oscilloscope .
According to the reply of MT_dialog in the article " Program halted unexpectedly for DA14681"(https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...) , the soldering of the grounding on custom PCB's might cause this problem. And he gave a method to check the problem indeed :
"Also in order to check that indeed this is your problem you can do the following in order to check the BOD_VREF. This should be accurate to 515mV with variance less than 50mV under any circumstances.
So add the following code in the system_init() before starting any new task to export the BOD_VREF to P1_7
//Export BOF_REF to P1_7
REG_SETF(GPIO, TEST_CTRL5_REG, TEST_BOD_VREF_OUT, 1); // Map BOD reference buffer output to testbus
REG_SETF(ANAMISC, ANA_TEST_REG, ACORE_TESTBUS_EN, 1); // Enable analog-testbus in ACORE
REG_SETF(GPIO, TEST_CTRL2_REG, ANA_TESTMUX_CTRL, 0x3); // Select analog-testbus in the PADs
hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_7, HW_GPIO_MODE_OUTPUT, HW_GPIO_FUNC_ADC); // Set to P1.7 to ADC/open mode
Keep the BOD disabled, so it wont kick in by adding the #define db_configUSE_BOD (0) in the custom_config_qspi.h file and disable the sleep mode. "
We have done follow the steps he suggested . But we find the P1_7 BOD_VREF voltage range is 588mV ~ 594mV , no matter on custom board or on basic development kit. is that normal?
How to solve this unexpected BOD reset?
can you give me some advice?
Hi guixiang,
We are working on that, i will post a comment as soon as i have one for your issue, please be patient.
Thanks MT_dialog
Hi guixiang,
Can you please make a simpler test, if you disable the DCDC (dg_configUSE_DCDC, this is enabled by default in the bsp_defaults.h) and leave the BOD enabled are you still able to reproduce the issue ? By default when operating in sleep mode the device switces to DCDC when eventually goes to sleep after the 8 seconds, If not then your issue should be an assembly problem on ground of the DCDC pin GND_BUCK.
Thanks MT_dialog
Hi, dialog
We have done the test, and no BOD reset happened. If it's an assembly problem, how to check it. I can't find the GND_BUCK pin on AQFN packgae. And if we don't use the DCDC , can DA14681 work well?
Hi guixiang,
This is most probably an assembly issue and the only thing that you could do in order to verify that is through X-rays, if you are using a AQFN package there is no GND_BUCK pin mentioned on the datasheet and on the datasheet the ground of the DCDC appears to be as part of the gnd plane but its a seperate pad and most probably the pad has not be soldered properly. Please make sure that you have followed the AQFN60 assembly and soldering guidelines on the AN-B-061 DA1468x Application hardware design guidelines. If you dont use the DCDC the 68x will operate but with an increased power consumption.
Thanks MT_dialog