nRF9161 Getting the high accuracy oscillator (HFXO) outside and sync with other nrf chips?

Question: nRF9161 Getting the high accuracy oscillator (HFXO) outside and sync with other nrf chips?

Basically I want to get the Clock Signal outside on a Pin, is it an option?
How can I achivew this and bring out the Clock Signal?

Goal
I want to use this Clock on another nrf Chip instead of external Clock, just this Clock Signal.


Hopefully someone have good news for me.


kind regards

Parents Reply Children
  • Hi,

    thanks!

    I get my hands dirty and get a running High Precsion Clock running.
    I used the Clock Control from NRF and play around with NRF Timer.

    CONFIG_CLOCK_CONTROL_NRF=y
    CONFIG_NRFX_TIMER0=y

    It is quite nice and have the timeing scale we need.

    #include <zephyr/kernel.h>
    #include <nrfx_timer.h>
    #include <zephyr/drivers/clock_control.h>
    #include <zephyr/drivers/clock_control/nrf_clock_control.h>
    #include "nrfx_clock.h"
    
    // ...
    
    main() {
    // ...
    
    clock_init();
    
     nrf_timer_task_address_get(timer.p_reg, NRF_TIMER_TASK_START);
    
     // my test stuff
    
     if(nrfx_clock_hfclk_is_running() == true){
     LOG_INF("The High precsion clock is running");
     } else {
     LOG_INF("The High precsion clock is not running");
    
     }
    }





    There is the clock page: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf9161%2Fpmu_oscillators.html&anchor=frontpage__fig

    And finally I read some topics here in the devzone with "clock" as a tag.
    But still I am not clear how to put the clock to an external PIN and read it back on another Board?

    I use this sample here: https://github.com/nrfconnect/sdk-nrf/blob/main/samples/peripheral/radio_test/src/main.c#L11 as it was recommended.

    But there is no XL1 and XL2 so far I saw ...
    XL1 and XL2, XC1 and XC2

    So it looks like I have not an option to output and input the clock right ?

    greetings
  • Hello

    Due to summer vacation period in our technical support team we are lower staffed than normal, this may cause some delays in our answers. Sorry for the inconvenience. 


    The MIPI RFFE interface is accessible through AT commands ( %XMIPIRFFEDBG) when modem is running the production test image. 

    schnitzlein said:

    This sample is not for the nRF91-series. The Radio test sample demonstrates how to configure the radio in a specific mode and then test its performance. It requires our BLE devices for testing. 

    Could you please elaborate more on what you trying to achieve? 

    Kind regards,
    Øyvind

  • Hello,

    thanks for your response!
    Sorry for my confusion ... shame on me.

    here is my plan:

    Actually I was checking all the options in how could I synchronize the clocks between many nrf9161-DK in the first place, for a project there will be similar/same Chipsets used.
    They should synchronize with a clock, also the radios on those DK should be synced with a clock.
    So a simple transmit scenario at the same time with different setups could be achieved.

    I found out that the external clock support for nrf9161-DK is not really an option, no external osszilator input is possible, so far I understand.

    But I could maybe test the way out --> fetching the Clock Source from one nrf9161-DK Board and put it with pwm or something else outside on a GPIO and route this/wire this to another nrf9161-DK Board.

    This is my plan/scenario I am currently experimenting on.

    I found out that for the radio the HFCLK can be used as a source but will be deriving to a LFCLK.
    But this is all I know right now.

    Maybe you have some input for me?


    I am just checking this website, documentation, samples/examples and experiment around with some Code.


    greetings

  • schnitzlein said:
    But I could maybe test the way out --> fetching the Clock Source from one nrf9161-DK Board and put it with pwm or something else outside on a GPIO and route this/wire this to another nrf9161-DK Board.

    The closest I could find to achieve something similar is to use DPPI - Distributed programmable peripheral interconnect and GPIOTE — GPIO tasks and events. You can use our nrfx generic ppi layer that provides the common functionality of PPI and DPPI(nRF53/nRF91) drivers.

    There is a small sample available here, showing how to use the nrfx_gpiote, nrfx_gppi and nrfx_timer drivers to implement a simple pulse counter mechanism. This is based on nRF Connect SDK v2.5.2. 

    Let me know if that helps to find the right path Slight smile

    Kind regards,
    Øyvind

Related