Select HFXO for nRF5340 NET Core

How can the HFXO be selected on the nRF5340 NET Core?

We need to set the high frequency oscillator in the net core of an nRF5340 to use the external 32 MHz crystal oscillator as per the nRF5340 Product Specification which states:   

The HFXO must be selected and started in order to do the following:

Use RADIO

The network domain HFCLKSTART task is used

 

 

Our project does not have custom net core firmware, and the net core BlueTooth stack image is being generated by the Nordic SDK like is done by the sample project v2.7.0\nrf\samples\bluetooth\peripheral_uart.

 

Two Bluetooth sample projects

v2.7.0\nrf\samples\bluetooth\peripheral_uart

and

v2.7.0\nrf\samples\bluetooth\shell_bt_nus

were loaded into an nRF5340-DK and they both run as expected at room temperature.  However, for both projects, when the HFCLKSTAT is read from the NET core at 0x4100540C it is 0.  It is expected that this setting should be 0x00010001as required by the nRF5340 Product Specification to use the radio.  Here is the output from a JLink.exe command script.  Notice that LFCLKSTAT at 0x41005418 shows that the low frequency external oscillator is selected.  However, the high frequency oscillator is internal.

J-Link>Mem32 4100540C, 1

4100540C = 00000000

J-Link>Mem32 41005418, 1

41005418 = 00010002

 

I have followed instructions to enable the high frequency external oscillator on the APP core by adding and calling clocks_start() as shown in v2.7.0\nrf\samples\esb\esb_ptx\src/main.c.  The HFXO on the NET core also needs to be enabled.

We are seeing some nRF5340 devices spontaneously resetting at -20C and are suspicious that the high frequency internal oscillator is contributing to that problem.

Parents Reply Children
No Data
Related