embedded systems courses at rit roy s. czernikowski department of computer engineering kate gleason...

24
Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology and James R. Vallino Department of Software Engineering B Thomas Golisano College of Computing and Information Sciences Rochester Institute of

Upload: clara-collins

Post on 23-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Embedded Systems Courses at RIT

Roy S. CzernikowskiDepartment of Computer

EngineeringKate Gleason College of

EngineeringRochester Institute of Technology

and James R. Vallino

Department of Software Engineering

B Thomas Golisano College of Computing and Information

SciencesRochester Institute of Technology

Page 2: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Motivation• Real-Time and Embedded Systems (RT&E

Systems) straddle and intertwine hardware and software issues.

• Computer engineering students tend to have the hardware and computer architecture aspects in focus but often lack more sophisticated software methodologies for RT&E Systems.

• Software engineering students have many general purpose software methodologies at their fingertips but often lack the hardware background and appreciation for the special software considerations for successful development of RT&E systems.

• Wanted to increase interest and employment in RT&E systems.

Page 3: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

RIT’s Approach to RT&E• Develop a laboratory and a set of

three academic quarter courses to partner computer engineering and software engineering students addressing RT&E Systems.

• Use a studio lecture-lab format having one computer engineering student and one software engineering student at each of the twelve student workstations.

• Course contents and laboratory jointly developed by a faculty member from computer engineering and a faculty member from software engineering.

Page 4: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Course Titles• Real-Time and Embedded Systems

(offered four times to date)

• Modeling of Real-Time Systems (offered twice to date)

• Performance Engineering of Real-Time and Embedded Systems

(offered the first time this spring)

Page 5: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Real-Time & Embedded Systems Course• Course Topics

– Introduction to Real-Time and Embedded Systems– Microcontrollers– Software Architectures for Real-Time Operating

Systems– Requirements and Design Specifications– Decision Tables and Finite State Machines– Scheduling in Real-Time Systems– Programming for a commercial real-time operating

system– Development for Embedded Target Systems– Language Support for Real-Time– Real-Time and Embedded Systems Taxonomy – Safety-Critical Systems

Page 6: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Studio Laboratory Equipment

Page 7: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Microcontroller and Binary I/O

Page 8: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Software

• Wind River VxWorks Consumer Devices platform

• Tornado development environment• MGTEK 68HC12 Assembler IDE• Net Support classroom management software

Page 9: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Course Projects• Microcontroller Programming

– interval timer – used as a tool for 3rd project

• R-T Operating System multi-tasking primitives– Using VxWorks, learn how to program its concurrency and

synchronization primitives in a transit system simulation or automated factory

• R-T Operating System performance measurements– measure jitter of VxWorks software generated pulses

(using microcontroller)– measure VxWorks’ interrupt response time

• Student designed projects– e.g. ultrasound distance measurements, target system’s I/O

device characterizations.

Page 10: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Modeling of Real-Time Systems Course• Course Topics

– Introduction to Modeling of Real-Time Systems– Basic Concepts of Real-Time Systems– Basic Concepts of Safety-Critical Systems– Use case analysis for real-time systems– Structural object analysis for real-time systems– Behavioral Analysis using statecharts– Design patterns for real-time and safety-critical

systems– Threading and Schedulability– Real-Time Frameworks

Page 11: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Software

• ILogix Rhapsody UML design tool• Microsoft Visual Studio C++; Gnu C++ tools

Page 12: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Course Projects

• Requirements and Architectural Design– Create requirements for a consumer device, e.g. DVR,

blood-pressure monitor• Design and Implementation

– Object structure, statechart design and implementation for a real-time system, e.g. water chiller control system, four-function calculator

• Code Generation– Automated code generation via Rhapsody of embedded

device, e.g. four-function calculator, garage door opener• Final Project

– Object and statechart modeling exercise with no implementation of an embedded device, e.g. power window controller, reverse vending machine

Page 13: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Performance Engineering of RT&E Course• Course Topics

– Performance Measurements for Real-Time and Embedded Systems

– Profiling of program execution in embedded systems– Exploration of linear control systems– Interpretation of linear control parameters– Hardware system description languages (VHDL)– Hardware-software co-design

Page 14: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Quanser System Inverted Pendulum

Page 15: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Quanser Ball & Balance Beam

Page 16: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Digilent Spartan II FPGA Board

Page 17: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Software

• Quanser WinCon real-time executive• Matlab, Simulink• Wind River Windview profiling tools• Gnu profiling tools, e.g. gprof• Xilinx VHDL design software• Digilent FPGA programming tools

Page 18: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Course Projects• Quanser inverted pendulum and ball-and-balance

beam– Investigate effects of varying control parameters– Investigate effects of system loading on control

performance• Loading and measuring the performance

– Experiment with rate-monotonic scheduling– Measure performance under varying computational and

network loads on different target platforms• HW-SW partitioning of JPEG compression between

target system and FPGA board– Measure execution time differences with different

hardware/software boundaries– Explore memory constraints and communication

bottlenecks

Page 19: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Equipment Costs

Item Unit Cost

Item Unit Cost

Development PC’s $1300 Video convertors $200

Diamond Systems PC104 Targets

1270 Ilogix Rhapsody (20 licenses)

800

Digilent FPGA boards

115 Ultrasound sensor 35

68HC12 microcontroller

100 Station total $3495

Lamp/switch board 50 Quanser pendulum 7485

Signal generator 310 Quanser ball and beam 8080

Power supplies 75 Tektronix oscilloscope 3300

Page 20: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Project Assessment• External academic and industrial review

– Lab well-constructed and maintained with state-of-the-art equipment and software

– Excellent teaming between SE and CompE students… and faculty!– Performance Engineering course should be more focused– Alter content of Modeling course toward CompE interests

• Student course evaluations and surveysStrongly Disagree/

DisagreeUndecided Strongly Agree/

Agree

2 7 43 Course increased interest in RT&E Systems

12 13 27 Will seek employment in RT&E Systems

5 10 37 Multi-disciplinary partnering helped learning

30% Course helped get a co-op or full-time job

Page 21: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Future Course Directions

• Real-Time and Embedded Systems– VxWorks kernel-level device driver projects

• Modeling of Real-Time Systems– Better balance between CompE and SE interests– Make real-time aspects more explicit– Consider project with Java Micro Edition and/or VxWorks

• Performance Engineering– Student written real-time control system– Better use of VxWorks profiling tools– Expanded investigation of real-time scheduling– Additional FPGA hardware/software co-design projects

• Other Courses– Real-Time Operating Systems course scheduled for Spring 2006

Page 22: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Future Facility Additions

• USB data acquisition boards• USB webcams• Real-time Linux variant

Page 23: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Acknowledgements

• NSF DUE Course, Curriculum and Laboratory Improvement funding (NSF DUE-0311269)

• Academic Collaborators– Prof. Ron Schroeder, Southern Polytechnic State

University– Prof. Yann-Hang Lee, Arizona State University

• Industrial Evaluators– Todd Mosher, Alstom Transport Systems– Chuck Linn, Harris RF Communications

Page 24: Embedded Systems Courses at RIT Roy S. Czernikowski Department of Computer Engineering Kate Gleason College of Engineering Rochester Institute of Technology

Questions and Answers