You are on page 1of 2

Addis Ababa Institute of Technology Addis Ababa University Department of Electrical and Computer Engineering ECEG-4501: Microcomputers and

Interfacing Instructor: Daniel Dilbie {daniel@aait.edu.et}

Course Objective: This course is designed to impart in-depth knowledge in the design, programming and organization of microcomputers and microcomputer based systems. In this course the popular Intel x86 and the worlds widely used ARM architectures are used to discuss typical microprocessor systems, which would be a stepping-stone for learning microprocessors in general and the x86 and ARM families of microprocessors in particular. At the end of the course the students would be capable of: Understanding the architecture, programming and interfacing of microcomputers Performing microcomputer based hardware/software co-design with an understanding of the latest tools and technologies. Writing efficient data transfer programs for heterogeneous environments and developing software for Peripheral interfacing. Course Description: Fundamentals of Microcomputers; Intel x86 microprocessor architecture; The ARM microprocessor Architecture; Programming microcomputers; Interfacing Fundamentals; Interfacing hardware to microcomputers; Microcomputer based system Design. Course Outline: 1. Fundamentals of Microcomputers What it is, How it evolves, How is it made & whos making it, Families and variations, Trends and Prospects, Understanding the language (definition of words and acronyms) 2. The Intel x86 Microprocessor Architecture Register Level Organization, Memory Organization, Bus Systems, and Peripheral Hardware Organization. 3. The ARM Microprocessor Architecture The RISC design philosophy, The ARM HW architecture, ARM instruction set architecture, Bus system, Core extensions, ARM MMU, ARM System on Chip architecture, ARM based microcontrollers. 4. Programming Microcomputers Addressing Modes, Instruction Set, Assembly Level Programming: Stacks, Subroutines, Input/outputs Exceptions and Interrupts. Higher level programming, mixed programming and Code optimization. 5. Interfacing Fundamentals Preconditions for interfacing, signal types and translations, events and synchronization, interfacing standards and protocols, On-chip interfacing and Package on Package (PoP) technology. 6. Interfacing Hardware to Microcomputers Interfacing Facilities, Interfacing different HW with MCUs, designing heterogeneous systems, hands on exercises and projects. 7. Microcontroller Based System Design Basic Design Principles, Tool selection, Industry standards and best design practices, Complete system design and integration, Semester Project Prerequisites: ECEG-3202 Computer Architecture and Organizations; ECEG-2207 Introduction to computing.

Teaching Methodology: Lectures accompanied by laboratory exercises and group projects with emphasis on hands on experience Attendance: For lectures, 75% attendance is mandatory. A student failed to attend more than two lab sessions without permission will be given incomplete. Evaluation Scheme: Assignments and projects (40%), Mid-Semester Exam (30%), and Final Exam (30%) Laboratory Exercises/Group Projects: The course is designed to be practical with more than 60% of the time to be spent in the lab. Exercises and projects will be conducted on MCU programming, interfacing and complete MCU based system designs. Text Books: 1. Andrew N. Sloss, ARM system developers guide: designing and optimizing system software, 2004 Elsevier Inc, Morgan Kaufmann Publishers, San Francisco, CA. ISBN: 1-55860-874-5 2. Richard C. Detmer, Introduction to 80x86 Assembly Language and Computer Architecture, John and Bartlett Publishers, 2001, Sandbury, MA. ISBN: 0-7637-1773-8 All course materials: texts, references, examples, etc. are available on ftp://10.5.47.48 ________________________________________________________________________________________________ References: 1. ARM architecture reference manual, 1996 Present, ARM Ltd. 2. Steve Furber, ARM System on a Chip Architecture, 2nd Edition, March 2000, 3. Trevor Martin, The Insiders Guide to The Philips ARM7 based Microcontrollers, Hitex, April 2005 4. Douglas V Hall Microprocessors and Interfacing: Programming and Hardware, McGraw Hill, 2nd Ed 1992 5. Kip R. Irvine, Assembly Language for Intel-Based Computers, 5th Edition, Prentice Hall, 2006 6. Manoj V.N.V, Microprocessors and Interfacing Handouts, Addis Ababa University, ECE Department ________________________________________________________________________________________________ Hardware and Software Tools 1. Teaching platform: Embedded Artists LPC2148 Education Board (ARM7 based SBC) 2. Advanced ARM based platforms (Beagleboard, i.MX53 QSB, Raspberry Pi) for demonstrations 3. Microcontroller devt kits, ICDs and programmers (Atmels STK500, TIs MSP430, Microchips PIC) 4. Various assemblers, compilers and debuggers (IAR for ARM, Eclipse IDE + GCC, AVR studio, MPLab X) ________________________________________________________________________________________________ WWW resources: 1. LPC2148 Education Board home [www.embeddedartists.com/products/education/edu_2148.php] 2. LPC2148 MCU Manufacturers page (datasheets, user guides, application notes, forums, etc.) [www.nxp.com/products/microcontrollers/arm7/lpc2100/series/LPC2141_42_44_46_48.html] 3. Emu8086, The 8086 Emulator [ www.emu8086.com ] to practice Intel x86 Assembly Language 4. MASM, Microsoft Macro Assembler [www.microsoft.com ] alternative to 3 above 5. Open source tools (GNU compiler collection (GCC), libraries, etc.) [www.gnu.org]

You might also like