Linux ERT target is based on MathWorks' generic Unix target for Simulink Embedded Coder®. It allows to compile dynamic model/control system designed in Simulink to the C-code and combine it with target specific support functions. The resulting executable/controller is then run model in real-time on the target system. The recent version is optimized to use real-time capabilities of real-time variant of Linux kernel. The control system smaplink frequencies up to 20 kHz with no losing sample per months can be achieved by carefully selected x86 or embedded system (see OSADL Quality Assurance Farm).

Page Contents [[!toc]]

Recent News

Project Background

The Linux ERT has been initially designed at DCE of CTU to develop and realize dynamic environment model for hardware (airplane) in the loop testing of fly-by-wire system at AERO Vodochody a.s.. Simulink has been run on Windows host computer initially and code generated for GNU/Linux embedded target system was compiled under MinGW/MSYS environment and then uploaded to PowerPC based BOA5200 computer. The target computer was equipped by two CAN interfaces. CANopen blockset based on CANfestival is used to control distributed servosystem used to simulate fly-by-wire system load. Simulink CANopen blockset integrates a SocketCAN driver configuration and CAN messages processing support to the generated code and enables the user to develop distributed embedded control applications with CANopen communication.

Original code generation workflow

Model including node controlled over CANopen

Lukáš Hamáček, “RTW target for Linux with CANopen support”, Master Thesis, Prague 2009. (Pdf)

Native Linux Real-Time and I/O Cards Support

The Linux ERT target is updated and optimized to use Linux kernel timing mechanism with lower maximal latencies now. Matlab/Simulink run on GNU/Linux desktop system as development system is supported now. More information about update can be found on respective Michal Sojka's blog page. UIO driver and blockset has been implemented to support Humusoft data acquisition cards (MF624 for now).

UIO (User Space I/O) driver for the MF624 card is already included in Linux kernel mainline. More documentation for this driver can be found in Rostislav Lisový master thesis and on DCE HW Wiki page

Source Code and Download

Lintarget at Source Forge
http://sourceforge.net/projects/lintarget/
project download area contains original Linux target code for CANopen based distributed system
Updated Linux ERT core support
http://rtime.felk.cvut.cz/gitweb/ert_linux.git
version updated for real-time and native GNU/Linux host/target system setup
Humusoft MF624 card support blockset
http://rtime.felk.cvut.cz/gitweb/mf624-simulink.git
initial version of blockset supporting analog and digital input/output, IRC, PWM and PWM measurement for MF624 cards.

Project Contributors

Michal Sojka
sojkam1@fel.cvut.cz , homepage http://rtime.felk.cvut.cz/~sojka/
teacher, researcher and developer at DCE CTU.
Pavel Píša
pisa@cmp.felk.cvut.cz , homepage http://cmp.felk.cvut.cz/~pisa/
teacher, researcher and developer at DCE CTU.
Rostislav Lisový
lisovros@fel.cvut.cz
former CTU master study programe student, Linux related projects developer at DCE now.
Libor Waszniowski
xwasznio@fel.cvut.cz
the former DCE CTU researcher responsible for project founding and delivery to AERO Vodochody.
Lukáš Hamáček
xwasznio@fel.cvut.cz
former CTU master study programe student.

DCE - Department of Control Engineering - Czech Technical University in Prague, Faculty of Electrical Engineering

Acknowledgement

This work was supported by Ministry of Industry and Trade of the Czech Republic under Project FT—TA3/044 during period of 2006 to 2009 years.