This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Custom nRF52 board partially start

Hello, I just produced my custom board with nRF52 but i have a problem.

I can program it (SWD over nRF52 DK), debug it (segger debudder software) but in bootloader it enter in function ble_stack_init and never goes out.

Does someone have an idea what to check please ?

If external oscillator problem is a way to investigate, are they already on or nRF52 use an internal oscillator ?

  • I want to do a kind of selftest in code of my 2 oscillators. Is that possible ? start on RC, if KO report and if OK switch to Crystal oscillator.

  • As far as I can see the load capacitance for the 32KHz is a bit low. spec says 9 while you have 7.
    ((10+4)*(10+4))/((10+4)*2)=14/2 = 7pf

    The RC calibration should work just fine, that is it is stable at a given temperature, but needs to be calibrated if the temperature change. So I would recommend one of calibrate if the temperature has changed option.

  • Do you think 18 pf (in stock) are better than 10 pf ?

  • I'm confused by the load capacitance discussion. The crystal should be fine, you just need the correct load caps on the board to match it. However I don't know how run_ar knows you have 10pf caps on there, perhaps he has secret information about your board layout to which I'm not privy!

    If you switch the load caps to something closer to 14pF than 10pF (if infact you have 10pF on the board) then you should be close to the 9pF load the crystal wants.

    selftest - you could try. Right at the start, before you do anything else, start some kind of timer using the HF clock, start the LF clock, see how long it takes for the LF clock to start, if it starts at all, make a decision that way. That's a test you could run one time on each board and save the result somewhere non-volatile so you start up directly the next time.

Related