Embedded Systems Courses at RIT Roy S Czernikowski
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 appreciation for the special software considerations for successful development of RT&E systems. • Wanted to increase interest and employment in RT&E systems. 2
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. 3
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) 4
Real-Time & Embedded Systems Course • Course Topics – – – 5 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 and Embedded Systems Taxonomy Safety-Critical Systems
Studio Laboratory Equipment 6
Microcontroller and Binary I/O 7
Software • Wind River Vx. Works Consumer Devices platform • Tornado development environment • MGTEK 68 HC 12 Assembler IDE • Net Support classroom management software 8
Course Projects • Microcontroller Programming – interval timer – used as a tool for 3 rd project • R-T Operating System multi-tasking primitives – Using Vx. Works, 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 Vx. Works software generated pulses (using microcontroller) – measure Vx. Works’ interrupt response time • Student designed projects – e. g. ultrasound distance measurements, target system’s I/O device characterizations. 9
Modeling of Real-Time Systems Course • Course Topics – – – – – 10 Introduction to Modeling 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 11
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 12
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 13
Quanser System Inverted Pendulum 14
Quanser Ball & Balance Beam 15
Digilent Spartan II FPGA Board 16
Software • • • Quanser Win. Con real-time executive Matlab, Simulink Wind River Windview profiling tools Gnu profiling tools, e. g. gprof Xilinx VHDL design software Digilent FPGA programming tools 17
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 18
Equipment Costs Item Unit Cost Development PC’s $1300 Diamond Systems PC 104 Targets 1270 Item Video convertors Ilogix Rhapsody (20 licenses) Digilent FPGA boards 115 Ultrasound sensor 68 HC 12 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 19
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 Comp. E students… and faculty! – Performance Engineering course should be more focused – Alter content of Modeling course toward Comp. E 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 20
Future Course Directions • Real-Time and Embedded Systems – Vx. Works kernel-level device driver projects • Modeling of Real-Time Systems – Better balance between Comp. E and SE interests – Make real-time aspects more explicit – Consider project with Java Micro Edition and/or Vx. Works • Performance Engineering – – Student written real-time control system Better use of Vx. Works 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 21
Future Facility Additions • USB data acquisition boards • USB webcams • Real-time Linux variant 22
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 23
Questions and Answers 24
- Slides: 24