Hi,
We created a custom board, with the nRF52 and the 32 MHz crystal oscillator according to the reference circuitry. We use ESB to communicate on RF, and it needs the HFCLK startup at the beginning like this code:
// start clock for RF RX/TX
static void rf_clock_start ()
{
// Start HFCLK and wait for it to start.
NRF_CLOCK->EVENTS_HFCLKSTARTED = 0;
NRF_CLOCK->TASKS_HFCLKSTART = 1;
while (NRF_CLOCK->EVENTS_HFCLKSTARTED == 0) ;
}
Our problem is the while loop is not terminating 9 out of 10 restarts, so EVENTS_HFCLKSTARTED never changes from 0.
This issue is not happening when using the PCA10040 dev board, and we also have an other custom board with the same type of crystal and capacitors (CX3225SB32DFFFCC, 2x 12 pF cap) which works well. So we assume that is hardware related..
Any tips what to check?
Thank you, Adam
PS. With this board, we have a DCDC regulator (but because of a design error) we don't have C10 in place. Is that possible that it relates to this problem?