Changes

Jump to: navigation, search
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 [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 an ARM Cortex-M7 core working in tandem with an FPGA. On The M7 and the other side, the M7 core is FPGA are connected to an FPGA through with an I<sup>2</sup>S 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 A53-centred domain runs a Yocto Linux distribution. The product's main application is executed in this domain. In particular, this application integrates the business logic and implements the GUI. Also, it deals with all the peripherals and interfaces not having real-time constraints such as the temperature sensor, the gyroscope, the Ethernet ports, etc.
The Linux domain is widely scalable in terms of computational power as multiple versions of the SoC are available featuring a different number of A53 cores (1, 2, or 4). These versions are ballout compatible, thus '''the same hardware platform fits them all'''.
== Real-timeness ==
As stated previously, the ARM Cortex-M7 core and the FPGA are the building blocks of the DMX/RDM domain.
A real-time operating system (FreeRTOS) runs on the M7 core. 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]. Basically, the M7 acts as a bridge between the Linux domain and the FPGA, which is responsible for transmitting and receiving physically the DMX/RDM frames on the busesat physical level.
From a logical point of view, the whole transmitting/receiving chain looks like as shown in the following picture.
* NXP EdgeLock SE050
* Microchip ATECC608A.
The first one is part of the Orca SoM, while the second is optionally populated at the carrier board level. These components allow to implement several schemes to address security-related issues. From the software perspective, they are supported by the Linux BSP so that the user space applications can access them through high-level API's. The Linux BSP is derived from the release L5.4.70 by NXP.
4,650
edits

Navigation menu