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

Operational instability in power supply connection

Hello Nordic Support!

We are making a prototype that connects the battery to Vcc, but 5 out of 10
It works properly. Conversely, the remaining five do not behave as expected I am encountered.
I think that one of the following operations will be performed at the timing of battery connection.
I do not operate properly from Power On Reset, and I have suspicion that it is operating halfway.
Please comment on the relationship with Errata and W / A etc.


【Expected behavior】
· Appropriate voltage can be obtained by inputting specified voltage to the SAADC input.
· Key operation GPIO interrupt processing should function correctly.

【Action not to be expected】
· Even if a specified voltage is input to the SAADC input, a corresponding voltage can not be obtained.
· Key operation GPIO interrupt is not applied.

let me know

Best Regards!

Hirotoshi  NAGAO / CHINO

  • Dear Hiro,

     

    What is the expected value sampled, and what is shown on the bad boards?

    Have you checked all the voltages going into the device to see if there's not any soldering issues on the bad boards?

     

    Best regards,

    Håkon

  • Hello Dear Håkon!

    Equipment process 1:
    PULLUP P.0.06 and connect SW via Low.

    Interrupt processing is performed with Active low edge with SW ON.
    Interruption processing does not work when normal. (LCD display is OK)
    Interruption processing does not work when abnormality occurs. (LCD display is not reactive)

    Equipment process 2:
    Expected value in SAADC processing.
    SAADC refers to internal voltage reference setting.
    The expected value at normal time is the specified voltage input to AIN 0 and the count value is 0xD80 to 0xDA0.
    In case of abnormality, the count value of AIN 0 is less than 0xCA0 or 0xBA0.


    In addition, abnormality and normality do not depend on hardware.
    Even with normal hardware it may become abnormal if you set the date and time.
    Even with abnormal hardware, it may become normal if you set the date and time.
    In order to switch to two modes at the time of power supply connection (or Power On processing)
    I feel it.

    Let me know.

    Best Regards

    Hirotoshi NAGAO/CHINO

  • Hello Hirotoshi,

     

    Hiro said:

    PULLUP P.0.06 and connect SW via Low.

    Interrupt processing is performed with Active low edge with SW ON.
    Interruption processing does not work when normal. (LCD display is OK)
    Interruption processing does not work when abnormality occurs. (LCD display is not reactive)

    This sounds like the pin-interrupt is either not working, or that a function call fails in the pin event handler. 

    Are you checking your return err_code's when calling the LCD functions?

    Can you add a toggling LED or similar in the pin event handler to see if this runs properly?

    Hiro said:

    Equipment process 2:
    Expected value in SAADC processing.
    SAADC refers to internal voltage reference setting.
    The expected value at normal time is the specified voltage input to AIN 0 and the count value is 0xD80 to 0xDA0.
    In case of abnormality, the count value of AIN 0 is less than 0xCA0 or 0xBA0.

    The values are quite a bit off. The SAADC peripheral requires that the external HFCLK is running while doing a ADC transaction. Could you ensure that you are using the external HFCLK when sampling?

    Hiro said:

    In addition, abnormality and normality do not depend on hardware.
    Even with normal hardware it may become abnormal if you set the date and time.
    Even with abnormal hardware, it may become normal if you set the date and time.
    In order to switch to two modes at the time of power supply connection (or Power On processing)
    I feel it.

    Could you add "DEBUG" to the preprocessor defines for your project to ensure that any APP_ERROR_CHECK() will not cause a system reset?

    You should be able to read out the p_file_name/line_num/err_code from the global variable m_error_data if this occurs.

    Best regards,

    Håkon

  • Hello Håkon!

    Thanks for comment.

    It seems that it is necessary to separately investigate the reference value of SAADC and system startup.

    Turn Close once and ask again.

    Best Regards.

Related