nRF54L15 32Khz XO verify.

Hi nRF experts.

Is there any way to output 32khz to gpio? We need to verify the frequency offset of 32khz.

I saw that there is a ppi_trace sample code that seems to solve my problem, but this ppi_trace cannot be compiled on the nRF54L15 platform.
Can you let me know if there is any method that can be verified currently?
Thanks.

Parents
  • Hi Weili,
    There is a new feature on the nRF54L that you can output the LKCLK and HFCLK to one of the GPIO pins. 
    Please take a look at the GRTC peripheral here: https://docs.nordicsemi.com/bundle/ps_nrf54L15/page/grtc.html#ariaid-title5

    The pin for LFCLK (32kHz) is P0.04.

    We don't have an example to show this but you can just set the register directly or use the nrf_grtc_clkout_set() function in the nrfx_grtc driver.

  • Hi Hung.

    Sorry, this is our first time contacting the nRF platform.
    I used the radio_test sample and added the following declaration after clock_init() of the main function. Is this correct?

    #include <hal/nrf_grtc.h>
    NRF_GRTC_Type NRF_GRTC_regs;
    int main(void)
    {
    	int blink_status = 0;
    	int err = 0;
    
    	configure_gpio();
    
    	memset(&NRF_GRTC_regs, 0, sizeof(NRF_GRTC_Type));
    	NRF_GRTC_regs.CLKCFG = (0x00000000UL);
    	NRF_GRTC_regs.CLKOUT = (0x00000001UL);
    
    	nrf_grtc_clkout_set(&NRF_GRTC_regs,NRF_GRTC_CLKOUT_32K,true);
    
    	err = uart_init();
    	if (err) {
    		error();
    	}
    
    	if (IS_ENABLED(CONFIG_BT_NUS_SECURITY_ENABLED)) {
    		err = bt_conn_auth_cb_register(&conn_auth_callbacks);
    		if (err) {
    			printk("Failed to register authorization callbacks.\n");
    			return 0;
    		}
    	....
    	....
    	....
    	...
    }
    

    I didn't see any waveform in P004, only a high level.
    Please tell me if I missed any details.

    SDK V2.8

    nRF54L15 DK board .v0.8.1

Reply
  • Hi Hung.

    Sorry, this is our first time contacting the nRF platform.
    I used the radio_test sample and added the following declaration after clock_init() of the main function. Is this correct?

    #include <hal/nrf_grtc.h>
    NRF_GRTC_Type NRF_GRTC_regs;
    int main(void)
    {
    	int blink_status = 0;
    	int err = 0;
    
    	configure_gpio();
    
    	memset(&NRF_GRTC_regs, 0, sizeof(NRF_GRTC_Type));
    	NRF_GRTC_regs.CLKCFG = (0x00000000UL);
    	NRF_GRTC_regs.CLKOUT = (0x00000001UL);
    
    	nrf_grtc_clkout_set(&NRF_GRTC_regs,NRF_GRTC_CLKOUT_32K,true);
    
    	err = uart_init();
    	if (err) {
    		error();
    	}
    
    	if (IS_ENABLED(CONFIG_BT_NUS_SECURITY_ENABLED)) {
    		err = bt_conn_auth_cb_register(&conn_auth_callbacks);
    		if (err) {
    			printk("Failed to register authorization callbacks.\n");
    			return 0;
    		}
    	....
    	....
    	....
    	...
    }
    

    I didn't see any waveform in P004, only a high level.
    Please tell me if I missed any details.

    SDK V2.8

    nRF54L15 DK board .v0.8.1

Children
Related