Difference between revisions of "MISC-TN-022: Advanced controller for DMX / RDM lighting applications"

From DAVE Developer's Wiki
Jump to: navigation, search
(Heterogeneous asymmetric multi-processing)
Line 28: Line 28:
 
The core of the systems is the [[ORCA SOM|Orca SoM]], which in turn is built around the [https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS i.MX8M Plus] system-on-chip by NXP.
 
The core of the systems is the [[ORCA SOM|Orca SoM]], which in turn is built around the [https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS i.MX8M Plus] system-on-chip by NXP.
  
== Heterogeneous asymmetric multi-processing ==
+
== Heterogeneous asymmetric multiprocessing ==
From the computational standpoint, there are two domains running two different operating systems. In this regard, the resulting architecture is an example of heterogeneous asymmetric multi-processing as it is based on different types of cores, namely the ARM Cortex-A53 and the ARM Cortex-M7.
+
From the computational standpoint, there are two domains running two different operating systems. In this regard, the resulting architecture is an example of [https://en.wikipedia.org/wiki/Heterogeneous_computing heterogeneous] [https://en.wikipedia.org/wiki/Asymmetric_multiprocessing asymmetric multiprocessing] as it is based on different types of cores, namely the ARM Cortex-A53 and the ARM Cortex-M7.
  
 
The system architect chose this implementation because it is convenient to satisfy the diversified product's requirements. In particular, the DMX/RDM subsystem must meet real-time requirements in order to be compliant with the DMX/RDM standards. The DMX/RDM subsystem consists of the ARM Cortex-M7 core working in tandem with an FPGA. On the M7 core, a real-time operating system (FreeRTOS) runs. The application executed on top of the RTOS communicates with the Linux domain through RPMsg-Lite, a "lightweight implementation of the Remote Processor Messaging (RPMsg) protocol" according to [https://github.com/NXPmicro/rpmsg-lite NXP documentation]. On the other side, the M7 core is connected to an FPGA through an I2S bus. Even though this bus is conceived for digital audio streams, it fits very well for conveying the data to/from the DMX/RDM channels.
 
The system architect chose this implementation because it is convenient to satisfy the diversified product's requirements. In particular, the DMX/RDM subsystem must meet real-time requirements in order to be compliant with the DMX/RDM standards. The DMX/RDM subsystem consists of the ARM Cortex-M7 core working in tandem with an FPGA. On the M7 core, a real-time operating system (FreeRTOS) runs. The application executed on top of the RTOS communicates with the Linux domain through RPMsg-Lite, a "lightweight implementation of the Remote Processor Messaging (RPMsg) protocol" according to [https://github.com/NXPmicro/rpmsg-lite NXP documentation]. On the other side, the M7 core is connected to an FPGA through an I2S bus. Even though this bus is conceived for digital audio streams, it fits very well for conveying the data to/from the DMX/RDM channels.
  
 
Such requirements would be hard to fulfill with  Linux-only implementation.
 
Such requirements would be hard to fulfill with  Linux-only implementation.

Revision as of 13:29, 19 May 2022

Info Box
NeuralNetwork.png Applies to Machine Learning


History[edit | edit source]

Version Date Notes
1.0.0 May 2022 First public release

Introduction[edit | edit source]

This Technical Note (TN for short) illustrates the concept behind a custom product developed by DAVE Embedded Systems for a customer operating in the professional lighting market. This project is a useful use case for showing some interesting technologies that can address common requirements in the world of embedded systems for industrial applications.

Overview[edit | edit source]

The following image depicts the product's block diagram.

As shown, the product features a rich set of I/O's ranging from the DMX/RDM channels to the network interfaces.

The core of the systems is the Orca SoM, which in turn is built around the i.MX8M Plus system-on-chip by NXP.

Heterogeneous asymmetric multiprocessing[edit | edit source]

From the computational standpoint, there are two domains running two different operating systems. In this regard, the resulting architecture is an example of heterogeneous asymmetric multiprocessing as it is based on different types of cores, namely the ARM Cortex-A53 and the ARM Cortex-M7.

The system architect chose this implementation because it is convenient to satisfy the diversified product's requirements. In particular, the DMX/RDM subsystem must meet real-time requirements in order to be compliant with the DMX/RDM standards. The DMX/RDM subsystem consists of the ARM Cortex-M7 core working in tandem with an FPGA. On the M7 core, a real-time operating system (FreeRTOS) runs. The application executed on top of the RTOS communicates with the Linux domain through RPMsg-Lite, a "lightweight implementation of the Remote Processor Messaging (RPMsg) protocol" according to NXP documentation. On the other side, the M7 core is connected to an FPGA through an I2S bus. Even though this bus is conceived for digital audio streams, it fits very well for conveying the data to/from the DMX/RDM channels.

Such requirements would be hard to fulfill with Linux-only implementation.