This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Bootloader startup issue about power

Hi

  1. I have custom board with nrf52832. I have lion batery and 3.3V ldo for powering device. I attached shematic.
  2. For preventing lion battery decreasing below 3V, i used a 3.1V voltage detector ic. This detector (STM1061N31WX6F) makes LDO enable pin logic low so everything stops. Here i have 1Mohm pullup resisor.
  3. Detector ic disable ldo 3.1V and re eanble 3.3V. If i load bottloader code detector ic still working same but nrf52832 hangs. Everything is fine without adding bootloader code.
  4. I dont have problem loading apk over mobile with dfu, its ok.
  5. I have 50 circuits for preproduction. I have 50 product.
  6. When i  load softdevice and load "bootloader_secure_ble". I can see DFU_Targ with mobile but when i click no service appear.
  7. When i rise batery voltage starts working, I can see services. But this happen with different batery voltages with different products.  One 4V, another 3.8V, another 4.3V.  But start to see 3.3V ldo output with battery voltage 3.3V.
  8. I short pullup resistor of LDO enable, load apk over mobile device and leave shorting pullup (1Mohms), device hangs. Nothing advertise.
  9. My apk is modified "ble_app_uart ". I add pwm, adc, low power mode and some other things. They all fine.

Its something very strange but i cant find what differs with starting device with "ble_app_uart " or with "bootloader_secure_ble".

Is there any difference for Power on Reset of DC DC conveter or do you have any idea.

Thanks

FerhatShematic

Parents
  • Hello,

    Not sure if I understand, but can you make a trace of VDD when you experience the problem? I want to see voltage level of VDD and for instance fall and rise times, and when nRF52 stops.

    Do you have any serial interface active here? For instance UART, TWI or similar that may be toggling when VDD changes? Maybe there is a problem with the flow control pins and/or uart framing error?

    Best regards,
    Kenneth

  • Hello Kenneth

    Im having trouble when device start with bootloader area. Im using "bootloader_secure_ble" example. Im also having trouble without any apk loaded. Only sorftdeivce and bootcode. DFU_Targ appear without services when clicked.

    When i erase bootloader area, and load my code after softdevice, there is no problem. Everything works fine.

    Voltage level 3.29V

    Monday, i will try to view with oscilloscope.

    I dont have uart, twi or any other but i have pwm controlling transistors, An ADC input.

    Thanks

    Ferhat

  • Can you check if the bootloader have any output pins that you make sure don't interfere with your hardware setup.

    Best regards,
    Kenneth

  • I already checked.

    I can toggle pins with "bootloader_secure_ble" main.c     You can see code block below.

    Pin 14 ligth my blink Led. And its ligthing.

    Pin 16 DFU starting button. I tried jump apk at start by pushing button but coulndt.

    int main(void)
    {
        uint32_t ret_val;

        //nrf_gpio_pin_dir_set(16,NRF_GPIO_PIN_DIR_INPUT);           //
        //if (nrf_gpio_pin_read(16) == 1) nrf_bootloader_app_start(MAIN_APPLICATION_START_ADDR);
        
        nrf_gpio_pin_dir_set(3,NRF_GPIO_PIN_DIR_OUTPUT);           // Pwm Outputs
        nrf_gpio_pin_write(3,0);                                   //
        nrf_gpio_pin_dir_set(4,NRF_GPIO_PIN_DIR_OUTPUT);           // Pwm Outputs
        nrf_gpio_pin_write(4,0);   
        
        nrf_gpio_pin_dir_set(14,NRF_GPIO_PIN_DIR_OUTPUT);           //Blink Led
        nrf_gpio_pin_write(14,1); //
        
        (void) NRF_LOG_INIT(NULL);

        NRF_LOG_INFO("Inside main\r\n");


        //leds_init();
        buttons_init();

        ret_val = nrf_bootloader_init();
        APP_ERROR_CHECK(ret_val);

        // Either there was no DFU functionality enabled in this project or the DFU module detected
        // no ongoing DFU operation and found a valid main application.
        // Boot the main application.
        nrf_bootloader_app_start(MAIN_APPLICATION_START_ADDR);

        // Should never be reached.
        NRF_LOG_INFO("After main\r\n");
    }

  • I am not sure what the problem is here. There is nothing in the nRF52832 that prevent it to work at 1.8V, 2.5V, 3.3V or other voltage within the operating conditions for that matter. If you have UART or similar connected, then it may be that you are feeding supply voltage through a input GPIO (e.g. RTS or RXD pins), if the input pin exceed VDD. Not sure if that is the case here, but something you may try to check. Does you application work on a devkit?

    BEst regards,
    Kenneth

Reply
  • I am not sure what the problem is here. There is nothing in the nRF52832 that prevent it to work at 1.8V, 2.5V, 3.3V or other voltage within the operating conditions for that matter. If you have UART or similar connected, then it may be that you are feeding supply voltage through a input GPIO (e.g. RTS or RXD pins), if the input pin exceed VDD. Not sure if that is the case here, but something you may try to check. Does you application work on a devkit?

    BEst regards,
    Kenneth

Children
No Data
Related