Learning Outcomes
To understand the design of Input-Output (I/O) hardware and microprocessor interfacing.
To introduce to different I/O techniques: polling, interrupts, DMA and to apply the proper I/O interfacing mode.
To gain experience with the AVR peripherals such as timers and serial communication protocols.
To demonstrate interfacing to switches, LEDs, ADCs, DACs, motors and transducers.
This course contributes primarily to adapt and integrate the students' knowledge of engineering topics (signal processing, measurement techniques, process control methods) to provide design experience on microcontroller based embedded systems.
Course Content (Syllabus)
Overview of microprocessor interfacing techniques. Functions of a general purpose I/O interface system. Handshaking modes. Parallel and serial I/O. Asynchronous (RS232) and synchronous serial communication.
Memory mapped and independent I/O microprocessors. Interrupts and polled I/O. Interrupt priority. Vectored interrupts. Daisy chaining. DMA. The 68000 Exception processing system. Global and local bus allocation. Input – Output Computers. RTOS.
I/O interfacing of the AVR microcontroller. I/O register file. Vector interrupt table. Standard Parallel Ports. Timers and counters. PWM. Serial Port protocols: RS232, I2C, SPI and CAN. Analog comparator. Analog Multiplexer and ADC. DAC.
Analog to Digital Conversion Techniques. Data Acquisition Systems. Sampling procedure. Quantization errors due to ADC, CPU and DAC resolution. Sampling frequency selection. ADC, microprocessor and DAC word length selection.
Development of programs for programming the parallel ports, timers, ADC and SPI of the AVR microcontroller.
Keywords
Interfaces, interrupts, serial communication, timers, analog interfacing