|Thema:||High Precision Timing from Linux User Space on SoC|
One of the research focuses of the Future Internet Lab Anhalt (FILA) is provision of concepts, methods, and tools to satisfy requirements for soft real-time in control of industrial devices from the Linux user space. For communication and industrial control applications, stable, efficient and precise processing of time values is crucial. On this field, a number of research and industrial projects are currently running at FILA.
At the present time this approach is being developed on the embedded Linux for single-and multi-core processors of ARM Cortex™-A family.
Though Linux offers low interrupt latency of a few microseconds in most cases on today's Intel and ARM processors, however its non-deterministic nature of task scheduling may make it unsuitable for some hard real-time systems. The proposed solution focuses on substituting the time- and CPU-consuming common way of getting the time values using Linux system calls by a direct clock hardware access from user space through a unified High Performance Timer Library HighPerTimer.
The approach offers direct access to the hardware and reduces time acquisition costs down to 200 nanoseconds against 1-2 microseconds of the time acquisition via Unix system call interface.
Moreover, the presented approach is capable of handling the sequential time value, precise process sleep and suspension and resuming functions. This ability means the reduction of wasting computer resources during the execution of a sleeping process from 100% (busy-wait) to 1-1.5%, whereas the benefits of very accurate process resuming times on long waits are maintained.