Hello everyone,
I use the multirole software as base for my application and I programmed everything with a evaluation board. I design my own PCB and decided to not use the LF oscillator and use the internal one. On the evaluation board is a LF oscillator available and I used it.
My custom board arrived and I soldered each component by myself. I connected my custom board and it was possible to connect to the NRF52832. It was also possible to load my application. I run the application and found out that at the nrf_sdh_enable_request(); my applicationm stucked and the reason was the configuration of the LF osciallator. Since I removed it it doesnt work. Therefore I configered to the internal RC with following configuration (as recommended in the forum):
// <o> NRF_SDH_CLOCK_LF_SRC - SoftDevice clock source. // <0=> NRF_CLOCK_LF_SRC_RC // <1=> NRF_CLOCK_LF_SRC_XTAL // <2=> NRF_CLOCK_LF_SRC_SYNTH #ifndef NRF_SDH_CLOCK_LF_SRC #define NRF_SDH_CLOCK_LF_SRC 0 #endif // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. #ifndef NRF_SDH_CLOCK_LF_RC_CTIV #define NRF_SDH_CLOCK_LF_RC_CTIV 16 #endif // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated // <i> if the temperature has not changed. #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2 #endif // <o> NRF_SDH_CLOCK_LF_ACCURACY - External clock accuracy used in the LL to compute timing. // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM #ifndef NRF_SDH_CLOCK_LF_ACCURACY #define NRF_SDH_CLOCK_LF_ACCURACY 1 #endif
After that the function nrf_sdh_enable_request(); worked and my application runs also some LEDs turns on... After that I tried to communicate with my NRF52832 but I cannot find the device. I saw also sometimes that I get the error code "SOFTDEVICE: ASSERTION FAILED" and sometimes my application stuck at idle_state_handle();.
If I flash the same Software to my previous development board everything works fine. I also identified that at the development board it takes longer to went through my initialization. On my custom board its really fast and it seems to be it skips some steps. I aalso observed that when I disconnect the PCB from powersupply and connect again it stucks in a restart loop this is also not happening with the development board.
Is my RC clock for the softdevice set correctly or is there any other issue maybe with the HF Clock or anything else? What else can I check?
Best regards
Hani

