embedded systems courses at rit roy s. czernikowski department of computer engineering kate gleason...
Post on 23-Dec-2015
214 Views
Preview:
TRANSCRIPT
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
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, 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
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
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
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
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
top related