Guia docente 2023_24
Escola de Enxeñaría Industrial
Grado en Ingeniería en Electrónica Industrial y Automática
 Subjects
  Digital electronic systems
   Contents
Topic Sub-topic
Lesson 1: Introduction to microcontroller programming in C language Basic concepts of the C language: data types, operators, functions, structures for program flow control. Programming of the Microchip PIC18 family of microcontrollers with XC8.
Lesson 2: Serial I/O in microcontrollers Introduction to serial connection between processors. Synchronous communication. Asynchronous communication. Point-to-point connection (RS232). Serial bus (I2C). Basic structure of a serial I/O peripheral. Serial I/O peripherals in the Microchip PIC18 family of microcontrollers (USART and SSP). Application examples: asynchronous and synchronous.
Lesson 3: Capture and compare unit in microcontrollers Temporal variables. Generation and measurement. Basic structure of a compare and capture peripheral. High-speed I/O. Pulse width modulation (PWM). Capture/Compare/PWM (CCP) peripherals in the Microchip PIC18 family of microcontrollers. Application and programming examples.
Lesson 4: Special operation modes. Power consumption in digital processors. Low power consumption modes: the case of the Microchip PIC18 family of microcontrollers. Application and programming examples. Watchdog timing strategies: the case of the Microchip PIC18 family of microcontrollers. Application and programming examples.
Lesson 5: Memory organization Memory hierarchy in digital processors. Cache memory: organization, basic structure, operation examples. Memory expansion in microcontrollers. Direct memory access (DMA)
Lesson 6: Arithmetic circuits Numeric formats: signed/unsigned integers, fixed point, floating point. Precision. Multiplication and integer division: algorithms and functional blocks. Performance optimization. Floating point operations.
Lesson 7: Design of custom peripherals Connection of peripherals to microcontrollers. Timer / counter: structure and applications. Serializer.
Lesson 8: Design examples: digital electronic systems for instrumentation and industrial control Case studies
Lab session 1. Serial communication with microcontrollers. Connection to a display through the i2C bus. Task 1: Study of serial MSSP unit of the PIC microncontroller.
Task 2: Programming of a subroutine that sends data through the i2C bus.
Task 3: i2C serial connection of an alphanumeric display with the PIC. Study of the control commands of the display.
Task 4: Monitoring of the i2C bus with the Logic Analyzer (LA).
Task 5: Create a program to write the "HELLO WORLD" welcome message in the display.
Lab session 2: User I/O control by means of a keyboard and a display. Task 1: Connection of a matrix keyboard to the microcontroller through parallel port B.
Task 2: Design and implementation of a keyboard exploration algorithm and a key-pressed decoder. Use the LEDs of the testing system to show the codes of the keys pressed.
Task 3: Create a program to write in the display the keys pressed in the keyboard. Reserve one of them to make some control action.
Lab session 3: Open-loop PWM speed control of a dc motor Task 1: Study of the compare/capture/PWM (CCP) unit of the microcontroller in PWM mode.
Task 2: Create a program to initialize the CCP unit.
Task 3: Open-loop motor speed control. Use of the A/D converter of the microcontroller to acquire the speed set point from a potentiometer in the testbed.
Task 4: Connection of the PWM output to a L293 current amplifier. Visualization of the PWM signal in an oscilloscope and measurement of its average (dc) value .
Lab session 4: Speed measurement of a dc motor by means of a sensor that generates pulses of variable frequency Task 1: Motor speed measurement by means of a pulse signal from a barrier optoelectronical sensor.
Task 2: Create a program that implements a frequency-to-voltage converter using the microcontroller timers. Visualization of the measured speed in the LEDs of the testbed.
Lab session 5: Closed-loop PI speed control of a dc motor Task 1: Create a closed-loop PI speed control program for the dc motor, based on the programs created in previous lab sessions.
Task 2: Visualize in a display the speed set point, the error signal, and the output signal of the regulator (the input of the actuator).
Task 3: Enter speed set points using the matrix keyboard.
Lab session 6. Design and implementation of a SPI serial communication unit for an A/D converter. Task 1: Study of a control module for SPI serial communication and of the data format.
Task 2: Design and implementation of an SPI control module for connection to an A/D converter.
Task 3: Capture of an analog input signal with the A/D converter and the SPI serial interface. Visualization of input data with a 7-segment display.
Task 4: Monitor the SPI port with the logic analyzer.
Lab session 7. Design and implementation of a SPI serial communication unit for a D/A converter. Task 1: Design and implementation of an SPI control module for connection to a D/A converter.
Task 2: Generation of an analog signal from digital data defined with external switches connected to the FPGA.
Task 3: Monitor the SPI port with the logic analyzer.
Lab session 8. Design and modeling of a memory to implement a search table in an FPGA. Task 1: Implementation of a search table containing digital samples of a signal to be reconstructed.
Task 2: Generation of an analog signal using the search table and the D/A converter with the SPI module.
Task 3: Visualize the generated signal with the digital oscilloscope.
Lab session 9. Implementation of a real-time processing system. Task 1: With the hardware resources developed in previous sessions, create a bypass for an analog input signal (sample, hold, and reconstruction) and visualize in the oscilloscope both the analog input and output.
Task 2: Implementation of a digital average filter to be added to the circuit of the previous task, creating a structure analog input - digital filter - analog output.
Universidade de Vigo            | Reitoría | Campus Universitario | C.P. 36.310 Vigo (Pontevedra) | España | Tlf: +34 986 812 000