From: Michal Sojka Date: Fri, 12 Jun 2015 14:14:13 +0000 (+0200) Subject: Conversion to markdown X-Git-Url: https://rtime.felk.cvut.cz/gitweb/ert_linux_web.git/commitdiff_plain/b3df0c32948f4fc7b759dbf8d7d8266f84f893ff Conversion to markdown --- diff --git a/index.html b/index.html deleted file mode 100644 index d07888b..0000000 --- a/index.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - [[!meta title="Linux Target for Simulink® Embedded Coder®"]] - - - - - -
- -

- -[[!img ert_linux_snapshot1.png size="300x" align=right alt="Screenshot or ert_linux"]] - -Linux ERT target -for MathWorks' Simulink® -Embedded Coder® allows to compile a model of designed control system -to the C-code and combine it with target specific support functions. -The resulting executable/controller can be run in real-time on the -target Linux system. The running dynamic system can be augmented via -tunable block parameters in the Simulink model and data can be -acquired and visualized with Simulink scopes. -

- -

- Linux ERT target uses heavily real-time capabilities - of real-time - variant of the Linux kernel that provides bounded maximal - latencies. The resulting control system supports sampling - frequencies up to 20 kHz.

- -
-Page Contents - -[[!toc]] -
- -

Recent News

- - - -

I/O and communication interface support

- - - - - - - - - - - - -

RT-Capable Platform and Kernel

- -

-Standard distribution Linux kernel does not guarantee bounded latencies for many operations. -The use of real-time variant of Linux -kernel is required to make system durable. This kernel variants minimizes regions -where switch to the highest priority (i.e. Linux ERT generated) task is blocked by -kernel when servicing system calls for other tasks. -

-

-Selection of the right version of the kernel is not enough for non-disruptive -operation. Computer system hardware selection is critical as well. The system -has to provide enough computational power for compiled in blocks data evaluation -evaluation and Linux kernel services processing. Other critical disturbance sources -are hardware caused latencies and lags in a program processing by CPU. The source -can be bus systems load by other subsystems (i.e. graphic processor memory access, -peripheral DMA - SSD, SD-card, Flash controller etc.). The other critical source of -latencies in x86 based systems is SMI -processing. The SMI enable and processing is under BIOS and motherboard vendor control -and this problem cannot be resolved by operating system. This means that proper -hardware selection is critical. -

-

-A long period evaluation data of different combinations of Linux kernel version -runing on many CPU architectures and boards from many vendors is OSADL -Quality Assurance Farm. -According to these track records carefully selected x86 or embedded GNU/Linux system can run -real-time tasks with sampling frequencies up to 20 kHz with no losing sample per months. -

- -

Source Code and Download

- -
-
Lintarget at Source Forge
-
project download area - contains released versions of the Linux target and CANopen based distributed system -
-
Linux ERT source code repository
-
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 Background

- -

-The Linux ERT has been initially developed at DCE of -CTU in order to create a dynamic environment model for hardware -(airplane) in the loop testing of a 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 with two CAN -interfaces. CANopen -blockset based on CANfestival -project was 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.

- -[[!img LinTarget.JPG size=300x alt="Original code generation workflow"]] -[[!img CANopenExample.JPG size=300x alt="Model including node controlled over CANopen"]] - -

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

- -

Systems Controlled Linux Target for Embedded Coder

- -Some more information about concrete examples of controlled systems/setups: - -
-
Moving Slide parallel kinematic/robot control
-
The Linux ERT target is used at Adaptive Systems Department (Academy of Sciences - of Czech Republic, UTIA institute) to realize control system for parallel kinematics - control research projects. See respective page for more - information about project. -
-
Raspberry Pi minimal components DC motor servo control
-
Raspberry Pi is low cost - hardware which does not implement any usual motor control peripherals in hardware. - Yet fully preemptive variant of Linux kernel latencies are so low that fast signals - processing in software allows to implement precise DC motor feedback control - for incremental encoder inputs changing up to 15 kHz. - See respective page for more information - about project. -
-
Usable Simulink Embedded Coder Target for Linux
-
Michal Sojka, Pavel Pisa
- 16th Real-Time Linux Workshop, - Düsseldorf, Germany, October 2014. - The paper (PDF) - and slides (PDF) - are available from our - publications archive. -
-
- -

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 -
former DCE CTU researcher responsible for the project with AERO Vodochody. -
-
Lukáš Hamáček
-
- former CTU master student. -
-
- - -

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

- -

Acknowledgment

- -

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.

- -
- - - diff --git a/index.mdwn b/index.mdwn new file mode 100644 index 0000000..214dc76 --- /dev/null +++ b/index.mdwn @@ -0,0 +1,219 @@ +[[!meta title="Linux Target for Simulink® Embedded Coder®"]] + +[[!img ert_linux_snapshot1.png size="300x" align=right alt="Screenshot or ert_linux"]] + +Linux ERT target for [MathWorks]' [Simulink]® Embedded Coder® allows +to compile a model of designed control system to the C-code and +combine it with target specific support functions. The resulting +executable/controller can be run in real-time on the target Linux +system. The running dynamic system can be augmented via tunable block +parameters in the Simulink model and data can be acquired and +visualized with Simulink scopes. + +Linux ERT target uses heavily real-time capabilities of +[real-time variant of the Linux kernel](https://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch) +that provides bounded maximal latencies. The resulting control system +supports sampling frequencies up to 20 kHz.

+ +[MathWorks]: http://www.mathworks.com/ +[Simulink]: http://en.wikipedia.org/wiki/Simulink + +**Page Contents** +[[!toc]] + +Recent News +-------------------- + +- We will present the a paper + [Usable Simulink Embedded Coder Target for Linux](https://www.osadl.org/?id=2018) + and RPi motor control demonstartion at + [16th Real Time Linux Workshop](https://www.osadl.org/RTLWS-2014.rtlws-2014.0.html) + taking place on 12 and 13 October 2014 in Dusseldorf Germany. The + [Paper](http://rtime.felk.cvut.cz/publications/public/ert_linux.pdf) + and + [slides](http://rtime.felk.cvut.cz/publications/public/ert_linux-rtlws2014.pdf) + are available from our + [publications archive](http://rtime.felk.cvut.cz/publications/). +- We will present the ert_linux project at + [Amper exhibition](http://www.amper.cz/en/online-catalog/list-of-exhibitors.html/e9595_0-fakulta-elektrotechnicka-cvut-v-praze) + from 18th to 21st March 2014 in Brno, Czech Republic. +- Linux ERT at Embedded World exhibition – 25 until 27 February 2014 - Visit + [DCE CTU](http://www.ask-embedded-world.de/index.php5?id=342793&Action=showCompany) + developers and researchers at the OSADL booth (hall 5 booth 276). + +I/O and communication interface support +-------------------- + +- [Humusoft MF624 data acquisition card](http://www.humusoft.com/data/session.php?redirect=/produkty/datacq/mf624/&lang=en). + + UIO driver and Simulink blockset + has been developed. The UIO driver is already + [included in the mainline Linux kernel](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=06849faab58fc7ff9f4eae2532380c2a746a6f47). + Simulink blockset is available from a + [separate repository](https://rtime.felk.cvut.cz/gitweb/mf624-simulink.git). + More documentation about the UIO driver can be found on + [DCE HW Wiki page](http://rtime.felk.cvut.cz/hw/index.php/Humusoft_MF6xx). + +- The Bhanderi's [ComediToolbox](http://www.mathworks.com/matlabcentral/fileexchange/15792-comedi-toolbox-v1-0-for-linux-based-rtw-targets) suitable for most Linux [Comedi](http://www.comedi.org/) + driver supported analog and digital inputs/output cards has been + successfuly tested with ert_linux target. The little updated + version with target configuration example is available in + **lintarget** project + [download area](https://sourceforge.net/projects/lintarget/files/). + +- The basic blocks for + [CAN messages sending and receiption](can_bus/index.html) under + Linux are implemented. + + + + + + + + + + +RT-Capable Platform and Kernel +-------------------- + +Standard distribution Linux kernel does not guarantee bounded latencies for many operations. +The use of [real-time variant](http://rt.wiki.kernel.org/) of [Linux](http://en.wikipedia.org/wiki/Linux) +kernel is required to make system durable. This kernel variants minimizes regions +where switch to the highest priority (i.e. Linux ERT generated) task is blocked by +kernel when servicing system calls for other tasks. + +Selection of the right version of the kernel is not enough for non-disruptive +operation. Computer system hardware selection is critical as well. The system +has to provide enough computational power for compiled in blocks data evaluation +evaluation and Linux kernel services processing. Other critical disturbance sources +are hardware caused latencies and lags in a program processing by CPU. The source +can be bus systems load by other subsystems (i.e. graphic processor memory access, +peripheral DMA - SSD, SD-card, Flash controller etc.). The other critical source of +latencies in x86 based systems is [SMI](http://en.wikipedia.org/wiki/System_Management_Mode) +processing. The SMI enable and processing is under BIOS and motherboard vendor control +and this problem cannot be resolved by operating system. This means that proper +hardware selection is critical. + +A long period evaluation data of different combinations of Linux kernel version +runing on many CPU architectures and boards from many vendors is [OSADL](http://www.osadl.org/) +[Quality Assurance Farm](http://www.osadl.org/Quality-assurance-at-the-OSADL-QA-Farm.osadl-services-qa.0.html). +According to these track records carefully selected x86 or embedded GNU/Linux system can run +real-time tasks with sampling frequencies up to 20 kHz with no losing sample per months. + +Source Code and Download +-------------------- + +
+
Lintarget at Source Forge
+
[project download area](https://sourceforge.net/projects/lintarget/files/) + contains released versions of the Linux target and CANopen based distributed system +
+
Linux ERT source code repository
+
[http://rtime.felk.cvut.cz/gitweb/ert_linux.git](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](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 Background +-------------------- + +The Linux ERT has been initially developed at +[DCE of CTU](https://dce.fel.cvut.cz/en) in order to create a dynamic +environment model for hardware (airplane) in the loop testing of a +fly-by-wire system at [AERO Vodochody a.s.](http://www.aero.cz/en). +Simulink has been run on Windows host computer initially and code +generated for GNU/Linux embedded target system was compiled under +[MinGW/MSYS](http://en.wikipedia.org/wiki/Mingw) environment and then +uploaded to PowerPC based +[BOA5200](http://rtime.felk.cvut.cz/hw/index.php/Boa5200) computer. +The target computer was equipped with two CAN interfaces. +[CANopen](http://en.wikipedia.org/wiki/Canopen) blockset based on +[CANfestival](http://canfestival.org/) project was used to control +distributed servosystem used to simulate fly-by-wire system load. +Simulink CANopen blockset integrates a +[SocketCAN](http://en.wikipedia.org/wiki/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.

+ +[[!img LinTarget.JPG size=300x alt="Original code generation workflow"]] +[[!img CANopenExample.JPG size=300x alt="Model including node controlled over CANopen"]] + +Lukáš Hamáček, “RTW target for Linux with CANopen support”, Master Thesis, Prague 2009. ([Pdf](dp_2009_hamacek_lukas.pdf)) + +Systems Controlled Linux Target for Embedded Coder +-------------------- + +Some more information about concrete examples of controlled systems/setups: + +
+
Moving Slide parallel kinematic/robot control
+
The Linux ERT target is used at Adaptive Systems Department (Academy of Sciences + of Czech Republic, UTIA institute) to realize control system for parallel kinematics + control research projects. See respective page for more + information about project. +
+
Raspberry Pi minimal components DC motor servo control
+
Raspberry Pi is low cost + hardware which does not implement any usual motor control peripherals in hardware. + Yet fully preemptive variant of Linux kernel latencies are so low that fast signals + processing in software allows to implement precise DC motor feedback control + for incremental encoder inputs changing up to 15 kHz. + See respective page for more information + about project. +
+
Usable Simulink Embedded Coder Target for Linux
+
Michal Sojka, Pavel Pisa
+ 16th Real-Time Linux Workshop, + Düsseldorf, Germany, October 2014. + The paper (PDF) + and slides (PDF) + are available from our + publications archive. +
+
+ +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 +
former DCE CTU researcher responsible for the project with AERO Vodochody. +
+
Lukáš Hamáček
+
+ former CTU master student. +
+
+ + +[Department of Control Engineering](http://dce.fel.cvut.cz/) – +[Czech Technical University in Prague](http://www.cvut.cz/en), +[Faculty of Electrical Engineering](http://www.fel.cvut.cz/en) + +Acknowledgment +============== + +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. diff --git a/local.css b/local.css new file mode 100644 index 0000000..ed55725 --- /dev/null +++ b/local.css @@ -0,0 +1,3 @@ +div.page { + max-width: 60em; +}