X-Git-Url: https://rtime.felk.cvut.cz/gitweb/ert_linux_web.git/blobdiff_plain/b3df0c32948f4fc7b759dbf8d7d8266f84f893ff..HEAD:/index.mdwn diff --git a/index.mdwn b/index.mdwn index 214dc76..22c704d 100644 --- a/index.mdwn +++ b/index.mdwn @@ -13,7 +13,13 @@ 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.

+supports sampling frequencies **up to 20 kHz**. Matlab/Simulink GUI +running on the same GNU/Linux desktop system as the generated +real-time application is supported. + +More information about initial version developed by Michal Sojka at [Department of Control Engineering](https://control.fel.cvut.cz/) [FEE](http://www.fel.cvut.cz/) +[CTU](https://www.cvut.cz/) can be found in +[Michal Sojka's blog post](http://rtime.felk.cvut.cz/~sojka/blog/on-generating-linux-applications-from-simulink/). [MathWorks]: http://www.mathworks.com/ [Simulink]: http://en.wikipedia.org/wiki/Simulink @@ -24,9 +30,14 @@ supports sampling frequencies up to 20 kHz.

Recent News -------------------- -- We will present the a paper +- The real time control of DC and BDLC motors from plain C and Matlab/Simulink with + ert_linux target hands-on session is planned at 29th February 2020 at 15:00–16:55 + at place of the project origin ([DCE](https://control.fel.cvut.cz/) labs) in the frame + of [InstallFest 2020](https://installfest.cz/if20/) conference. + See [details](https://pretalx.installfest.cz/installfest-2020/talk/HSNJCM/). +- The a paper [Usable Simulink Embedded Coder Target for Linux](https://www.osadl.org/?id=2018) - and RPi motor control demonstartion at + and RPi motor control has been presented 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) @@ -34,7 +45,7 @@ Recent News [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 +- The ert_linux project has been presented 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 @@ -44,7 +55,7 @@ Recent News I/O and communication interface support -------------------- -- [Humusoft MF624 data acquisition card](http://www.humusoft.com/data/session.php?redirect=/produkty/datacq/mf624/&lang=en). +- [Humusoft MF624 data acquisition card](https://www.humusoft.com/datacq/mf624/). UIO driver and Simulink blockset has been developed. The UIO driver is already @@ -56,75 +67,67 @@ I/O and communication interface support - 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 + successfully 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. - - - - - - - - - +- The basic blocks for [CAN bus communication](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/) +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 +guarantee bounded latencies. This kernel variants minimizes regions +where switch to the highest priority (e.g. 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 the operating system. +This means that proper hardware selection is critical. + +A long period evaluation data of different combinations of Linux +kernel version running 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. +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. -
-
+- [Download area at Sourceforge](https://sourceforge.net/projects/lintarget/files/) + contains released versions of the Linux target and CANopen based + distributed system +- Linux ERT source code repository [GitHub DCE](https://github.com/aa4cc/ert_linux) + (the lastest version for now, with examples for native, ARM and AArch64/ARM64 builds), + [GitHub IIG](https://github.com/CTU-IIG/ert_linux), + [Original RTIME Repo](http://rtime.felk.cvut.cz/gitweb/ert_linux.git). +- [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](https://dce.fel.cvut.cz/en) in order to create a dynamic +[DCE of CTU](https://control.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 @@ -145,7 +148,7 @@ 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)) +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 -------------------- @@ -168,7 +171,46 @@ Some more information about concrete examples of controlled systems/setups: See respective page for more information about project. -
Usable Simulink Embedded Coder Target for Linux
+
Permanent magnet synchronous motor control (PMSM) with SPI connected peripherals and power stage
+
The experiment is primarily focused on school labs. The experiment utilizes + two extension boards. One is fully galvanically isolated 3/phases power stage + with HAL effect based current sensing and differential IRC signals receiver. + The other board provides peripherals (IRC processing and counting, + PWM generation, current ADC results collection) required + for vector PMSM motor control. This board is connected to + Raspberry Pi simple board + computer by SPI port. The control algorithm generated by the ERT target + runs under fully preemptive Linux kernel at sampling rate 5 kHz. + See respective page for more + information about project. +
+
The Xilinx Zynq DC motor and PMSM Motor Control
+
The FPGA + based solutions provide flexibility unmatch by other hardware. This set of applications + cobines Xilinx + Zynq SoCs, Linux RT kernel, + custom PMSM driver hardware and ert_linux Matlab/Simulink coder. + The linux 4.19 kernel with RT preempt patches and with MathWork's FPGA IP drivers (mwipcore) + applied can be found in branch + linux-4.19.y-mwcore + of the Pavel Pisa'a Linux kernel + repository on GitHub. The mwipcore drivers are not required for this ert_linux solution, + but RT patch is fundamental. The MZ_APO + education kits (use MicroZed SBC) + developed at PiKRON company to support teaching + of Computer Architectures + course at Department of Control Engineering + are connected with the PMSM driver power stage developed initially for Altera DE2 kits + with option to be SPI connected to Raspberry Pi are used with MZ_APO. + The presentation GNU/Linux + and FPGA in Real-time Control Applications presents the hardware. + The Simulink model zynq_pmsm_motor_control.slx + of PMSM controller is included along the Raspberry Pi example in repository + https://github.com/ppisa/rpi-rt-control. + The FPGA design can be found in branch microzed-mc-1 of the repository + https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top. The MZ_APO education kit mechanical and electronics designs are available from https://gitlab.com/pikron/projects/mz_apo/microzed_apo. +
+
Usable Simulink Embedded Coder Target for Linux
Michal Sojka, Pavel Pisa
16th Real-Time Linux Workshop, Düsseldorf, Germany, October 2014. @@ -195,7 +237,7 @@ Project Contributors
Rostislav Lisový
lisovros@fel.cvut.cz -
former CTU master study programe student, Linux related projects developer at DCE now. +
former CTU master study programme student, Linux related projects developer at DCE now.
Libor Waszniowski
xwasznio@fel.cvut.cz