Embedded computing systems are found everywhere, including in cellular telephones, camcorders, medical equipment, thermostats, curbside rental-car check-in devices, automated supermarket stockers, computerized inventory control devices, digital thermometers, telephone answering machines, printers, portable video games, TV set-top boxes -- the list goes on. Demand for embedded system designers is large and continues to grow.
In EE/CS120B, students learn how to design and program basic embedded systems. Students learn to program a type of microprocessor, known as a microcontroller, intended for embedded systems. In such programming, TIME (e.g., respond to event X within Y seconds), not just data, is a key part of a program. You'll learn about common microprocessor peripherals that greatly ease the job of designing embedded systems. Students will also design custom single-purpose processors (circuits) on FPGAs to execute certain computations much faster than microprocessors, and will learn to build complete systems consisting of microprocessors, peripherals, and custom processors. This course uses the 8051 microcontroller and Xilinx FPGAs. The follow-up courses of CS122A and CS122B introduce more advanced designs and methods.
Catalog description : CS 120B Introduction to Embedded Systems 5 Lecture, 3 hours; laboratory, 8 hours. Prerequisite(s): CS 120A/EE 120A. Introduction to hardware and software design of digital computing systems embedded in electronic devices (such as digital cameras or portable video games). Topics include custom and programmable processor design, standard peripherals, memories, interfacing, and hardware/software tradeoffs. Laboratory involves use of synthesis tools, programmable logic, and microcontrollers and development of working embedded systems. Cross-listed with EE 120B.
To ensure minimum competency in both principles and
practice, students must pass the lab component and the lecture
component individually, meaning 60% or more of the points of each,
in order to pass the course.