-
Notifications
You must be signed in to change notification settings - Fork 0
Move Data Processing as Close to the Sensor as Possible
Item | Value |
---|---|
Guideline Number | 4 |
Guideline Responsible (Name, Affiliation) | Lester Kalms, TUD |
Guideline Reviewer (Name, Affiliation) | Magnus Peterson, Synective Labs |
Guideline Audience (Category) | System architects, Application developers |
Guideline Expertise (Category) | Toolchain designers |
Guideline Keywords (Category) | Energy efficiency, Sensor data |
Move data processing as close to the sensor as possible. (Pre-) Processing a video stream with an embedded CPU consumes too much processing power, time and energy. KPIs in your real-time enabled low-power image processing platform will not be met.
In the TULIPP reference platform, sensor data can be connected to the processing system or to the FPGA part directly. (Pre-) Processing the sensor data in the FPGA, reduces latency and increases throughput, due to the parallel nature of FPGAs.
Recommended implementation method of the guideline along with a solid motivation for the recommendation
If available, use on-board methods provided by the hardware manufacturer. For example, for the TULIPP starter kit, connect the sensor to the FPGA part directly. Consider the following examples of a Full HD video processing system with a simple pass-through and an HDMI output.
- A USB camera connected directly to the ARM processor of the Zynq SoC as input source.
- Using an HDMI input connected to the FPGA of the Zynq SoC the pass-through design.
- With optimizations of the part of the data processing responsible for handling the sensor input the frame rate (e.g. using VDMA instead of DMA).
- This achieved 2 frames per second or even less. The Linux operating system uses OpenCV to read the input and writes it directly to the HDMI output.
- This achieved 32 frames per second. The Linux operating system only monitors the processing of the video stream. Here, the sensor is moved close to the data processing executed on the FPGA only.
- This achieved up to 60 frames per second.
This shows that moving the data processing as close as possible to the sensor – combined with simple optimizations – can improve your system.
none
TULIPP Guideline Wiki