Computer Peripheral Interfacing

Semestr: Summer

Range: 12+4


Credits: 4

Programme type: Undefined

Study form: Parttime

Course language:


This course is an introduction to interfacing methods for peripherals of personal computers. The sourse is focused on interaces based on serial interface (IrDA, BlueTooth) and the USB interface. Driver development for Windows and Linux is included. The semminars and laboratory assignments provide practical experience with development of peripherals and drivers.


Personal computer, peripherals, bus, interface, driver.

Course syllabus:

1. Introduction. System resources (registers, interrrupt)
2. Serial interface, API, realtion to BlueTooth
3. USB interface
4. Peripherals with USB interface, drivers, mapping of system resources
5. USB device implementation
6. Parallel interface, IR communication, Device design.
7. Drivers for Linux operating systems
8. Driver structure, resource allocation, application interface
9. Calling driver from application, driver examples
10. Drivers for Windows operating system
11. Driver structure, events, installation
12. Calling driver from Win32 application
13. Java Native Interface
14. Reserved

Seminar syllabus:

1. Introduction
2. C programmning on Linux
3. Serial port programming on Linux
4. Programming in Visual C++
5. Serial port programming on Windows
6. Introduction to USB device development system
7. Firmware for simple USB device
8. Simple driver development on Linux
9. USB driver development on Linux
10. Application for USB device on Linux
11. Simple driver development on Windows
12. USB driver development on Windows
13. Application for USB device on Windows
14. Reserved


1. Messmer, H.: The Indispensable PC Hardware Book. Addison-Wesley Pub. Co., 2000. ISBN 0201403994
2. Internet resources