Design of External Adapters and Embedded Systems

IT-MSC-2MBI-Compulsory-Elective - group C
IT-MSC-2MBS-Compulsory-Elective - group C
IT-MSC-2MMI-Compulsory-Elective - group C
IT-MSC-2MSK2ndCompulsory-Elective - group C
Completion:examination (written)
Type of
Hour/semLecturesSem. ExercisesLab. exercisesComp. exercisesOther
Guarantee:Růžička Richard, doc. Ing., Ph.D., MBA, DCSY
Lecturer:Kořenek Jan, Ing., Ph.D., DCSY
Martínek Tomáš, Ing., Ph.D., DCSY
Růžička Richard, doc. Ing., Ph.D., MBA, DCSY
Faculty:Faculty of Information Technology BUT
Department:Department of Computer Systems FIT BUT
Hardware/Software Codesign (HSC), DCSY
MonlecturelecturesD020710:0011:502MIT17 MPV17 MPV
Learning objectives:
  To develop knowledge gained in courses from the area of computer systems construction and demonstrate these principles in the field of external adapters design and embedded systems design. To utilize this knowledge in the design and implementation of complex digital systems with comprehensive sequential behavior. Students will be taught how to analyze the conditions in which the equipment under design will operate and on the basis of the analysis how to identify the trade-off between price, reliability and dynamic parameters. In laboratory tutorials students will study the structure and operation principles of external adapters and embedded systems components and their design in design system environment.
  The themes of lectures deal with problems that must be solved by a designer during the design of components of a peripheral device adapter. Students will become acquainted with the principles of I/O bus system operation and the communication with adapters (communication with memory components, registers, interrupt request generation and its service, DMA request generation and its service). The principles of component design (synthesis) for peripheral operation control will be discussed. The laboratory tutorials will be directed towards the presentation of these principles on a computer structure and on the design of external adapter components and external adapter design in a design system environment.
Knowledge and skills required for the course:
  • Knowledge of programming in an assembly language and C language, basics of VHDL.
  • Knowledge of electronic circuit principles and computer architectures.
Subject specific learning outcomes and competences:
  • Students will become acquainted with the principles of digital systems design with complex sequential behavior reflecting the conditions in which the application will operate.
  • They will become acquainted with tools to support designer.
  • They will learn how an implementation will be subdivided between software and hardware components.
  • They will learn how to design controllers of external adapters of basic peripheral devices and independently operating computer systems operating in real environment and communicating with a user or systems on higher level.
Generic learning outcomes and competences:
  • Student learns to design a master's work solo and as a member of a team.
  • Student learns terminology in Czech and English language.
Syllabus of lectures:
  1. Embedded system, design techniques, specification, embedded system requirements
  2. Selection of an appropriate platform, micro-controller. Pros and cons of using micro-controller in various situations.
  3. Hardware and software approach to embedded system functions.
  4. Digital inputs, binary information processing, digital outputs, two-state actuators control, extending digital inputs and outputs. Analog input and output, converters, comparators, control of analog actuators.
  5. Human interaction of embedded system, keyboard, status and general information visualization, LED displays, LCD character-based and graphics displays, screen. Communication inside embedded system with multiple processors, communication with external systems, serial synchronous and asynchronous, parallel, widespread protocols, networks.
  6. Typical software architecture of embedded system. Testing, debugging and diagnostics of embedded systems.
  7. System bus. Construction of system bus adapter, design of address decoder, realization of read and write transaction.
  8. Principles of peripheral operation controlling. Programmable peripheral operations, generation of interrupt, request for DMA and its realization.
  9. PCI and PCI-X bus architecture. Communication protocol, arbitration, interrupt handling and error recovery, Retry and Disconnect protocols.
  10. PCI-Express bus architecture. Device layers, configuration space, transaction routing.
  11. Operation system device driver architecture. Communication between user space and module, communication between module and adapter, models of blocking and non-blocking operations, DMA transfers.
  12. USB bus architecture. Transaction types, error detection and recovery, models of communication with system software.
Syllabus of laboratory exercises:
  • A minimal embedded computer system with a MCU.
  • Expanding MCU outputs practically.
  • Communication between MCU and a peripheral or a sensor.
  • DC motor control.
  • Design of adapters: Construction of address decoder for PCI devices.
  • Design of adapters: Connection and test of embedded memory blocks.
  • Design of adapters: Module for communication via RS232 protocol.
  • Design of adapters: Data stream processing, construction of finite state machine.
Syllabus - others, projects and individual work of students:
  • Basic design of a small embedded system or an external adapter architecture.
Fundamental literature:
  • Miroslav Šnorek, Karel Richta: Interfacing Peripheral Devices to PC, Grada Publishing, 1996, ISBN 80-7169-146-1, 303 pages, in Czech
  • Tom Shanley, Don Anderson: PCI System Architecture, Addison Wesley, 1999, ISBN 0201309742, 833 pages
  • Tom Shanley: PCI-X System Architecture, Addison Wesley, 2000, ISBN 0201726823, 688 pages
  • Ravi Budruk, Don Anderson, Tom Shanley, PCI Express System Architecture, Addison Wesley, 2003, ISBN 0321156307, 1056 pages
  • Don Anderson: Universal Serial Bus System Architecture, Addison Wesley, 2001, ISBN 0201309750, 544 pages
  • Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman: Linux Device Drivers, 3rd Edition, O'Reilly Media, 2005, ISBN-10: 0596005903, 640 pages
  • Jonathan W. Valvano: Embedded Microcomputer Systems, Real Time Interfacing. Brooks/Cole, 2000, ISBN 0-534-36642-2.
  • Ken Arnold: Embedded Controller Hardware Design. LLH Technology Publishing, 2001, ISBN 1-878707-52-3.
  • Stuart R. Ball: Embedded Microprocessor Systems: Real World Design. Newnes, 2002, ISBN 0-7506-7534-9.
Study literature:
  • The texts of lectures in electronic form.
  • Stuart R. Ball: Embedded Microprocessor Systems: Real World Design. Newnes, 2002, ISBN 0-7506-7534-9.
  • Jonathan W. Valvano: Embedded Microcomputer Systems, Real Time Interfacing. Brooks/Cole, 2000, ISBN 0-534-36642-2.
Progress assessment:
  • Lab experiments - 8 points.
  • Evaluated project with the defense - 17 points.
  • Written mid-term exam - 15 points.
  • Final written examination - 60 points.