Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2020/2021

Methods of interfacing peripheral devices

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-MPP Z,ZK 4 2P+2C Czech
Lecturer:
Miroslav Skrbek (guarantor)
Tutor:
Miroslav Skrbek (guarantor)
Supervisor:
Department of Digital Design
Synopsis:

The course is focused on methods interfacing peripheral devices. Interfacing of real devices is included with stress to Universal serial bus (USB). The course includes either PC side or attached devices. Labs are practically oriented. Students gain gain experience in implementation relevant parts of USB device, Linux and Windows drivers, simple application development, and APIs of selected devices.

Requirements:

Basic knowledge in C programming, basic knowledge in Linux and Windows operating systems

Syllabus of lectures:

1. Introduction, basic terms, PC architecture

2. Address spaces in PC, virtual memory, interrupt subsystem

3. System bus (PCI Express), input and output operations, direct memory access

4. USB 3.0 standard , USB Wireless a USB On-the-Go

5. SCSI bus and USB mass-storage devices

6. Peripheral busses (LPC, Firewire, SATA)

7. Development of specific USB devices, hardware support in microcontrollers, firmware

8. Linux kernel, kernel modules

9. Character and USB devices in Linux

10. Windows drivers

11. Mapping of Bluetooth devices into Linux and Windows

12. Mapping audio and video devices into Linux and Windows

Syllabus of tutorials:

1. Introduction, development tools

2. Peripheral operation at the register level

3. PCI device configuration

4. Detection and identification USB devices, mouse data reading

5-6. USB mass-storage data reading

7. USB device descriptor request implementation

8. USB bulk transfer implementation

9. Character driver implementation in Linux

10. USB device driver implementation in Linux

11. Windows driver implementation

12. Audio/video data transfers

13. Assessment

Study Objective:

The goal of the course is to learn students methods of interfacing peripheral devices and their application interfaces. Next goal is provide students with sufficient space to obtain pratical experience in peripheral interfacing by a set of tasks.

Study materials:

[1] Gook, M.: PC Hardware Interfaces: A Developer's Reference. Computer Press. 2006, ISBN 978-1931769297

[2] Corbet, J., Rubini, A., Kroah-Hartman, G.: Linux Device Drivers. O'Reilly, 3rd edition, 2005. ISBN 0-596-00590-3.

[3] Oney, W.: Programming the Microsoft Windows driver model. Microsoft Press. 2nd edition, 2003. ISBN 0-7356-1803-8

Note:
Further information:
https://moodle-vyuka.cvut.cz/course/search.php?search=BI-MPP
Time-table for winter semester 2020/2021:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon
Tue
Fri
roomTH:A-1048
Skrbek M.
09:15–10:45
(lecture parallel1)
Thákurova 7 (FSv-budova A)
Servitova laborka
roomTH:A-1048
Skrbek M.
12:45–14:15
(lecture parallel1
parallel nr.101)

Thákurova 7 (FSv-budova A)
Servitova laborka
roomTH:A-1048
Skrbek M.
14:30–16:00
(lecture parallel1
parallel nr.102)

Thákurova 7 (FSv-budova A)
Servitova laborka
Thu
Fri
Time-table for summer semester 2020/2021:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2020-09-24
For updated information see http://bilakniha.cvut.cz/en/predmet1723406.html