Knowing the IoT paradigm. Ability in programming a microcontroller-based system. Ability in programming hardware/software hybrid systems by means of the arduino platform. Having a basic knowledge on FPGA implementation. Knowing the issues and the solutions related to the interfacing with the physical world. Knowing of the issues related to the virtualization and the operating systems in the context of IoT.
Introduction to IoT paradigm
- Technological trends and Embedded systems
- From sensor to smart sensor
- Internet of Things and application scenarios
Interfacing the physical world
- Operational principles
- Acquisition systems
- Sampling, quantization and encoding
- ADC and DAC
- Accessing I/O devices
- I/O interface
- Input/output mechanisms: memory-mapped I/O, programmed I/O, interrupts, direct memory access.
- Hands-on (Lab)
Microcontrollers for the IoT
- Microcontrollers basics
- Architecture and instruction set
- Pheripherals: I/O ports, polling, interrupts, ADC, clocks, timers.
- Interfacing: sensors, display LCD, motors
- Wired communication protocols: UART/USART, SPI, I2C, 1-wire.
- Open Hardware principles
- Hands-on (Lab)
Prototyping systems
- Arduino platform
- Serial communications
- Digital and analog inputs
- Gathering inputs from sensors
- Visual and audio output
- Controlling external and remote devices
- Communicating by I2C and SPI
- Basics on FPGAs
- Prototyping on Xilinx FPGA
- Hands-on (Lab)
Smart Sensors
- Embedded microprocessor cores: Microprocessors, microcontrollers, DSP, ASIP, GPU.
- Embedded memory technologies: DRAM, SRAM, FLASH, EPROM.
- I/O controllers
- Hands-on (Lab)
Virtualization and IoT Operating Systems