CPEN 403:Embedded Systems (rerequisites: CPEN 303)

Main block


History and overview of embedded system, reasons for studying embedded systems, applications, role of embedded systems in computer engineering. Embedded microcontroller: structure of a computer system, Von Newman and Harvard models, CPU families used in microcontrollers, memory and testing algorithms for microcontrollers. Peripherals: basic I/O devices, timers/counters, ADC and DAC, GPIO, interrupt driven I/O and polled I/O, interrupt structure. Interfacing: CPU interfacing, memory interfacing, serial and parallel I/O interfacing, analog and digital interfacing. Embedded software: software architecture, super loop, delays in embedded software, sample applications. Real-time operating system: context switching mechanism, scheduling policies, priority inversion, other scheduling policies, interprocess communication styles. Power management: need for low power computing in embedded systems, sources of power consumption, strategies for level power management. Development tool support: compilers and programming environment, logic analyzers, RTOS tools, power analysis, software management tools. Safety and reliability: sources of faults in embedded computing, strategies to find problems and to minimize effects of faults. Embedded design concepts including demands for soft and hard real time features, hardware and software co-design, and evaluation performance.