Real-time audio processing for an embedded Linux system using a dual-kernel approach

University essay from KTH/Nätverk och systemteknik

Abstract: Professional audio processing systems such as digital musical instruments, audiomixers, etc. must operate with very tight constraints on overall processing latencyand CPU performance. Consequently, traditional implementations are still mostlybased on specialized hardware like Digital Signal Processors (DSP) and Real-TimeOperating Systems (RTOS) to meet such requirements. However, such systems areminimalistic in nature and they lack many features (e.g. network connectivity, widehardware support, etc.) that a general-purpose operating system such as Linuxoffers. Linux is a very popular choice for the operating system used in embeddeddevices, and many developers have started to use it for designing real-time systemswith relaxed timing constraints. However, none of the available solutions using astandard Linux kernel can satisfy the low-latency requirements of professional audiosystems.In this thesis, a dual kernel approach is employed to enable an embedded Linuxsystem to process audio with low roundtrip latency. The solution is developed usingthe Xenomai framework for real-time computation, which is based on a techniqueknown as interrupt pipeline (I-pipe). I-Pipe enables interrupt virtualization througha micro-kernel running between the Linux kernel and the interrupt controller hardware.The designed system includes an x86 Atom System-on-Chip (SoC), an XMOSmicrocontroller and audio converters to and from the analog domain. Custom kerneldrivers and libraries have been developed to expose the audio programming functionalitiesto programs running in user-space. As a result, the system can achieverobust real-time performance appropriate for professional audio applications, andat the same time it has all the advantages of a traditional Linux solution such ascompatibility with external devices and ease of programming. The real-time capabilityis measured by evaluating the performance in terms of worst case responsetime of the real-time tasks in comparison to the same metrics obtained under astandard Linux kernel. The overall roundtrip latency of audio processing is showedto be improved by almost an order of magnitude (around 2.5ms instead of 20ms).

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)