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

Safety and Power Saving features of Nordic nrf52 series

Hello All,

We are working on a medical device that requires BLE connectivity. We could either use the nRF52 series SOC to run the application and the BLE communications or use another MCU like the STM32 series with a BLE module. I am struggling to find any safety features like RAM parity check in the Nordic documentation. We need some inherent safety for this Class 2 medical device. STM32 series has some safety features that would suffice. So my questions are:

1.  Does the nRF52 series have safety features for error checking to ensure we can at least reset during a failure.

2. Power saving is critical and we want the CPU to operate in idle mode most of the time. How much CPU time does the BLE soft stack use or does it affect reduce the idle time significantly?

regards

Ankit

Parents
  • Hello Ankit,

    1. Unfortunately, there is no RAM parity check on the nRF Series. If there are some certain areas/variables in RAM you want to ensure isn't corrupted, you would need to implement this (writing the parity bit and checking it). There are some libraries for CRC checking, which you may be able to use instead of the parity. If you implement this, it is possible to do software resets (you may already be aware of that). For "long term" storage we have the FDS (Flash Data Storage) library, which has an included CRC check (SW), but I am not sure if this is what you are looking for.

    2. The BLE stack for the nRF series is very power efficient. If you only maintain the connection (e.g. no payload), the only thing the CPU is used for is to calculate and set the channel being used in the next connection event (every connection interval). The rest is done in HW. Of course, if you transmit any actual payload data, the CPU needs to process this. But as I mentioned, the idle time is not reduced much. Most of the current being consumed comes from the radio.

    Best regards,

    Edvin

Reply
  • Hello Ankit,

    1. Unfortunately, there is no RAM parity check on the nRF Series. If there are some certain areas/variables in RAM you want to ensure isn't corrupted, you would need to implement this (writing the parity bit and checking it). There are some libraries for CRC checking, which you may be able to use instead of the parity. If you implement this, it is possible to do software resets (you may already be aware of that). For "long term" storage we have the FDS (Flash Data Storage) library, which has an included CRC check (SW), but I am not sure if this is what you are looking for.

    2. The BLE stack for the nRF series is very power efficient. If you only maintain the connection (e.g. no payload), the only thing the CPU is used for is to calculate and set the channel being used in the next connection event (every connection interval). The rest is done in HW. Of course, if you transmit any actual payload data, the CPU needs to process this. But as I mentioned, the idle time is not reduced much. Most of the current being consumed comes from the radio.

    Best regards,

    Edvin

Children
Related