SISTEMI INTEGRATI E MOBILI - a.a. 2019/2020 =========================================== (prof. Sergio Carrato) Il corso e’ costituito da 3 parti, ognuna da 3 cfu. Programma del corso =================== Parte prima: DSP ---------------- Struttura e caratteristiche generali dei DSP (struttura della memoria e dei bus, indirizzamenti, MAC, pipeline, strutture tipo MMX, zero overhead looping...). Architetture VLIW. Il 'C5402 ed il 'C5510 della Texas Instruments (TI): struttura e caratteristiche. Programmazione del 'C5510 usando CCStudio. Esempi: gestione dell'I/O con l'host, gestione di I/O audio, implementazione di un FIR. Il 'C6748 della TI: struttura e caratteristiche. Esempi di programmazione. Software pipelining. * Esercitazioni Attivita' di laboratorio: programmazione dei DSP 'C5510 e 'C6711 su DSP Starter Kits della TI, con esempi spiegati a lezione. Parte seconda: Android ---------------------- Android: linguaggio di programmazione e sistema di sviluppo. In particolare, con riferimento al libro di testo (v. sotto): Introduction to Android Welcome App: Dive-Into Android Studio: Introducing Visual GUI Design, Layouts, Accessibility and Internationalization. Tip Calculator App: Introducing GridLayout, EditText, SeekBar, Event Handling, NumberFormat, Customizing the App’s Theme and Defining App Functionality with Java. Flag Quiz App: Fragments, Menus, Preferences, Explicit Intents, Handler, AssetManager, Tweened Animations, Animators, Toasts, Color State Lists, Layouts for Multiple Device Orientations, Logging Error Messages for Debugging. Doodls App: 2D Graphics, Canvas, Bitmap, Accelerometer, SensorManager, Multitouch Events, MediaStore, Printing, Android 6.0 Permissions, Gradle. Parte terza: MCU ----------------------------------- Questo modulo si propone di fornire un approccio sistemico alla progettazione, realizzazione e verifica di applicazioni basate su sistemi embedded. Durante il modulo verranno discusse e fornite tecniche ed esempi di scrittura delle specifiche (SW/HW) per il sistema stesso, per le interfaccie utente e per la comunicazione con sistemi esterni, si approfondiranno gli ambienti di sviluppo (linguaggi compilatori, sistemi di sviluppo), insieme ai linguaggi, i sistemi operativi e le architetture dei microcontrollori. Parte integrante del modulo e' quella relativa al laboratorio, in cui partendo da una scheda embedded verranno sviluppate applicazioni collegando interfaccie utente (LCD ecc), sensori, sistemi di localizzazione (GPS), sistemi di connessione (Bus sistemi WiFi); la validazione SW/HW e l'ottimizzazione del codice saranno parte importante dei progetti realizzati. Esame ===== L'esame prevede un progetto e prove orali. Il progetto va svolto sugli argomenti di una delle tre parti, a scelta dello studente; gli orali invece sono tre, uno per ogni parte, e possono essere sostenuti in qualunque ordine, anche in appelli e sessioni diverse. Lo studente e' pregato di - spedire il codice sviluppato per il progetto al docente un paio di giorni prima dell'orale - per gli appelli "ufficiali": - iscriversi all'appello su ESSE3, specificando, nel campo "note per il docente", a quale parte e' interessato - spedire un email al docente della parte di cui intende sostenere l'orale - per gli appelli "mensili": - spedire un email al docente della parte di cui intende sostenere l'orale Il voto finale e' dato dalla media pesata dei voti delle parti (1/4 per il progetto, 1/4 per ognuna dei tre orali), e viene registrato dal titolare del corso. Testi ===== Parte "DSP" ----------- Il materiale didattico e' disponibile sul sito del docente. Inoltre: - Digital Signal Processing Applications with the TMS320 Family: Theory, Algorithms, and Implementations, Volume 3 (sul sito del docente) - Bateman, Andrew, The DSP handbook : algorithms, applications and design techniques, Prentice Hall, 2002 (Bibl. Tecnico Scientifica 22h/0156) - Chassaing, Rulph, DSP applications using C and the TMS320C6x DSK, New York: J. Wiley, ©2002 (Bibl. Tecnico Scientifica; in forma elettronica) In particoolare, per le architetture: - Patterson, David A., Computer organization and design: the hardware/software interface, 2017 (Bibl. Tecn. Sc. 22c/0220 Parte "Android" --------------- Android 6 for programmers : an app-driven approach Paul Deiter, Harvey Deitel, Alexander Wald. - 3. ed. - Boston : Prentice Hall, 2015. Bibl. Tecnico Scientifica, 22p/0153. Il materiale didattico e' disponibile sul sito del docente. Parte "MCU" ------------------------ Simone Buso Introduzione alle applicazioni industriali di MICROCONTROLLORI E DSP Società editrice Esculapio, 2018