ECE 2049: Embedded Computing In Engineering Design
D21 (Sophomore Year, Second Semester)



Course Description

“Embedded computers are literally everywhere in modern life. On any given day we interact with and depend on dozens of small computers to make coffee, run cell phones, take pictures, play music play, control elevators, manage the emissions and antilock brakes in our automobile, control a home security system, and so on. Using popular everyday devices as case studies, students in this course are introduced to the unique computing and design challenges posed by embedded systems. Students will then solve real-world design problems using small, resource constrained (time/memory/power) computing platforms. The hardware and software structure of modern embedded devices and basic interactions between embedded computers and the physical world will also be covered in lecture and as part of laboratory experiments. In the laboratory, emphasis is placed on interfacing embedded processors with common sensors and devices (e.g. temperature sensors, keypads, LCD display, SPI ports, pulse width modulated motor controller outputs) while developing the skills needed to use embedded processors in systems design. This course is also appropriate for RBE and other engineering and CS students interested in learning about embedded system theory and design. Topics: Number/data representations, embedded system design using C, microprocessor and microcontroller architecture, program development and debugging tools for a small target processor, hardware/software dependencies, use of memory mapped peripherals, design of event driven software, time and resource management, applications case studies. Lab Exercises: Students will solve commonly encountered embedded processing problems to implement useful systems. Starting with a requirements list students will use the knowledge gained during the lectures to implement solutions to problems which explore topics such as user interfaces and interfacing with the physical world, logic flow, and timing and time constrained programming. Exercises will be performed on microcontroller and/or microprocessor based embedded systems using cross platform development tools appropriate to the target platform. Recommended Background: ECE 2010 or equivalent knowledge in basic circuits, devices and analysis; and C language programming (CS 2301 or equivalent) Suggested Background: ECE 2029 or equivalent knowledge of digital logic, logic signals and logic operations.”



Languages/Technologies



Concepts Learned



Projects



My Experience

ECE 2049 involved embedded programming on a MSP 430. I did several projects that involved both programming and hardware configurations on the device. The projects included a music player, a simon says game, and other projects. The concepts learned include things such as timers, ADCs, WDT, LPM, and DMA.