About removing the 32.768kHz crystal oscillator

Hello,

While designing the hardware circuit for the CAAA WLCSP with internal LDO regulator setup on the nrf52810, I removed the 32.768kHz crystal oscillator and retained only the 32MHz crystal oscillator. During software debugging, I found that when using the k_msleep function alone, its counting is relatively accurate. However, after adding GPIO drivers, the k_msleep function frequently gets stuck and fails to proceed to the next step. Does the software require any special adaptation or adjustment when retaining the 32MHz crystal oscillator to resolve this issue?

Thank you very much.

Parents
  • Hi,

    Thanks for contacting us. When using only 32 MHz crystal oscillator (and no 32.768 kHz crystal), special software configuration is required. By default, SDK expects a 32.768 kHz crystal (LFXO) for the LFCLK, which is used by system timers, the RTC, and functions like k_msleep.
    You need to configure your firmware to use the internal RC oscillator (LFRC)  as the LFCLK source instead of external crystal. For that purpose, please add the following line to your prj.conf file (project configuration file):

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

    This tells the system to use the internal RC oscillator.

    Best regards,
    Ressa


Reply
  • Hi,

    Thanks for contacting us. When using only 32 MHz crystal oscillator (and no 32.768 kHz crystal), special software configuration is required. By default, SDK expects a 32.768 kHz crystal (LFXO) for the LFCLK, which is used by system timers, the RTC, and functions like k_msleep.
    You need to configure your firmware to use the internal RC oscillator (LFRC)  as the LFCLK source instead of external crystal. For that purpose, please add the following line to your prj.conf file (project configuration file):

    CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

    This tells the system to use the internal RC oscillator.

    Best regards,
    Ressa


Children
No Data
Related