CS 424, CMPE 323: Computer System Applications: Design and Development Instructor’s Name: Mohammad Jahangir Ikram Year: Office No. & Email: 424 jikram@lums.edu.pk Quarter: Spring Office Hours: TBA Category: Senior 2005 TA for the Course: Sana Naveed Khwaja, Omar Gul, Omair Zafar Course Code: CS424, CMPE 323 (4 Units) Course Description Computer System Applications: Design & Development This course deals with the practical concepts related to the use of microcomputers and embedded processors in industrial applications. This course provides sufficient knowledge to the students to use microcomputers to sense the real world quantities, analyses the data, and to use the results to perform control functions. In this course related topics are covered from different primary texts and related application notes form microcomputer manufacturers. It is an Elective course of Computer Science Program and Core for Computer Engineering. Core/Elective Pre-requisites CS223: Computer Organization & Assembly Language Programming This course will build upon two earlier hardware related courses which all CS students take at LUMS, namely, CS221 (Digital Logic) and CS223 (Computer Organization and Assembly Language). Upon successful completion of the course, the students should be able to (at least): compute the various access times provided by the CPU in an embedded microcomputer system identify various industry standard microcomputer buses and study their characteristics calculate the amount of buffering needed on different buses when interfacing additional components to decode the processor's address and control buses to generate device select pulse and use this signal to enable I/O ports explain the handshaking signals exchanged between a microcomputer and external devices compare the advantages and disadvantages of various I/O methods (serial vs. parallel I/O, synchronous vs. asynchronous I/O, programmed I/O vs. interrupt driven I/O vs. DMA) explain the difference between hardware and software interrupts in an embedded microcomputer system design I/O subsystems to connect various sensors, actuators and peripheral devices. Microcontrollers develop an overall understanding of embedded computer applications in the real world. Goals This course will provide sufficient foundation for the students to pursue further studies in a number of 'state-of-the-art" areas related to computer design and architecture at the senior (undergraduate) as well as the graduate levels. Example areas include: Advanced Logic Design Computer Architecture PLD/FPGA Based Design using Verilog, VHDL etc. VHDL Electronic Design Automation (EDA) Micro-Processor-based Design Parallel Processing, Embedded Systems Computer Communications and Networking Computer System Application (Design & Development) Year: Quarter: 2005 Spring Recommended: 1. “The 80X86 Family, Design, Programming, And Interfacing” By J. Uffenbeck, 2nd Edition, 1998, Prentice Hall. TextBooks, Programming Environment, etc. 2. “ Interfacing ” by Derenzo, 1990, Prentice Hall. 3. “ Microcomputer Interfacing ” by H.S. Stone, Addison Wesley Publishing Company. 4. “Electrical Measurement And Instruments” By Berlin And Getz. 5. Application Notes On Intel Microprocessors and Micro Controllers etc. Selected topics from the above list of books. Reference: 1. “80X86 Programming And Interfacing” By M.A. Maizidi. 2. “80X86 Microprocessors” By B.B. Brey. 3. “Biomedical Measurement And Instruments” By Aston Programming Environment: 1. MASM. 2. Turbo C / C++ Lectures, Tutorials & Attendance Policy Grading There will be 20 lectures and 10 laboratory sessions ― 20 lectures of 75 minutes each. 10 computer hardware lab session of 100 minutes every week. Grading policy is as follow Lab Quizzes + Assignments Mid-term Exam Final Exam Project Exhibition 15% 20% 20% 30% 14% 1% Computer System Applications: Design & Development Module 1. 2. 3. 4. Topics Year: 2005 Quarter: Spring Sessions Basic hardware building blocks in an embedded microcomputer system Basics of Interfacing Basic System Design Address Decoding Techniques Intro to Embedded System Design Microcomputer I/O subsystems Review of computer I/O ports and techniques Parallel I/O vs. serial I/O Memory mapped VS independent I/O Polled I/O The 8255 Programmable Peripheral Interface Keyboard Interface Interrupts and DMA Timing requirements of I/O ports Readings 1 class notes 2 Uff. chapter 7 & Lec Notes 4 Uff. Chapter 8 class notes Chapter 9 Microcomputer system software and programming concepts (revisited) 1 class notes Assembly language programming , MASM 6.11 Data types Addressing modes Instruction types Assembler directives Software development for embedded systems MIDTERM EXAM 5. Serial data communication standards Serial 1/0 EIA RS-232 standard The Universal Asynchronous Receiver Transmitter 2 Uff. chapter 10 Class Notes Computer System Applications: Design & Development 2005 Year: Spring Quarter: Module Module 6. Topics Topics Industrial computer bus standards Sessions Sessions 2 ISA bus EISA bus Microchannel Local Bus: VESA and PCI I/O Buses: SCSI and USB Instrumentation Bus (GPIB) 7. Industrial data acquisition and control Readings Readings Uff, Chapter 11 Class Notes 2 Basic Measurement electronics A/D and D/A conversion Transducers, Sensors and actuators 8. 9. Interrupt Programming and Device Driver Introduction to Microcontroller Programming 1 2 10. Seminars with case studies 2 Seminar Notes Laboratory Experiments 10. Study of Parallel port and I/O through Parallel port Lab Notes Display Matrix Lab Notes A/D and D/A Conversion Lab Notes Motor Speed Measurement & Control Lab Notes Interrupt Programming Lab Notes Basic Device Driver Lab Notes Embedded system design using Microcontroller Lab Notes FINAL EXAM 1 1 2 1 2 1 2