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

HFCLK (HFXO) failure detection

Hi,

We have below questions regarding HFXO. 

1.> Will softdevice or nordic HW be able to recognize that the 32 MHz crystal is non functional during run time (after the HFCLKSTART task is successful)?

Is there any interrupt or event generated on the fault detection?

2.>  Will the HFCLK be automatically sourced from HFINT when HFXO becomes non-functional during run time? 

3.> In softdevice what happens if HFCLKSTART event doesn't complete?

4.> From section 9.2.5 of S132 SoftDevice specification v6.1:- it is not clear on how the application can request the SoftDevice to have the external high-frequency crystal ready by the start of the timeslot.

Is application required to call some softdevice API to do the HFCLKSTART before softdevice is enabled?


Thanks

Santosh Kumar Athuru

Parents
  • Hi

    1. The SoftDevice needs the HFXO for radio operations, so it will return an error if there's something wrong with the HFXO crystal.

    2. You will not be able to run the radio using the HFINT, as it is not accurate enough. If you're not using the SoftDevice, the application should be able to run on HFINT.

    3. I believe the HFCLK startup will time out and return a timeout error.

    4. Please check out the \<SDK_LOCATION>\components\softdevice\s132\headers\nrf_soc.h header file in your SDK. Here you can see that if p-request->hfclk_force_xtal is true the HF clock is guaranteed to be clocked from the external crystal.

    Best regards,

    Simon

Reply
  • Hi

    1. The SoftDevice needs the HFXO for radio operations, so it will return an error if there's something wrong with the HFXO crystal.

    2. You will not be able to run the radio using the HFINT, as it is not accurate enough. If you're not using the SoftDevice, the application should be able to run on HFINT.

    3. I believe the HFCLK startup will time out and return a timeout error.

    4. Please check out the \<SDK_LOCATION>\components\softdevice\s132\headers\nrf_soc.h header file in your SDK. Here you can see that if p-request->hfclk_force_xtal is true the HF clock is guaranteed to be clocked from the external crystal.

    Best regards,

    Simon

Children
  • Hi Simon,

    1. The SoftDevice needs the HFXO for radio operations, so it will return an error if there's something wrong with the HFXO crystal.

    on #1> can you point to the error that will happen, how can an application catch this error for handling?

    2. You will not be able to run the radio using the HFINT, as it is not accurate enough. If you're not using the SoftDevice, the application should be able to run on HFINT.

    on #2> as per section 19.1, of nRF52832_PS_v1.4, HFINT will be used when HFCLK is requested and HFXO has not been started. Also few lines below the manual mentions that HFXO must be running to use the Radio. So this means there should be a specific error that gets triggered for the application to handle it - correct?

    3. I believe the HFCLK startup will time out and return a timeout error.

    on #3> again how will the application know about timeout error, especially for cases when HFXO goes missing during runtime, there should be an asynchronous (or call back) way of informing about the error to the application, what is this and where is this documented?

    4. Please check out the \<SDK_LOCATION>\components\softdevice\s132\headers\nrf_soc.h header file in your SDK. Here you can see that if p-request->hfclk_force_xtal is true the HF clock is guaranteed to be clocked from the external crystal.

    on #4> who or where in code, p->request->hfclk_force_xtal is being set?

    Thanks

    Santosh Kumar Athuru

Related