From: Carlos Miguel Jenkins PĂ©rez Date: Fri, 21 Jun 2013 06:04:14 +0000 (+0200) Subject: Final version of the presentation. Forgot to remove media images. X-Git-Tag: version_0.1~24 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/jenkicar/rpp-simulink.git/commitdiff_plain/532342de6827686e3c801c3103d108129432612b Final version of the presentation. Forgot to remove media images. --- diff --git a/doc/presentation/.gitignore b/doc/presentation/.gitignore index b981cc0..cfab8c8 100644 --- a/doc/presentation/.gitignore +++ b/doc/presentation/.gitignore @@ -1,3 +1,3 @@ .backup* *.svn -./publish/xhtmls/media/images +publish/xhtmls/media/images diff --git a/doc/presentation/images/board.png b/doc/presentation/images/board.png new file mode 100644 index 0000000..7904881 Binary files /dev/null and b/doc/presentation/images/board.png differ diff --git a/doc/presentation/presentation.t2t b/doc/presentation/presentation.t2t index 3975415..2201694 100644 --- a/doc/presentation/presentation.t2t +++ b/doc/presentation/presentation.t2t @@ -11,39 +11,123 @@ Carlos Jenkins %S = Home =[home] %xhtmls% '''
-Simulink coder target for automotive rapid prototyping platform +Simulink Coder^^(TM)^^ target for automotive rapid prototyping platform %xhtmls% '''
-[300-logos.png] +[400-logos.png] = Agenda =[agenda] - Background. + - About Simulink. + - Things developed. - - C Library. - - Simulink Target. + + - C Support Library. + - Simulink Coder Target. - Simulink Block Set. - Demos. + - Questions. = Background =[background] +Back in the beginning of 2012 a leading automotive company (Porsche) requested the Czech Technical +University to develop a Engine Control Unit (ECU) for automotive applications. + +Real-Time Systems group at the Department of Control Engineering from the Faculty of Electrical +Engineering (a.k.a //next door//) developed a hardware and Software platform to the needs of this +industry (a.k.a //RPP// for Rapid Prototyping Platform). + +The hardware uses Texas Instruments TMS570LS3137 (pretty nifty CPU for automotive applications) and +is built with automotive standards and interfaces in mind. + +It uses a real-time operating system and is (was) directly programmed in C. + += Background (cont.) =[background_cont] + +[400-board.png] + += Background (cont. I) =[background_cont_i] + +Nevertheless, hand written C code is: + +- Hard to produce, sometimes very low-level. +- Hard to debug. Yes, 1 bit took us 4 hours. +- Requires good knowledge of the underlying hardware. +- Most of the time is non-portable or hard to port between platforms. +- Hard to audit and certify. + + + += Background (cont. II) =[background_cont_ii] + +Because of this the company has the policy to implement the Software for their system using +**Model-Based Design**, which is a way to address these problems: + +%xhtmls% '''
+"Model-Based Design (MBD) is a mathematical and visual method of addressing problems associated +with designing complex control, signal processing and communication systems. It is used in many +motion control, industrial equipment, aerospace, and automotive applications. Model-based design +is a methodology applied in designing embedded software." + +%xhtmls% '''
+Or in other words, they use the Software **Simulink** for implementing their systems. = About Simulink =[about_simulink] +%xhtmls% '''
+"Simulink, developed by MathWorks, is a data flow graphical programming language tool for modeling, +simulating and analyzing multidomain dynamic systems. Simulink is part of Matlab." + +%xhtmls% '''
+ +In other words, Simulink is a Software that allows to you create algorithms (systems) by connecting +boxes. Each box is like a function, with inputs and outputs (with data type and arity). + + + += About Simulink (cont.) =[about_simulink_cont] + +Oversimplifying, it is composed by two things: + +- **Diagramming environment**: Were you draw your algorithm. No more different that UML or + standard diagramming tools. + +- **Block libraries**: a library with lots of blocks that do something: + + - //Operations//: for example logical operations (OR, NOT, AND, etc), data type conversion, + integration, sum, product (remember arity), etc. + + - //Sources//: generate data for the model, like and pulse generator, signal repeater, wave + generator, etc. + + - //Skins//: blocks that outputs the results of the model. Few examples, like oscilloscope or + XY gratification. + + + += About Simulink (cont. I) =[about_simulink_cont_i] + +[800-simulink_gui.png] + += About Simulink (cont. II) =[about_simulink_cont_ii] + +The program or system developed with Simulink is referred as a **model**. +The models can be "compiled" to C code (code generation) using the //Simulink Coder// product. = Things developed =[things_developed] -- **C Library**: @@ +- **C Support Library**: @@ Define the API to communicate with the board. Include drivers and operating system. -- **Simulink Target**: @@ - Allows Simulink model's code generation, compilation and download to the board. +- **Simulink Coder Target**: @@ + Allows Simulink model's code generation, compilation and download for the board. - **Simulink Block Set**: @@ Set of blocks that allows Simulink models to use board IO and communication peripherals. @@ -52,7 +136,7 @@ Simulink coder target for automotive rapid prototyping platform Just a bunch of examples of control application in form of Simulink models. -== C Library ==[c_library] +== C Support Library ==[c_support_library] Characteristics: @@ -63,11 +147,11 @@ Characteristics: === Library - Layers ===[library___layers] -[layers.png] +[500-layers.png] === Library - Modules ===[library___modules] -[blocks.png] +[500-blocks.png] === Library - Modules implemented ===[library___modules_implemented] @@ -96,8 +180,8 @@ It is composed by: - Other minor control and support files. -Simulink generates code for almost all the standard blocks. But the model needs a way -to output the results or input data so new blocks for board IO needed to be implemented. +Simulink generates code for almost all the standard blocks. But the model needs a way to output +the results or input data so new blocks for board IO needed to be implemented. == Simulink Block Set ==[simulink_block_set] @@ -128,7 +212,8 @@ C file that uses the S-Function API to describe what the block does: - Validation of parameters (things like range and datatype). -It can be used also for the block to do something within Simulink. Right now they are just descriptors. +It can be used also for the block to do something within Simulink. Right now they are just +descriptors. === Simulink Block Set - TLC file ===[simulink_block_set___tlc_file] @@ -160,7 +245,7 @@ TLC files can be viewed as wrappers for the C library API. - Log each second the data read on one analog input. - Others. -== Demos - H-Bridge Analog Control ==[demos___h_bridge_analog_control] +=== Demos - H-Bridge Analog Control ===[demos___h_bridge_analog_control] [demo_hbridge_analog_control.png] diff --git a/doc/presentation/publish/xhtmls/media/images/block_library.png b/doc/presentation/publish/xhtmls/media/images/block_library.png deleted file mode 100644 index a44731d..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/block_library.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/media/images/blocks.png b/doc/presentation/publish/xhtmls/media/images/blocks.png deleted file mode 100644 index ff18ae3..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/blocks.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/media/images/demo_hbridge_analog_control.png b/doc/presentation/publish/xhtmls/media/images/demo_hbridge_analog_control.png deleted file mode 100644 index 674efbe..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/demo_hbridge_analog_control.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/media/images/layers.png b/doc/presentation/publish/xhtmls/media/images/layers.png deleted file mode 100644 index 15af585..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/layers.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/media/images/logos.png b/doc/presentation/publish/xhtmls/media/images/logos.png deleted file mode 100644 index 4da03d4..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/logos.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/media/images/tlc_process.png b/doc/presentation/publish/xhtmls/media/images/tlc_process.png deleted file mode 100644 index 0b074d2..0000000 Binary files a/doc/presentation/publish/xhtmls/media/images/tlc_process.png and /dev/null differ diff --git a/doc/presentation/publish/xhtmls/presentation.html b/doc/presentation/publish/xhtmls/presentation.html index 77248a1..66d7c09 100644 --- a/doc/presentation/publish/xhtmls/presentation.html +++ b/doc/presentation/publish/xhtmls/presentation.html @@ -25,11 +25,11 @@

-Simulink coder target for automotive rapid prototyping platform +Simulink Coder(TM) target for automotive rapid prototyping platform

- +

@@ -39,18 +39,22 @@ Simulink coder target for automotive rapid prototyping platform

-Simulink generates code for almost all the standard blocks. But the model needs a way -to output the results or input data so new blocks for board IO needed to be implemented. +Simulink generates code for almost all the standard blocks. But the model needs a way to output +the results or input data so new blocks for board IO needed to be implemented.

-
+
@@ -203,7 +340,7 @@ to output the results or input data so new blocks for board IO needed to be impl

-
+
@@ -230,7 +367,7 @@ Each block is composed by:
-
+
@@ -253,11 +390,12 @@ C file that uses the S-Function API to describe what the block does:

-It can be used also for the block to do something within Simulink. Right now they are just descriptors. +It can be used also for the block to do something within Simulink. Right now they are just +descriptors.

-
+
@@ -283,7 +421,7 @@ TLC files can be viewed as wrappers for the C library API.

-
+
@@ -292,7 +430,7 @@ TLC files can be viewed as wrappers for the C library API.

-
+

Demos

@@ -317,16 +455,16 @@ TLC files can be viewed as wrappers for the C library API.
-
+
-

Demos - H-Bridge Analog Control

+

Demos - H-Bridge Analog Control

-
+

Questions?

diff --git a/doc/reports/report/report.t2t b/doc/reports/report/report.t2t index 61b1896..4bd4c4b 100644 --- a/doc/reports/report/report.t2t +++ b/doc/reports/report/report.t2t @@ -56,7 +56,7 @@ The general layout of this document is as follows: Back in the beginning of 2012 a leading automotive company requested the Czech Technical University to develop a Engine Control Unit (ECU) for automotive applications. Real-Time Systems group at the Department of Control Engineering from the Faculty of Electrical Engineering developed a hardware and Software -platform to the needs of this industry. The hardware uses Texas Instruments TMS570LS3137 CPU and has was +platform to the needs of this industry. The hardware uses Texas Instruments TMS570LS3137 CPU and is built with automotive standards and interfaces in mind. It uses a real-time operating system and was directly programmed in C.