This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF5340 - Use Radio Transceiver while Network Core is in ForceOff mode

Hello,

I am currently working with the development board nRF5340DK in order to evaluate the nRF5340 SoC.

Given certain project requirements related to the operating temperature, we are replacing the nRF52 SoC by the nRF53 SoC.
Looking at the block diagram of the application and the network core, I realized that only the network core has access to the Radio Transciever. I understand that the reason of that is to use the Network Core to run the BLE Controller and the Application Core to allocate the BLE Host and the application.

Given a situation of extreme restrictions in terms of power consumption, an operating temperature > 105 °C (thus nRF52 not being a feasible option) and considering that only the Network core can be completely stopped (Force-Off Mode), I have a few questions:

  • The Product Specification states the following:
    "The application core peripherals are accessible from the network core, but the network core peripherals are not accessible from the application core"
    Despite of that, would it be possible to somehow modify the Zephyr Device Tree / Kernel so that the Application Core can have direct access to the Radio transciever and allocate the BLE Controller?
  • In terms of power consumption, would the difference (if any) with the two cores configuration be much significant?

Best regards and thanks in advance.

Parents
  • Hi

    The Product Specification states the following:
    "The application core peripherals are accessible from the network core, but the network core peripherals are not accessible from the application core"
    Despite of that, would it be possible to somehow modify the Zephyr Device Tree / Kernel so that the Application Core can have direct access to the Radio transciever and allocate the BLE Controller?

    This is not possible, no. This is a hardware limitation in the part, and is also implemented like this for security reasons, to avoid a compromised or misbehaving application in the application core being able to interfere with the network core operation. 

    In terms of power consumption, would the difference (if any) with the two cores configuration be much significant?

    The network core is highly optimized for power efficiency, while the application core has more features and better performance but is slightly less power efficient. 

    As such, in order to keep power consumption to a minimum it is recommended to try and put as much functionality as you can in the network core, and only use the application core if you need a lot of performance, memory or peripherals. 

    As an example it is fully possible to run the entire Bluetooth stack in the network core, in order to minimize the communication between the two cores, and for the application core to be able to sleep as much as possible. 

    Best regards
    Torbjørn 

Reply
  • Hi

    The Product Specification states the following:
    "The application core peripherals are accessible from the network core, but the network core peripherals are not accessible from the application core"
    Despite of that, would it be possible to somehow modify the Zephyr Device Tree / Kernel so that the Application Core can have direct access to the Radio transciever and allocate the BLE Controller?

    This is not possible, no. This is a hardware limitation in the part, and is also implemented like this for security reasons, to avoid a compromised or misbehaving application in the application core being able to interfere with the network core operation. 

    In terms of power consumption, would the difference (if any) with the two cores configuration be much significant?

    The network core is highly optimized for power efficiency, while the application core has more features and better performance but is slightly less power efficient. 

    As such, in order to keep power consumption to a minimum it is recommended to try and put as much functionality as you can in the network core, and only use the application core if you need a lot of performance, memory or peripherals. 

    As an example it is fully possible to run the entire Bluetooth stack in the network core, in order to minimize the communication between the two cores, and for the application core to be able to sleep as much as possible. 

    Best regards
    Torbjørn 

Children
No Data
Related