![]() |
Course Outline
Advanced Microprocessor Design provides a comprehensive guide for Embedded System designers and Computer Engineers. It provides a broad and in-depth overview of important topics ranging from Computer Architecture and Operating System design to PCB Layout and manufacturing guidelines. It is a fast paced course intended for graduate and post graduate students in Electrical and Computer Engineering, as well as the Embedded System professional.
Topics in the course include: hardware and software design methodologies, use of CAD and simulation tools, assemblers, compilers, debuggers, and programmers. Microprocessor architectures from Motorola, Intel, and ARM will be discussed and evaluated, as well as Operating Systems such as uC-Linux and PalmOS. Computer interfaces such as USB, PCI, Ethernet, and Bluetooth will also be discussed in detail.
A course design project is required. 4cr.
Prerequisites
ENG SC450, C and Assembly Language programming. Proficiency in Microprocessor concepts such as Interrupts, Serial Communications, and Timers also required.
01. Introduction to Embedded Systems Harvard Architecture, Von Neuman Machines, Design Cycle and Metrics, Microcontrollers, Microprocessors, memory & I/O, Computer Architecture. |
02. From Source to Execution Assemblers, Compilers, and Debuggers. ELF debug output and object files. Debugging techniques and pitfals. Emulators, simulators, and programmers. |
03. CPU08 Architecture The Freescale CPU08 processor. Addressing modes, reset and interrupt management, instruction set overview and product selection. |
04. The MC68HC908GP32 Microcontroller The GP32 microcontroller and its peripherals. Power management, Clock Generation Module, Analog-to-Digital converter, Serial Communication Interface and SPI. |
05. CPU12 ArchitectureAddressing modes, Interrupt Priority and Management, the 16-bit CPU architecture, Memory Management and Paging |
06. The MC9S12GB60 MicrocontrollerThe GB60 microcontroller and its peripherals, memory management and paging, Timers, ADC, IIC, Flash, CAN, SCI and SPI |
07. Schematic CaptureSchematic design of computer hardware, connecting Microprocessors to memory, IO, FPGAs, and electrical circuits. Analysis and verification of schematics |
08. PCB LayoutBoard design theory and application, multi-layer PCB boards, signal integrity and noise handling, auto-routing, manufacturing, CE certification |
09. Computer ArchitectureMicroprocessors, memory and IO design, cache, RAM, nvRAM, Flash, Real, Protected and Shadow memory, wait-states and chip-selects, Interrupts and bus structures |
10. Operating SystemsReal-Time Operating Systems (RTOS), tasks, semaphores, message queues, Exception and Interrupt handling, scheduling, memory management, synchronization, resource management |
11. ColdFire ArchitectureThe 32-bit ColdFire Microprocessor, instruction set, addressing modes, cache and memory management, Interrupt priority levels and management |
12. The MCF5272 MicroprocessorThe 5272 Micrporocessor, Ethernet, USB, Timers, GPIO, chip-selects, cache, SDRAM interface, Background-debug mode |
13. Intel IA-32 ArchitectureThe Intel IA-32 Architecture |
14. ARMThe ARM CPU architecture |
15. Philips ARM MicroprocessorThe Philips ARM Microprocessor and its peripherals |
16. EthernetThe 7-layer OSI protocol, UDP/IP, TCP/IP, MAC, ARP, ICMP, routing, forwarding, Ethernet hardware and interfacing to a microprocessor |
17. USBThe USB protocol |
18. BluetoothBluetooth protocol, radio, hardware, initialization, power management, discovery, piconets and scatternets, Link Management Protocol and Link Controller, addressing |
19. PCIThe Peripheral Component Interconnect bus specification, bridging, posting, forwarding, caching, overview of PCI express architecture |
20. uC-LinuxThe uC-Linux kernel configuration and file system, cross-compiling and debuggin an embedded linux system |
21. PalmOSHand held operating systems, in particular the PalmOS, features and capabilities, power management |
22. Symmetric MultiprocessingParallel computing taxonomy, SMP and cache management, memory management of a parallel machine |
23. Serial Communications | 24. Introduction to I2C |
Introduction to Serial Communications, UART, RS232, Baud, etc. |
What is I2C, where it is used, why it is important. |
25. PWM | |
Pulse Width Modulation and its applications. |
Current Projects
- Automatic Searching and Mapping Robot
- PictBridge Impelementation for a Digital Photo Frame
- Electronic BIN Identification System
- Audio Transmission over Bluetooth
- Linux Based Autonomous Pollution Monitoring Platform
- Hiking Information and Rescue Device
Past Projects
- Reconfigurable Remote Controller/Data Processor used in a satellite system.
- Embedded GPS System, based on the HC08 Microcontroller.
- Bluetooth based wireless communication program between nodes.
- Microprocessor based tester for E-Ink displays.
- Touch-screen MP3 player.
- Bluetooth based Compact Flash card reader.