If don't use 32.768k low frequency crystal, what will happen?

Dear ,

          I use nRF52833 to transfer audio,but I found that this audio will delay 130ms.

I didn't use 32.768K low frequency crystal, do you think this will affect delay time?

I modified below definition from 1 to 2 in sdk_config.h

#define NRFX_CLOCK_CONFIG_LF_SRC   2

#define CLOCK_CONFIG_LF_SRC   2

  • Hello,

    The LF clock does not affect the latency. Probably what you should look at is the connection interval. You can use the Connection Parameters Negotiation module for requesting a shorter interval in your application.

    Best regards,

    Vidar

  • Dear Vidar,

              May I know how to set sdk_config.h if I don't want to use 32.768K crystal?

    Does my current setting OK for not using 32.768K ?

    #define NRFX_CLOCK_CONFIG_LF_SRC   2

    #define CLOCK_CONFIG_LF_SRC   2

  • Hello,

    The Softdevice clock source is configured through the NRF_SDH_CLOCK_* symbols, and these are the recommended settings if you don't have a crystal:

    // </h> 
    //==========================================================
    
    // <h> Clock - SoftDevice clock configuration
    
    //==========================================================
    // <o> NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
     
    // <0=> NRF_CLOCK_LF_SRC_RC 
    // <1=> NRF_CLOCK_LF_SRC_XTAL 
    // <2=> NRF_CLOCK_LF_SRC_SYNTH 
    
    #ifndef NRF_SDH_CLOCK_LF_SRC
    #define NRF_SDH_CLOCK_LF_SRC 0
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
    #ifndef NRF_SDH_CLOCK_LF_RC_CTIV
    #define NRF_SDH_CLOCK_LF_RC_CTIV 16
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
    // <i> How often (in number of calibration intervals) the RC oscillator shall be calibrated
    // <i>  if the temperature has not changed.
    
    #ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    #define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
    #endif
    
    // <o> NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
     
    // <0=> NRF_CLOCK_LF_ACCURACY_250_PPM 
    // <1=> NRF_CLOCK_LF_ACCURACY_500_PPM 
    // <2=> NRF_CLOCK_LF_ACCURACY_150_PPM 
    // <3=> NRF_CLOCK_LF_ACCURACY_100_PPM 
    // <4=> NRF_CLOCK_LF_ACCURACY_75_PPM 
    // <5=> NRF_CLOCK_LF_ACCURACY_50_PPM 
    // <6=> NRF_CLOCK_LF_ACCURACY_30_PPM 
    // <7=> NRF_CLOCK_LF_ACCURACY_20_PPM 
    // <8=> NRF_CLOCK_LF_ACCURACY_10_PPM 
    // <9=> NRF_CLOCK_LF_ACCURACY_5_PPM 
    // <10=> NRF_CLOCK_LF_ACCURACY_2_PPM 
    // <11=> NRF_CLOCK_LF_ACCURACY_1_PPM 
    
    #ifndef NRF_SDH_CLOCK_LF_ACCURACY
    #define NRF_SDH_CLOCK_LF_ACCURACY 1
    #endif
    

    The NRF_CLOCK_LF_SRC_SYNTH source is not low power, and is generally not recommended.

  • Dear Vidar,

                     I am trying to shorter interval in my application,but I found that 

    the interval seems already minimum 7 ms. Because I saw that "Minimum Connection Interval [ms] <7-4000>"

    You can check below information for your reference. what should I do ?


    // <o> Minimum Connection Interval [ms] <7-4000>
    // <i> Set the Minimum Connection Interval that is sent in the Connection Parameter Update request.
    /**@brief Minimum Connection Interval [ms] <7-4000> */
    #define CONFIG_MIN_CONN_INTERVAL_MS 7
    #define CONFIG_MIN_CONN_INTERVAL ROUNDED_DIV(100u * CONFIG_MIN_CONN_INTERVAL_MS, 125)

    // <o> Maximum Connection Interval [ms] <7-4000>
    // <i> Set the Maximum Connection Interval that is sent in the Connection Parameter Update request.
    /**@brief Maximum Connection Interval [ms] <7-4000> */
    #define CONFIG_MAX_CONN_INTERVAL_MS 7
    #define CONFIG_MAX_CONN_INTERVAL ROUNDED_DIV(100u * CONFIG_MAX_CONN_INTERVAL_MS, 125)

  • Hi,

    The shortest interval supported by the Bluetooth specification is 7.5 ms. Although, it is technically possible to set it lower if you have control of both sides of the link and use this proprietary extension here https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/bluetooth/llpm/README.html, you will end up sacrificing throughput for better latency.

Related