An Embedded Systems Course and Course

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

Real-time Systems Lab, Computer Science and Engineering, ASU Please Standby Galileo Tech Talk at ASU Will Begin Shortly.
Digital II Microprocessors and Embedded Systems  Instructor: Dr. Robi Polikar (Lecture), Dr. John Schmalzel (Laboratory)  Office: 136 Rowan / 214 Rowan.
Sensor Network Platforms and Tools
NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.
MotoHawk Training Model-Based Design of Embedded Systems.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Define Embedded Systems Small (?) Application Specific Computer Systems.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
ECSE-4790 Microprocessor Systems Design Russell P. Kraft CII 6219 (NOT JEC) Tel: Fax:
The COE Department Sadiq M. Sait, Ph.D Department of Computer Engineering College of Computer Sciences and Engineering King Fahd University.
COMPUTER SYSTEMS An Integrated Approach to Architecture and Operating Systems Chapter 14 Epilogue: A Look Back at the Journey ©Copyright 2008 Umakishore.
COM181 Computer Hardware Ian McCrumRoom 5B18,
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
Winter 2015 COMP 2130 Introduction to Computer Systems Computing Science Thompson Rivers University Introduction and Overview.
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
KFUPM-COE Industrial Advisory Council Meeting 31/5/ Department of Computer Engineering (COE) College of Computer Sciences and Engineering (CCSE)
Introducing Every CS Major to Parallel Programming: Baby Steps at Ohio State Gagan Agrawal Feng Qin P. Sadayappan.
1 chapter 1 Computer Architecture and Design ECE4480/5480 Computer Architecture and Design Department of Electrical and Computer Engineering University.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Computer Engineering Department (KFUPM) Computer Engineering Department Sadiq M. Sait College of Computer Sciences and Engineering.
Ee314 Microprocessor Systems Dr. Mircea DABACAN Electrical Engineering & Computer Science Dept., Washington State University Office: EE/ME 504 Phone:
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Computer Architecture Opening Yu-Lun Kuo 郭育倫 Department of Computer Science and Information Engineering Tunghai University Taichung, 40704, Taiwan R.O.C.
Chapter I: Introduction to Computer Science. Computer: is a machine that accepts input data, processes the data and creates output data. This is a specific-purpose.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Experimental Software Engineering Course for Training Practitioners in Embedded Real-Time Systems Real-Time Systems LAB, School of Electronic Engineering,
Advanced Software Engineering Dr. Cheng
Introduction to Operating Systems Concepts
Information Systems Development
Chapter 1: Introduction
Viewing Data-Driven Success Through a Capability Lens
Computer Software Lecture 5.
INTRODUCTION TO MICROPROCESSORS
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Chapter 1: Introduction
INTRODUCTION TO MICROPROCESSORS
Overview of Embedded SoC Systems
CSCI/CMPE 3334 Systems Programming
Lecture Note 0: Course Introduction
Model-Driven Analysis Frameworks for Embedded Systems
Operating Systems : Overview
COSC121: Computer Systems
CSC Classes Required for TCC CS Degree
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
Surafel Demissie, Frank Keenan, Özden Özcan-Top and Fergal McCaffery
CET360 Microprocessor Engineering: Course Intro
ECEG-3202 Computer Architecture and Organization
Operating Systems : Overview
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
Low Level Architecture
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Embedded System Development Lecture 1 1/10/2007
Operating Systems : Overview
HIGH LEVEL SYNTHESIS.
Operating Systems : Overview
Curriculum Mapping Best Practices in Jill Allison Kern, PhD
Operating Systems : Overview
Introduction to Computer Systems
Operating Systems : Overview
University of Nice Sophia Antipolis
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Transaction Level Modeling: An Overview
Course Outline for Computer Architecture
NetPerL Seminar Hardware/Software Co-Design
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Cluster Computers.
Presentation transcript:

An Embedded Systems Course and Course Sequence Kenneth G. Ricks William A. Stapleton D. Jeff Jackson Department of Electrical and Computer Engineering The University of Alabama Tuscaloosa, Alabama 12/8/2018 The University of Alabama

The University of Alabama Agenda Justification for concentration on embedded systems UA degree programs affected Computer engineering course sequence ECE 486/487 Embedded Systems -- Course goals -- Laboratory hardware and software -- Course topics -- Future enhancements Conclusions 12/8/2018 The University of Alabama

Justification for Curricular Change Small size of the UA Computer Engineering program -- Four (4) faculty members -- 150 undergraduate students -- 15 graduate students 12/8/2018 The University of Alabama

Justification for Concentration on Embedded Systems Over 99.9% of all microprocessors produced last year are used in special-purpose embedded computing systems. Trends show that the growth in the embedded systems segment far outpaces the growth in the general-purpose computing segment. Because of the proliferation of embedded systems, it is vital that the next generation of engineers be prepared to meet the unique challenges of embedded systems development. Traditional electrical and computer engineering curricula emphasize microprocessors in the context of general-purpose computing or as “components” of embedded systems. The decision was made to create an embedded systems theme throughout the UA computer engineering course sequence including a dedicated embedded systems course. 12/8/2018 The University of Alabama

UA Degree Programs Affected by Curriculum Change Computer Engineering Electrical Engineering Computer Science 12/8/2018 The University of Alabama

UA Computer Engineering Course Sequence ECE480/481 ECE480/481 Digital Systems Design Digital Systems Design 4 credits with lab 4 credit with lab ECE380 ECE380 ECE383 ECE383 ECE484 ECE484 ECE494 ECE494 Digital Logic Digital Logic Microcomputers Microcomputers Computer Architecture Computer Architecture Capstone Design Capstone Design 4 credit with lab 4 credits with lab 4 credits with lab 4 credit with lab 3 credit 3 credits 3 credits 3 credit ECE486/487 ECE486/487 Embedded Systems Embedded Systems 4 credit with lab 4 credits with lab ECE493 ECE493 Special Topics Special Topics 3 credit 3 credits 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems Goals Teach embedded systems at the undergraduate level Incorporate the concepts listed in the IEEE/ACM Model Curriculum Approach embedded systems from a “system-level” Program embedded systems using HLL (C programming language) In 2000, 80% of embedded applications were written in C and 10% were written in assembly (1999-2000 TRON Association Survey) 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Laboratory Hardware and Software Single-bus architecture based upon the VMEbus Each lab station consists of two SBCs and one A/D converter board connected to the VMEbus The system has distributed memory that can be shared between SBCs One SBC executes the Windows XP operating system One SBC executes the Linux operating system (RedHat Linux version 9.0 executing the 2.4.20-6 Linux kernel) Custom C library interfaced to each operating system eliminates the need for driver development 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Topics Introduction to embedded systems Design of embedded systems Input/output (I/O) activities common to embedded systems Architectures common to embedded systems Memory concepts important to embedded systems Real-time concepts important to embedded systems 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Introduction to Embedded Systems Definition of embedded systems General characteristics Functional and non-functional metrics Moore’s Law Observations -- By presenting definitions from leading experts and an extensive list of characteristics and metrics, students can see how dynamic the field is and the necessity of embedded systems education. 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Design of Embedded Systems Introduction of some existing design methodologies -- ad hoc, top-down, bottom-up Hardware/software co-design is introduced and compared to other design methodologies Design trade-off analysis is stressed Computational models of system behavior are introduced -- Process abstraction, statecharts, data-flow, object-oriented, state machines Observations -- Students struggle with the abstract nature of this material and need reinforcement from a laboratory assignment. 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Input/output Activities Common to Embedded Systems Data acquisition, A/D conversion, D/A conversion, sampling rates (Nyquist rule), A/D resolution versus “system” resolution PWM Timers, timer resolution Communication protocols DMA I/O peripherals Interrupt-driven I/O versus polled I/O Observations -- These concepts must be presented in a system-level context to distinguish this course from microprocessor/microcontroller courses. 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Architectures Common to Embedded Systems Bus-based architectures Bus communication protocols -- Master/slave relationships, atomic bus transactions, bus saturation, bus arbitration Bus-based multiprocessors Supporting lab assignments: -- Data acquisition of environmental data using polled I/O -- Data acquisition of environmental data using interrupt-driven I/O Observations -- Solving the same problem with two different implementations helps students to compare and contrast solutions and justify design choices. 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Memory Concepts Important to Embedded Systems Memory technologies Characteristics of different technologies Memory hierarchy Cache memory performance Supporting lab assignments: -- Software simulation of memory hierarchy implemented in C programming language Observations -- Students begin to understand memory operation within the context of system performance. 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Real-time Concepts Important to Embedded Systems Definition and types of real-time systems Real-time operating systems Performance of real-time systems as it relates to interrupt latency and caching Real-time scheduling Supporting lab assignments: -- Real-time scheduler implemented in C programming language Observations -- Ties system components to overall system performance 12/8/2018 The University of Alabama

ECE 486/487 – Embedded Systems (cont.) Future Enhancements The addition of a laboratory assignment incorporating hardware/software co-design and design trade-off analysis The incorporation of the VMEbus laboratory systems into the real-time and memory portions of the course The introduction of more complicated multiprocessor labs using the VMEbus systems incorporating shared memory concepts such as mutual exclusion The assignments must be generalized in such a way as to make them available to others for adoption and use 12/8/2018 The University of Alabama

The University of Alabama Conclusions The University of Alabama has created a focused embedded systems course sequence including a senior-level embedded systems course. Incorporating all concepts pertaining to embedded systems into one course is very difficult. The C programming language still accounts for most embedded systems applications and students need as much experience with it as possible. The VMEbus offers a powerful, flexible tool with which to address many of the concepts in embedded systems education. 12/8/2018 The University of Alabama