1 / 17

An Embedded Systems Course and Course Sequence Kenneth G. Ricks William A. Stapleton

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. Agenda Justification for concentration on embedded systems UA degree programs affected

mikko
Download Presentation

An Embedded Systems Course and Course Sequence Kenneth G. Ricks William A. Stapleton

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 The University of Alabama

  2. 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 The University of Alabama

  3. Justification for Curricular Change • Small size of the UA Computer Engineering program -- Four (4) faculty members -- 150 undergraduate students -- 15 graduate students The University of Alabama

  4. 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. The University of Alabama

  5. UA Degree Programs Affected by Curriculum Change • Computer Engineering • Electrical Engineering • Computer Science The University of Alabama

  6. UA Computer Engineering Course Sequence ECE480/481 ECE480/481 Digital Systems Design Digital Systems Design 4 credit with lab 4 credits with lab ECE494 ECE494 ECE380 ECE380 ECE383 ECE383 ECE484 ECE484 Capstone Design Capstone Design Digital Logic Digital Logic Microcomputers Microcomputers Computer Architecture Computer Architecture 3 credits 3 credit 4 credits with lab 4 credit with lab 4 credits with lab 4 credit with lab 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 credits 3 credit The University of Alabama

  7. 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) The University of Alabama

  8. 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 The University of Alabama

  9. 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 The University of Alabama

  10. 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. The University of Alabama

  11. 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. The University of Alabama

  12. 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. The University of Alabama

  13. 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. The University of Alabama

  14. 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. The University of Alabama

  15. 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 The University of Alabama

  16. 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 The University of Alabama

  17. 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. The University of Alabama

More Related