Motivation

advertisement
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 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.
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.
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)
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
Studio Laboratory Equipment
Microcontroller and Binary I/O
Software
• Wind River VxWorks Consumer Devices
platform
• Tornado development environment
• MGTEK 68HC12 Assembler IDE
• Net Support classroom management software
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.
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
Software
• ILogix Rhapsody UML design tool
• Microsoft Visual Studio C++; Gnu C++ tools
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, fourfunction 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
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
Quanser System Inverted Pendulum
Quanser Ball & Balance Beam
Digilent Spartan II FPGA Board
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
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
Equipment Costs
Item
Unit
Cost
Development PC’s
$1300
Diamond Systems
PC104 Targets
1270
Item
Video convertors
Ilogix Rhapsody (20
licenses)
Digilent FPGA
boards
115
Ultrasound sensor
68HC12
microcontroller
100
Station total
Lamp/switch board
50
Unit
Cost
$200
800
35
$3495
Quanser pendulum
7485
Signal generator
310
Quanser ball and beam
8080
Power supplies
75
Tektronix oscilloscope
3300
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 surveys
Strongly Disagree/ Undecided
Disagree
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
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
Future Facility Additions
• USB data acquisition boards
• USB webcams
• Real-time Linux variant
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
Questions and Answers
Download