20810061 - MICROELETTRONICA

Obiettivo dell’insegnamento è quello di fornire le conoscenze di base sui sistemi elettronici digitali, acquisendo le nozioni necessarie alla comprensione del loro funzionamento ed alla valutazione delle prestazioni. Particolare attenzione viene rivolta all’analisi del principio di funzionamento dei sistemi elettronici programmabili e della loro applicazione pratica con illustrazione delle tecniche fondamentali per il progetto di semplici apparati elettronici digitali.
scheda docente | materiale didattico

Programma

Introduzione: sistemi elettronici digitali di base: logica cablata e logica programmabile; i linguaggi di descrizione dell’hardware per il progetto di sistemi digitali; genesi dei sistemi a microprocessore: l’architettura di Von Newmann e quella Harvard; generalità sui sistemi RISC e CISC; cenni storici sull’evoluzione dei microprocessori; architettura di microcontrollori.

Architettura ARM: cenni storici del processore ARM; generalità sui microprocessori; set di istruzioni; l’architettura RISC; organizzazione dei registri interni; stato ARM e stato Thumb; confronto tra RISC e CISC; pipeline; eccezioni: origine e modalità di gestione; interruzioni; sistemi di debug e interfaccia JTAG; organizzazione ARM7TDMI e confronto caratteristiche ARM7TDMI e ARM9TDMI.

I microcontrollori LPC800 di NXP: memoria di sistema; NVIC; il controllo di sistema; mappa e impostazione dei pin; porte di input/output; ADC; Timer; memoria Flash; Embedded ICE.

Periferiche di supporto: conversione A/D e D/A; standard di comunicazione; LCD standard HD44780.

Software: il sistema di sviluppo; IDE proprietari e open-source; Eclipse; Make file, infrastruttura codice, creazione di un nuovo progetto; cenni di progettazione software; codice di base, macchina a stati, librerie di funzioni, macro; vettori di interrupt, priorità, deadlock, inversione di priorità; esempi di gestione di interrupt; debug: controllo di registri, variabili, stack; esecuzione passo-passo; breadboarding.

Esercitazioni: compilazione, upload, debug; allestimento di un prototipo. Esercitazioni su: comando di un LED; gestione tasti; lettura potenziometro con ADC; gestione timer; controllo PWM; lettura sensore di temperatura con ADC; gestione LCD; RTC programmabile; orologio sveglia; cronotermostato con LED e LCD per lo stato di attuazione.

Testi Adottati

Furber, “ARM, system-on-chip architecture”, ch. 1-3, second edition, Addison Wesley, 2000

Salvatori, “Introduzione alla progettazione con gli LPC2000”, Aracne editrice, 2011

NXP Semiconductors, “UM10800 LPC82x User Manual”, www.nxp.com
NXP Semiconductors, “LPC82x product datasheet”, www.nxp.com

Martin, “The insider’s guide to the NXP ARM7-based microcontrollers”, www.hitex.co.uk