At first glance drones, driver assistance systems and mobile medical diagnostic equipment don’t appear to have much in common. But in reality they do: they all make increasing use of image processing components, for example for detecting obstacles and pedestrians. Image processing can also be used with mobile X-ray equipment to ensure adequate image quality at reduced radiation levels, thus considerably reducing radioactive exposure.
In contrast to a workstation computer, where dimensions and energy consumption are not particularly critical factors, applications like these require for small, lightweight, energy-efficient image processing components that are nevertheless real-time capable. Hardware platforms based on conventional computer architectures and processors can’t properly meet these requirements. This is why embedded systems using field-programmable gate arrays (FPGAs) are often used.
Field-programmable gate arrays are logic components whose circuit structure can be freely configured using a special type of programing, usually involving the low-level language VHDL. There’s a problem, however: The majority of image processing applications are written in higher-level programming languages such as C/C++, and their migration to the embedded systems is highly complicated. Not only does VHDL differ greatly from other programming languages, but the code must also be adapted to the specific hardware. This means even existing VHDL programs can’t be transferred to other hardware. Software developers have to start virtually from scratch with every new system.
Starter kit for rapidly implementing especially energy-efficient embedded systems
A consortium of eight partners from six countries, including the Fraunhofer Institute for Optronics, System Technologies and Image Exploitation IOSB in Karlsruhe, has now considerably simplified this procedure in the Tulipp project. “The result is a development platform consisting of design guidelines, a configurable hardware platform and a real-time-capable operating system that supports multicore processors, as well as a programing tool chain,” says Dr.-Ing. Igor Tchouchenkov, group manager at Fraunhofer IOSB. “A starter kit put on the market by one of our partners in Tulipp provides additional support. The starter kit makes developing such applications much faster and easier. Porting C++ programs to FPGA, which frequently means several months of work for the developer, can be handled within only a few weeks using the Tulipp starter kit.”