PROGRAMMA FINALE SISTEMI ELETTRONICI A.S. 2013-14 CLASSE 4CE SISTEMI ELETTRONICI PARTE TEORICA Introduzione ai microprocessori. Schema a blocchi di VON NEUMANN. Dispositivi di I/O. Schema a blocchi della ALU: esempio di somma di dati A e B ad 8 bit con e senza riporto. Definizione di overflow e carry out. Evoluzione storica del microprocessore: caratteristiche dei microprocessori 4004, 8080, 80283,80386, pentium 1, 2, 3, 4, frequenze di clock, bus interni e dati tecnici. La scheda madre, il clock , la velocità di elaborazione delle istruzioni. Parallelismo e sequenzialità dei dati. Modello di Von Neumann e di Harvard. Differenza tra linguaggio macchina, linguaggio assembler o di basso livello e linguaggio di alto livello; programmazione embedded dei PIC (cenni); trasmissione parallela, seriale e a fibre ottiche (cenni). Architettura a bus del microprocessore Bus dati, Bus di indirizzo e Bus di controllo. Memorie ROM e RAM e suo collegamento con i Bus. Confronto tra il modello di Von Neumann e di Harvard: Schemi a blocchi differenze tra i due sistemi; vantaggi e svantaggi di entrambe le strutture. Il registro istruzione IR, circuito di decodifica e suo clock; Il decodificatore delle istruzioni; Il registro accumulatore ACC; L’ ALU; I registri di uso generale interni; Il registro contatore di programma PC: la fase di prelievo o fase di FETCH; chiamate a subroutine e salti. Le memorie: Tempo di accesso, tempo di scrittura e tempo di lettura; memorie tampone, memorie volatili e non volatili, memorie di massa. Le memorie a semiconduttore: ROM, RAM, PROM, EPROM, EAROM. Le memorie cache,livello1,2,3,4,memorie flash, EAROM,EPROM. Il microprocessore 8086 Caratteristiche generali del microprocessore 8086. Address register, data register, registri interni. Piedinatura. Architettura interna dell'8086: definizione di EU e BIU e loro funzionamento. I registri visibili al programmatore: i registri di uso generale AX,BX,CX,DX; I registri a 16 bit: AX, BX,CX,DX e a 8 bit: AH,AL, BH ,BL ,CH,CL, DH, DL; Area di stack; i registri: SP= Stack Pointer e BP=Base Pointer. Il registro di stato: i Flag C,P,A,D,S,I,Z . Trasformazione dei numeri decimale in numeri binari e in numeri esadecimali: tabelle di conversione. Gestione della memoria dell' 8086 e segmentazione della memoria; formule di indirizzamento dei registri a 16 bit + offset. Calcolo della memoria di indirizzamento totale in decimale ed in esadecimale. Segmentazione della memoria dell'8086: suddivisione dei segmenti CS,DS,SS,ES e calcolo dell'indirizzo ADDR come combinazione del segmento più offset. 1 Le istruzione del microprocessore 8086 Le istruzioni aritmetiche ADD e SUB; esercizi alla lavagna e al computer. Data la seguente funzione 6+5+10-4 scrivere un programma in assembler che visualizzi il risultato nel registro AL. Significato dell'istruzione A100 e INT 3 nel programma. I comandi dell'MS dos: il comando cd, md, c:,cd.., dir; creare una cartella di nome esercizi con MS.DOS su c; creare un file *.doc e salvarlo nella cartella creata; L'utiliity DEBUG ; il comando a 100, r, t, q; creare un programma con il debug che faccia la somma tra due numeri e visualizzi il risultato nel registro AL. Il debug, procedura di salvataggio di un file nome.com e procedura di richiamo. Esercizio: scrivere un programma con estensione *.com che esegua la somma e la differenza tra due numeri, salvarli e richiamarli dalla cartella creata. Istruzione aritmetiche INC DEC, MUL sorgente e DIV sorgente; caso di registri ad 8 bit e caso dei registri a 16 bit. Algoritmo della moltiplicazione e della divisione. Procedura di salvataggio di un file con estensione .com nella cartella esercizi. Scrivere un programma in assembler che risolva il seguente problema [5*(4+5)-2] e visualizzare il risultato nel registro AL e provarlo al computer. Le istruzioni di trasferimento diretto e indiretto con i registri SI e DI; Esercizio: Trasferire 10 byte dall’indirizzo 330 all’indirizzo 310 attraverso un ciclo e l’utilizzo di jnz. Le istruzioni di salto JL; JNG; JNZ. Esercizi con uso dei salti con cicli di decremento e incremento di registri. Esercizio: Trasferire 10 byte dall’indirizzo 330 all’indirizzo 310 attraverso un ciclo e l’utilizzo di jnz. Esercizi di trasferimento dei dati dall’indirizzo 300 all’indirizzo 310 con il debug. Esercizio: Trasferire 10 numeri in due vettori, farne la somma, e trasferire la somma in un terzo vettore, con il software Debug. Utilizzo di SI,DI, BP, JNZ e comando D. I sistemi lineari Definizione di sistema programmabile e sistema in logica cablata. Esempi pratici di piccoli sistemi di controllo analogici e digitali; Sistema di misura di temperatura analogica ( termometro) , sistema di misura digitale di temperatura ( termometro digitale con display); Volmetro analogico e digitale per misure di tensione. Sistema antifurto. Schemi a blocchi dei sistemi analizzati. Funzione di trasferimento di un sistema lineare o proporzionale del tipo y=kx. Sistema con una sola resistenza, e suo schema a blocchi. Sistema partitore di tensione con due resistenze: teorema di Thevenin per calcolare la risposta del sistema, parametri del sistema. Esempio di sistema lineare: Il transistor a BJT: calcolo della risposta del transistor al variare della corrente di base: inserire nel blocco lineare il valore di hfe; calcolare la risposta del BJT in funzione delle correnti: Ic=hfe*Ib e suo schema a blocchi. I sistemi di controllo automatici. Significato di trasduttore,manipolatore,attuatore. I disturbi. Sistema di controllo ad anello aperto e ad anello chiuso. Significato di nodo sommatore o sottrattore, punto di diramazione. I sistemi di controllo retroazionati e i regolatori: dimostrazione della formula y=k1 *x/(1-k1k2) . 2 Regolazione di tipo ON-OFF Pilotaggio di un diodo led o di un relè con un transistor in configurazione on-off. Pilotaggio di un diodo led con onda quadra o con segnale a gradino in ingresso al transistor. Sistema di controllo analogico con segnali continui. Definizione di regolatori di tipo Proporzionale o P, integrativo o I, derivativo o D. Schema a blocchi di un sistema di controllo ON-OFF e schema a blocchi di un sistema di controllo analogico. Sistemi di controllo automatici Schema di controllo automatico e retroazionato di un motore con dinamo tachimetrica. Spiegazione dei blocchi inseriti: Amplificatore di segnale, amplificatore di potenza, sistema oggetto del controllo (motore) e dinamo tachimetrica. Significato di tensione di errore Ve = Vi - Vr. Schema a blocchi di un sistema di controllo automatico con ADC e DAC generico. Schema a blocchi di un sistema di controllo digitale e computerizzato della velocità di un motore in continua, con dinamo tachimetrica, ADC e DAC, e relativi disturbi; significato di conversione analogica e digitale. I sistemi nel dominio del tempo Il partitore di tensione: calcolo della risposta del sistema dopo una sollecitazione in ingresso costante o sinusoidale, fissati i parametri R1 e R2. Carica e scarica di un condensatore, formula della risposta del sistema prelevata sul condensatore. La risposta e la f.d.t nel dominio del tempo. La risposta e l’attenuazione nel dominio del tempo del filtro RC e CR; Il segnale sinusoidale nel dominio del tempo: pulsazione frequenza, periodo e calcolo dello sfasamento in gradi e in radianti. Ordine di un sistema: Sistema di ordine zero e di ordine 1 e di ordine due. Applicazioni ai sistemi elettrici; Il gradino unitario e gradino di valore Vimax. Risposta al gradino unitario di un sistema di ordine zero resistitivo, di ordine 1 circuito RC e di ordine 2 circuito RLC. Grafici delle rispettive risposte. I circuiti RL e RC nel dominio del tempo: formula della risposta VL e VR di un circuito RL serie.. Esercizi sui circuiti di primo ordine con segnali a gradino e a rampa crescente. Gorgonzola 27 maggio 2014 Prof.ssa Maria Rosa Malizia …………………………………………. Gli alunni …………………………………………. …………………………………………. 3 LABORATORIO SISTEMI ELETTRONICI A.S. 2013-14 CLASSE 4CE Ripasso delle principali istruzioni del turbo C Esercizio in turbo C: Realizzare una calcolatrice con le quattro operazioni utilizzando l'istruzione if... else , e l'istruzione switch...case. Schemi a blocchi del ciclo While (controllo di testa), Do...While (controllo di coda) e ciclo FOR. Esercizio realizzare una calcolatrice in turbo C con controllo di codo con il ciclo DO..While. Il ciclo FOR e gli ARRAY: inserire 10 numeri in un array, fare la media e visualizzare la media, il max, il min dei numeri inseriti. Calcolare la media aritmetica dei numeri inseriti tramite gli array. Inserimento di una variabile ausiliare negli array per effettuare lo scambio e il suo ordinamento . Gli array bidimensionali caricamento e visualizzazione degli array. Scrivere un programma in Dev C++ che simuli una carta di identità: utilizzare le istruzioni di acquisizione e stampa delle stringhe di caratteri e numeriche. Utilizzo della funzione for per sempre, for(;;). Esercizio: Realizzare un programma in C che simuli un distributore di bevande con un menu’ di scelta, che permetta all’utente di inserire le monete per la bevanda, fare la scelta e ottenere il resto; funzione exit(0) per uscire dal for(;;).; l’istruzione system(“color 2e”); esercizio in Dev C++ della battaglia navale. Introduzione al software Labview: Il pannello di controllo e il diagramma a blocchi. Come realizzare una porta NAND con tasti e diodi led. Esercizio: Realizzare un HALF-ADDER con Labview. Realizzazione di un Virtual Instrument con Labview: Realizzare un Half-Adder e un Full ADDER. Realizzare un sommatore ad 8 bit con il Labview. Costruire un latch SR come Virtual Instrument con un programmino in Labview. Costrutto struct: completamento programma di scelta multipla. Programma calcolatrice. Programmazione grafica con LabView. Introduzione ai cicli: ciclo while condizione ed iterazione. Esercizio: il Wave form chart per la visualizzazione dei dati acquisiti; esercizio di esempio con singola traccia e doppia traccia con bandle. Programmazione grafica: Realizzare con il Labview un sistema di controllo di un serbatoio con due diodi led, uno per il troppo pieno e uno per il troppo vuoto. 4 Introduzione alle stringhe: scrittura e visualizzazione ed elaborazione con lengt, concatenate string, string subset. I comandi dell'MS DOS Il comando cd, md, c:,cd.., dir; creare una cartella di nome esercizi con MS.DOS su c; creare un file *.doc e salvarlo nella cartella creata; L'utility DEBUG di Windows Il comando a 100, r, t, q, u, a, D e DB; Il debug, procedura di salvataggio di un file nome.com e procedura di richiamo. Esercizio: scrivere un programma con estensione *.com che esegua la somma e la differenza tra due numeri, salvarli e richiamarli dalla cartella creata. L'istruzione mul sorgente e DIV sorgente; caso di registri ad 8 bit e caso dei registri a 16 bit. Algoritmo della moltiplicazione e della divisione. Procedura di salvataggio di un file con estensione .com nella cartella esercizi. Istruzioni aritmetiche ADD , SUB, MUL, DIV, INC, DEC, Istruzioni di salto Jump e di trasferimento con [SI] e [DI]; Programmi al computer in assembler: Esercizi: creare un programma con il debug che faccia la somma tra due numeri e visualizzi il risultato nel registro AL. Data la seguente funzione 6+5+10-4 scrivere un programma in assembler che visualizzi il risultato nel registro AL. Significato dell'istruzione A100 e INT 3 nel programma. Scrivere un programma in assembler che risolva il seguente problema [5*(4+5)-2] e visualizzare il risultato nel registro AL e provarlo al computer. Trasferimento indiretto con i registri SI e DI; Esercizio: Trasferire 10 byte dall’indirizzo 330 all’indirizzo 310 attraverso un ciclo e l’utilizzo di jnz. Esercizio: Trasferire 10 numeri in due vettori, farne la somma, e trasferire la somma in un terzo vettore, con il software Debug. Utilizzo di SI,DI, BP, JNZ e comando D. Semplici sistemi di controllo 1) Sensore di luminosità, caratteristiche di funzionamento di fotoresistenza. Analisi di funzionamento fotoresistenza in serie ad una resistenza. Analisi di funzionamento di un sistema di controllo con fotoresistenza e BJT 2N2222 come controllo di un diodo led. Misure delle grandezze elettriche. 5 2) Sistema controllo interruttore crepuscolare con BJT in configurazione on-off con resitenza di base, relè, led e ventola. Misure sperimentali al buio ed alla luce. 3) Integrato NE555. Circuito interno: Comparatori; flip Flop SR, ecc... Analisi di funzionamento e pin-out dell'integrato NE555. Analisi di funzionamento nell'applicazione del sistema di controllo con fotoresistore, in particolare come interruttore crepuscolare con BJT e relè. Sistema di controllo per applicazioni generali con fotoresistore , BJT BC236, e CI NE555. Analisi di funzionamento e descrizione di montaggio su bread board. Applicazione come interruttore crepuscolare. 4) Sistema di controllo acustico - visivo di tre sottosistemi controllati per applicazioni generali e in particolare per auto, basato su applicazioni del CI NE 555. Montaggio su bread board, collaudo e ricerca guasti. 5) Sistema di controllo con attivazione a sfioramento e rete temporizzatrice di disattivazione. Sistema a sfioramento touch con sistema di disattivazione temporizzato con timer NE555, BJT e relè. Analisi di funzionamento, descrizione di montaggio e di collaudo. Distribuzione componenti, montaggio, collaudo e ricerca guasti. Misure tempi di disattivazione. Sperimentazione con sistemi controllati normalmente aperti e chiusi. 6) Analisi di funzionamento sistema di controllo livello liquidi di un serbatoio con spia lampeggiante e sistema acustico con NE555. Inizio montaggio su bread board. Continuazione montaggio e collaudo sistema ad attivazione touch temporizzato con NE555, BJT e relè. Ricerca guasti. Misure delle grandezze elettriche. Tempo di oscillazione visivo, misura della frequenza sonora e sperimentazione diverse oscillazioni. 7) Introduzione sistema di controllo temporizzato per la sicurezza: Antifurto con NE555, CI 4001 e BJT. Analisi di funzionamento. Descrizione per il montaggio su bread board e collaudo. Collaudo Antifurto. Misurazione tempi di attivazione/disattivazione. 8) Sistema di controllo della temperatura. Analisi circuitale e di funzionamento del sistema di controllo della temperatura con termistore NTC, BJT, CD4001 e buzzer. Gorgonzola 27 maggio 2014 Gli insegnanti Malizia Maria Rosa ……………………………………………………… Piccolo Sebastiano ……………………………………………………… Gli alunni ……………………………………………………. …………………………………………………...... 6