COMPLEMENTI DI ELETTRONICA DIGITALE
- Logica programmabile: architettura e programmazione di CPLD e FPGA.
MICROPROCESSORI
- Introduzione dei processori: ALU, registri, spazio di indirizzamento, bus e interfacciamento, interrupt e reset, modalità di accesso e memorizzazione dei dati; caratteristiche di un’istruzione (numero e tipi di operandi, modalità di indirizzamento degli operandi, formato, tempo di esecuzione); processori CISC e RISC.
- Tipi di processori (Microprocessori, Microcontrollori, DSP): caratteristiche generali, architetture e criteri di impiego; scelta del processore.
- Linguaggi e tecniche di programmazione: assembler, compiler, linker; programmazione diretta dei processori (struttura dei programmi e uso degli interrupt); sincronizzatori, schedulatori, driver; software e firmware; aritmetica e tipi di dati (interi positivi e relativi, aritmetica in precisione multipla, floating point std IEEE 754); tecniche look-up table per l’implementazione di funzioni non lineari; cenni di sistemi operativi embedded.
- Strumentazione di sviluppo per i processori: simulatore, analizzatore di stati logici, emulatore (in-circuit e on-circuit), sistemi “monitor-debugger”.
- Interfacciamento di processori: problematiche logiche e fisiche di interfacciamento; trasferimenti punto a punto e multiutente; esempi di protocolli; cicli lettura-scrittura sincroni, interlacciati e semisincroni; interfacciamento di EPROM e RAM, registri di lettura, registri di scrittura, registri bidirezionali; trasferimenti master-slave e tecniche di selezione dello slave; strutture a bus multi-master; struttura di un allocatore; tecniche di allocazione e arbitraggio.
- Laboratorio di programmazione e interfacciamento di processori: esperienze di programmazione e interfacciamento di microcontrollori.