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

Troubleshooting HFCLKSTARTED

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?

image description

Parents
  • FormerMember
    0 FormerMember

    As far as I understand, you have some custom boards where the HFCLK in most cases won't start, and some similar custom boards where the HFCLK starts without any problems? If that is the case, I would recommend you to check the soldering on the non-properly-working boards: Check that the crystal is well soldered and that it is mounted correctly (not shifted by 90 degrees for instance). In addition, you can replace the load capacitors (C1 and C2) by some new ones, just to make sure that they have the correct value.

Reply
  • FormerMember
    0 FormerMember

    As far as I understand, you have some custom boards where the HFCLK in most cases won't start, and some similar custom boards where the HFCLK starts without any problems? If that is the case, I would recommend you to check the soldering on the non-properly-working boards: Check that the crystal is well soldered and that it is mounted correctly (not shifted by 90 degrees for instance). In addition, you can replace the load capacitors (C1 and C2) by some new ones, just to make sure that they have the correct value.

Children
No Data
Related