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

Real-time hardware capabilities of 5340 and 52833

Hi

Evaluating nRF5340 and 52833 devices for our product prototype. Besides of BT functions we need to support certain real-time hardware capabilities such as very narrow duty-cycle PWM and counting time between events triggered externally (by IOs).

In terms of PWM the performance required can be as tight as 0.1% duty cycle with about 1kHz frequency while time counting means counters running from the external OSC (or after some internal pre-scaler).

Bearing in mind the BT-related real-time protocol maintenance, can the single-core 52833 also support the such PWM operation on IOs (outputting pulses with such PWM) and also operating counters between events triggered by IO ? Or this kind of application would be better supported by 5340 thanks to dual-core ?

Thanks in advance

Alex

Parents
  • Hi Alex,

    I do not know enough about your use case to say which approach you should use or if it is feasible on the single core nRF52 device. There are some general concepts that are relevant, though.

    For counting time between external events you can use GPIOTE and TIMER in counter mode connected via PPI/DPPI. That way this can be achieved in HW, only needing the CPU for configuration (and using the data/count for something useful).

    Regarding PWM, if you need a continuous PWM signal you can use either the PWM peripheral (or a TIMER in timer mode connected to a GPIOTE via PPI), depending on your needs. If you use the PWM peripheral, it can "play out" a sequence from DMA, so you can change the duty cycle without CPU intervention for a predefined sequence. If you need this dynamically then you must use the CPU.

    Einar

Reply
  • Hi Alex,

    I do not know enough about your use case to say which approach you should use or if it is feasible on the single core nRF52 device. There are some general concepts that are relevant, though.

    For counting time between external events you can use GPIOTE and TIMER in counter mode connected via PPI/DPPI. That way this can be achieved in HW, only needing the CPU for configuration (and using the data/count for something useful).

    Regarding PWM, if you need a continuous PWM signal you can use either the PWM peripheral (or a TIMER in timer mode connected to a GPIOTE via PPI), depending on your needs. If you use the PWM peripheral, it can "play out" a sequence from DMA, so you can change the duty cycle without CPU intervention for a predefined sequence. If you need this dynamically then you must use the CPU.

    Einar

Children
No Data
Related