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

How does radio behave if HFXO is not stable?

When you start a receive task, what will the radio do if the HFXO is not stable? Not begin to ramp up until the HFXO is stable, OR begin to ramp up but not become active until the HFXO is stable, OR rampup and become active (possibly returning CRC errors until the HFXO is stable), OR some other behaviour such as do nothing until you start another receive task while HFXO is stable?

The rest is a discussion of my current understanding. You should "manually" start the HFXO before using the radio because the radio "needs" the HFXO which is more accurate than the HFRC. Most examples from Nordic seem to wait a fixed amount of time (say 1.6msec) after starting the HFXO. That amount of time is "ample" since a typical HFXO startup time is say 1.2mSec on the NRF51 and say 0.36mSec on the NRF52. But those numbersare not specified by Nordic since the crystal and its related components are off the Nordic chip. A sampled startup time also might vary slightly from session to session (a sample of startup times is statistically distributed, depends on temperature.) Instead of waiting a constant time (as in most Nordic examples), you can also sleep on an interrupt from event HFCLOCK_STARTED (which is misnamed and really means "is running stably.")

Parents
  • Hi butch,

    Could you point to which example that we use a delay for fixed amount of time ?

    Usually we stay in a loop waiting for NRF_CLOCK->EVENTS_HFCLKSTARTED = 1. Please have a look at the examples\peripheral\radio example.

    Of course the waiting loop can be replaced by CPU sleeping waiting for the interrupt (that's what we do in our softdevice).

  • Sorry, my typo, please read as NRF_CLOCK->EVENTS_HFCLKSTARTED = 1.

    The thread you point to is not "Most examples from Nordic " :)

    In that thread Stian had to use an assumption of 1.5ms because he was doing estimation for power consumption.

    The Radio doesn't care about the crystal if it's stable or not, it's the application who have to take care of that.

    It will proceed even the HFXO is not started.

Reply
  • Sorry, my typo, please read as NRF_CLOCK->EVENTS_HFCLKSTARTED = 1.

    The thread you point to is not "Most examples from Nordic " :)

    In that thread Stian had to use an assumption of 1.5ms because he was doing estimation for power consumption.

    The Radio doesn't care about the crystal if it's stable or not, it's the application who have to take care of that.

    It will proceed even the HFXO is not started.

Children
No Data
Related