MotoHawk Training Model-Based Design of Embedded Systems.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

- the new generation realtime operating system For embedded and fault tolerant applications.
9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS 9.1 Introduction Application programs are typically developed, compiled, and run on host system Embedded programs.
Sensor Network Platforms and Tools
Using an FPGA to Control the Protection of National Security and Sailor Lives at Sea Brenda G. Martinez, Undergraduate Student K.L. Butler-Purry, Ph.D.,
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Design of a Control Workstation for Controller Algorithm Testing Aaron Mahaffey Dave Tastsides Dr. Dempsey.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Simulink ® From Simulink® 7 Getting Started Guide.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
By Ryan Mowry.  Graphical models of system  Entire system or just parts  Complex systems easier to understand  “Capture key requirements and demonstrate.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Anne Mascarin DSP Marketing The MathWorks
Peripheral Interpreter consisting of Analyzers 'N Operators
Cortex-M3 Debugging System
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
Advanced Embedded Systems Design Pre-emptive scheduler BAE 5030 Fall 2004 Roshani Jayasekara Biosystems and Agricultural Engineering Oklahoma State University.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
OOPic Programming Fundamentals Compiled vs. Interpreted programs –Compiled program converts high level code into native machine language e.g., y=x+5; Machine.
© 2002 The MathWorks, Inc. September 2002 Advanced Embedded Tool capabilities for Texas Instruments DSPs © 2002 The MathWorks, Inc. David Hilf Third Party.
Model-Based Design and SDR Fabio Ancona Sundance Italia SRL CEO – Sales Director.
Slides created by: Professor Ian G. Harris Test and Debugging  Controllability and observability are required Controllability Ability to control sources.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Live Action First Person Shooter Game Patrick Judd Ian Katsuno Bao Le.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Plant Modeling for Powertrain Control Design Modelica Automotive Workshop Dearborn, MI November 19, 2002 Dr. Larry Michaels GM Powertrain Controls Engineering.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
MotoHawk™ Components Scalable, Secure, Model-Based Design of Embedded Systems.
Hardware-software Interface Xiaofeng Fan
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Real Time Operating Systems Introduction to Real-Time Operating Systems (Part I) Course originally developed by Maj Ron Smith.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
1 MotoHawk Components Scalable, Secure, Model-Based Design of Embedded Systems MotoHawk Training.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Digital Control CSE 421.
Introduction to Simulink Matlab based Both Continuous Time and Discrete Time Simulation Based on Blocksets Model Based Design: a software model of the.
Teaching Digital Logic courses with Altera Technology
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Chapter – 8 Software Tools.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
KNU RTLAB A Real-Time Linux System For Autonomous Navigation And Flight Attitude Control Of An Uninhabited Aerial Vehicle Charles E. Hall, Jr. Mechanical.
Information Systems Development
Simulink Interface Layer (SIL)
Prototyping SoC-based Gate Drive Logic for Power Convertors by Generating code from Simulink models. Researchers Rounak Siddaiah, Graduate Student-University.
Elaine Cheong Yang Zhao December 8, 2001
Microcontroller Applications
Microprocessor and Assembly Language
Design Flow System Level
Workshop on INTRODUCTION OF MATLAB/SIMULINK TOOLS AND THEIR APPLICATION conducted by EEE/CCET 11/13/2018 workshop on 01/12/2010.
An Introduction to Embedded Software Architecture and Design
9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS
Srinivas Aluri Jaimin Mehta
An Introduction to Embedded Software Architecture and Design
Presentation transcript:

MotoHawk Training Model-Based Design of Embedded Systems

Course Outline Why Model-Based Design? The MotoHawk™ System w/ Demonstration The Simulink® Model The MotoHawk™ Way Advanced Software & Hardware Issues Real Application Challenge

Why Model-Based Design? Hand-Coding Model-Based Design Specification Modeling S/W Implementation S/W Design S/W Debugging S/W Verification H/W Verification against Model H/W Verification against Specification Time Extra Time & Money

Development Process Comparison source code Software Engineers Source Compiler Linker Application File Specification Application Engineers Models Loader Traditional Application Development Code Gen Model Based Application Development Interfaces

MotoHawk™ ECU-based Rapid Prototyping Key Benefits Better testing using real ECU hardware Faster cycle time for adding new features and enhancing existing features Improved documentation of system design via working models of the system Better ability to control IP development Key Features ControlCore enabled Development is completed on the production capable ECU and related software Calibration using MotoTune Optional HUD ECU’s available for development, pilot, or production

Working Closer to Production Custom HW Prototype Define Requirements & Architecture MotoHawkTM Prototype Environment In Loop Testing Define Algorithms Hardware In Loop Testing Production Code Generation

Code Generation Process Flow

Modeling with MotoHawk™

Blinking LED: MotoHawk™

MotoHawk™ Demonstration Open the model in Simulink Generate Code Compile and Link Download to ECU Run!

The Standard Simulink® Model Trigger Block Signal Subsystem Port System

Modeling Software with Simulink® Simulink Elements Systems, Blocks Port Signal Trigger Software Elements Functions, Encapsulation Interfaces Values, Variables Function-calls, Events

Modeling Software with Simulink® Native Simulink block diagrams can represent signal processing very well Blocks can represent H/W Input & Output Function-call triggers can represent events Library links can represent references and provide model reuse

The MotoHawk™ Way “Model the elements of the whole system, including the processor, build environment, memory, and operating system.” Elements of Simulink®: Modeling & Simulation Environment Code Generation Elements of MotoHawk™: Input & Output Model Operating System Model Integrated Build Environment

MotoHawk™ Input & Output Model: Model blocks for ECU I/O and engine-specific peripherals Examples: Digital Inputs & Outputs Analog-to-Digital Inputs PWM Outputs Serial Inputs & Outputs CAN Inputs & Outputs Electronic Spark Timing Outputs Engine Knock Inputs Fuel Injector Control Outputs Engine-specific peripherals

MotoHawk™ Input & Output Model:

MotoHawk™ Operating System Model Model blocks for program flow and triggering Examples: Periodic Tasks Interrupts Operating System Events

MotoHawk™ Input & Output Model:

MotoHawk™ Build Environment Whole process, from pictures to working machine, in one environment Simulation System Verification Code Generation Makefile Generation Compile, Link, Locate, and Program Integration with Calibration Tools Documentation

MotoHawk™ and Simulink® Together Simulink® is excellent for modeling control laws Native Simulink® is not very expressive for modeling general software systems MotoHawk™ adds real-time software elements to the Simulink® environment

Control System Example Control Law Design system simulation model Design MotoHawk™ software model Reuse control law

Control Law Example

Simulation with the Control Law

Problems with the diagram The control law should be designed using discrete elements We would like to allow a continuous plant model We would like to take advantage of Variable-Step simulation We need to simulate discrete sampling of the control law

Improved System Simulation

Designing a Control System The control law example specifies ‘what’ to do in the controller, the ‘logic’ To design a system, we need to also specify ‘when’ to execute the control logic To test the control logic, we would like to simulate the controller with a continuous plant model

MotoHawk™ Software Model Sample Inputs Passive Control Law Update Outputs

Sampling Inputs from the Hardware

Updating Outputs to the Hardware

Reuse & Abstraction We reused the control law block, which we place into a library We convert H/W input values to standard units used by the control law We convert from standard units used by the control law to H/W output values

Hardware and Software Issues We try to separate the controller design from the H/W and S/W issues Some systems are more complex Probes, calibrations, overriding signals Distributed systems, with multiple controllers Multi-rate and asynchronous systems Task preemption and long calculations

Probes, Calibrations, and Overrides

Probes, Calibrations, and Overrides MotoHawk™ seamlessly integrates with MotoTune™, a calibration tool allowing real-time observation and control. Probes allow monitoring of values Calibrations allow adjustment of constants Overrides allow signal modification for testing This typical S/W issue has been abstracted into the model

Calibratable Lookup Tables

MotoTune® Development Tool Used to program the MotoTron ECU(s). Used to interact with the application running on the ECU. Capable of modifying calibration parameters real-time. Capable of monitoring and overriding values throughout the application software. Capable of real-time charting of development data.

The MotoTune® Display

Distributed Systems, Multiple Controllers

Distributed Systems, Multiple Controllers The system simulation model may use more than one controller, but still use one plant model Each controller has its own sampling trigger, possibly at different rates Each controller will have its own MotoHawk™ software model, for code generation The controllers may use different target hardware

Multi-Rate Controllers

Multi-Rate Controllers System simulation uses same picture as the distributed system Multiple tasks, each modeled as a unique controller Only one MotoHawk™ software model, using multiple triggers, one for each task The processor only runs one task at a time, so we must be aware of task priority and data coherency between tasks

Task Preemption If we want to use multiple tasks, we must be very careful about the priority of tasks, and nesting of interrupts MotoHawk uses ControlCore, MotoTron’s ECU-Based RTOS, with a foreground / background scheduler, and queued interrupt handlers.

Task Preemption

Task Preemption Lower priority tasks may be delayed by higher priority tasks The system must be designed to allow for these delays When a task interruption occurs, all data movement between tasks must be coherent MotoHawk™ provides Critical Region blocks to handle atomic data transfer between asynchronous tasks

MotoHawk™ Application Challenge Using Slider 1 as a throttle command, read the analog voltage and convert the output value (0-1023) to a 0-5V signal. Read the throttle position from analog input AN4 and convert the output value (0-1023) to a 0-5V signal. Determine the error and use a basic PI controller to provide PWM ETC A with a duty cycle command.

Conclusion Why do model-based rapid-prototyping using MotoHawk™ Better testing using real ECU hardware Faster cycle time Improved documentation of system design Better ability to control IP development Calibration using MotoTune ECU’s available for development, pilot, or production

MotoTron Control Solutions Production Controls in a Flash   MotoTron Control Solutions Production Controls in a Flash