Italiano
Italian
Conoscenze di programmazione in linguaggio C.
Knowledge of C programming language.
• Lezioni di Teoria: 48 ore
• Laboratorio: 24 ore.
• Theoretical lessons: 48 hours
• Laboratory: 24 hours.
Il corso intende dare agli studenti le conoscenze hardware e software necessarie per il progetto di dispositivi elettronici per l’industria dei videogame e dell’Extended Reality. A tal fine vengono studiati gli elementi base dell’ingegneria elettronica, le fondamentali architetture di microprocessori ARM, gli elementi di programmazione di microprocessori ARM.
Il corso intende formare la capacità di applicare le conoscenze all'analisi delle specifiche di progetto di un dispositivo elettronico dedicato a videogame ed all’extended reality, alla selezione e programmazione di dispositivi elettronici per il raggiungimento delle prestazioni desiderate, all'utilizzo dei tool per la programmazione dei microprocessori ARM.
Il corso fornisce competenze hardware e software trasversali per la progettazione di sistemi elettronici basati su microprocessore ARM, utilizzabili in diversi settori dell’ingegneria e dell’information technology in generale.
The course aims to provide the necessary hardware and software knowledge for designing electronic systems for the videogame and Extended Reality industry. To this end the basic elements of electronic engineering, the fundamental ARM microprocessors architectures, the programming languages for ARM microprocessors will be studied.
The course is intended to train the students so that they acquire the capability of applying the knowledge to the design specifications of an electronic system for the videogame and Extended Reality industry, to the selection and programming of electronic devices to obtain the desired performance, to the using of tools for programming ARM microprocessors.
The course provides a multidisciplinary background on hardware and software for the design of ARM microprocessors based electronic systems, which can be spent in several fields of engineering and information technology in general.
Lezioni di teoria:
• Introduzione ai sistemi elettronici ed ai microprocessori:
- CPU
- alimentazione
- clock
- memorie RAM, ROM e EEPROM
- registri
• Architettura ARM:
- microprocessori ARM Cortex
- bus AMBA AXI
- differenze tra varie implementazioni del microprocessore ARM
• Periferiche principali di un sistema elettronico:
- porte I/O digitali
- temporizzazione: timers, pulse width modulation
- sezione analogica: convertitore ADC
- sensori inerziali: accelerometro, giroscopio
- sensori ottici
- protocolli di comunicazione intra-board: SPI, I2C, USART, USB per la gestione della comunicazione con dispositivi quali sensori IMU, display LCD, dispositivi human-interface
- interfacce utente: keypad, display, joystick
• Programmazione su microprocessori ARM:
- toolchains di compilazione e cross compilazione
- boards di sviluppo (descrizione dell'hardware)
- esempi di firmware per il controllo di periferiche di gioco e di dispositivi per la realtà virtuale.
Laboratorio:
• Alcuni degli argomenti menzionati saranno testati dalle studentesse e dagli studenti tramite esperienze pratiche, utilizzando boards ARM-based.
Theoretical lessons:
• Introduction to electronic systems and microprocessors:
- CPU
- power supply
- clock
- RAM, ROM and EEPROM memories
- registers
• ARM architecture:
- ARM Cortex-M processors
- AMBA AXI bus
- differences between various implementations of the ARM microprocessor
• Main peripherals of an ARM-based electronic system:
- digital I/O ports
- timing: timers, pulse with modulation
- data acquisition system: ADC
- inertial platforms: accelerometer, gyroscope
- optical sensors
- intra-board communication protocols: SPI, I2C, USART, USB to interface with devices such as IMU sensors, LCD displays, human-interfaces devices
- human interfaces: keypad, display, joystick
• Programming the embedded ARM processors:
- compilation and cross-compilation toolchains
- development board (hardware description)
- examples of firmware for the control of game peripherals and devices for virtual reality.
Laboratory:
• Some of the given topics will be tested by the students through practical experience, using ARM-based boards.
La valutazione del livello di apprendimento consiste in una prova orale che comprende la discussione di temi trattati nel corso e di semplici problemi pratici.
Per superare l'esame con esito positivo, la studentessa / lo studente dovrà mostrare di avere acquisito le metodologie e le tecniche di progettazione di dispositivi elettronici per l’industria dei videogame e per la realtà virtuale.
Attribuzione del voto finale in trentesimi, con eventuale lode.
Il voto minimo per il superamento dell'esame è 18/30.
La prova orale sarà articolata su domande relative agli argomenti del programma.
The knowledge and understanding is evaluated through a verbal examination, with questions on theoretical arguments of the course and discussion of simple practical problems.
To pass the exam, the student will have to prove knowledge of all the methodologies and techniques for designing electronic systems for the videogame and virtual reality industry.
Attribution of the final mark on a 30-point scale, with possible praise.
The minimum mark for passing the exam is 18/30.
The oral examination will be focused on questions concerning the course topics.
• ARM Education Media: https://www.arm.com/resources/education/books
• Dispense a cura del docente, reperibili sul sistema Moodle di ateneo: https://learn.univpm.it
• ARM Education Media: https://www.arm.com/resources/education/books
• Lecture notes by the teacher, available through the university's Moodle platform: https://learn.univpm.it
Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427