Introduzione ai microcontrollori



Documenti analoghi
Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Memorie ROM (Read Only Memory)

Cap. 3 Reti combinatorie: analisi e sintesi operatori logici e porte logiche

Calcolatori: Algebra Booleana e Reti Logiche

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Reti sequenziali sincrone

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

Macchine sequenziali

Laurea Specialistica in Informatica

Modulo 8. Elettronica Digitale. Contenuti: Obiettivi:

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

ISTITUTO ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

I.I.S. Primo Levi Badia Polesine A.S

Algebra di Boole ed Elementi di Logica

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

Operatori logici e porte logiche

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Comparatori. Comparatori di uguaglianza

ALGEBRA DELLE PROPOSIZIONI

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Verifica di Sistemi. 2. Il latch SR a porte NOR non accetta la condizione: a. S=0, R=0 b. S=1, R=1 c. S=0, R=1 d. S=1, R=0

Circuiti sequenziali e elementi di memoria

Programmazione modulare a.s

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Macchine combinatorie

Esercitazione di Calcolatori Elettronici Ing. Battista Biggio. Corso di Laurea in Ingegneria Elettronica. Esercitazione 1 (Capitolo 2) Reti Logiche

CONTATORI ASINCRONI. Fig. 1

x y z F x y z F F = x z + y z + yz + xyz G = wyz + vw z + vwy + vwz + v w y z Sommario

Logica binaria. Porte logiche.

Informatica. Rappresentazione dei numeri Numerazione binaria

Sintesi Combinatoria Uso di componenti diversi dagli operatori elementari. Mariagiovanna Sami Corso di reti Logiche 8 Anno

Architettura hardware

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Macchine sequenziali sincrone. Macchine sincrone

2AE 2BE [Stesura a.s. 2014/15]

Classe III specializzazione elettronica. Elettrotecnica e elettronica

Flip-flop Macchine sequenziali

Calcolatori Elettronici B a.a. 2006/2007

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Le Mappe di Karnaugh.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Reti logiche e componenti di un elaboratore

Circuiti amplificatori

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

Logica e codifica binaria dell informazione

Testi di Esercizi e Quesiti 1

Corso di Laurea in Informatica Architetture degli Elaboratori

Sistemi di Numerazione

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Informatica Generale (Prof. Luca A. Ludovico) Presentazione 5.1 Operazioni aritmetiche nel sistema binario

Algebra di Boole e reti logiche. Giovedì 8 ottobre 2015

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 2.

SISTEMI DI NUMERAZIONE E CODICI

ESERCITAZIONI PRATICHE: Ø Creazione di un decoder BCD/DEC con porte logiche. Ø Esercitazione con decoder 4511 e display 7 segmenti.

Lezione 7 Sommatori e Moltiplicatori

Variabili logiche e circuiti combinatori

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Laboratorio di Informatica

4 3 4 = 4 x x x 10 0 aaa

APPUNTI DI ELETTRONICA DIGITALE

FSM: Macchine a Stati Finiti

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

Alessandro Pellegrini

Architettura di un calcolatore

ISTITUTO PROFESSIONALE PER L'INDUSTRIA E L ARTIGIANATO ALESSANDRO VOLTA GUSPINI. PROGRAMMA DIDATTICO con riferimento al programma ministeriale

Algoritmi e strutture dati. Codici di Huffman

Esame di INFORMATICA

Alcune nozioni di base di Logica Matematica

Sintesi di Reti Sequenziali Sincrone

Algoritmi e diagrammi di flusso

Algebra Booleana ed Espressioni Booleane

Macchine combinatorie: encoder/decoder e multiplexer/demultiplexer

la scienza della rappresentazione e della elaborazione dell informazione

Corso di Calcolo Numerico

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Architettura del calcolatore

introduzione I MICROCONTROLLORI

Informazione analogica e digitale

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

Codifica binaria dei numeri relativi

Variabili e tipi di dato

ENCODER. Fig. 1. attivi C B A. APPUNTI DI ELETTRONICA ENCODER DECODER rel. 01/06 Prof. Domenico Di Stefano pag. 19

PROGRAMMAZIONE MODULARE

Algebra booleana e circuiti logici. a cura di: Salvatore Orlando

Rappresentazione dei numeri in un calcolatore

Esercitazione Informatica I AA Nicola Paoletti

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Dimensione di uno Spazio vettoriale

LABORATORIO DI SISTEMI

I CONTATORI SINCRONI

Dispensa di Informatica I.1

Transcript:

Introduzione ai microcontrollori L elettronica digitale nasce nel 1946 con il primo calcolatore elettronico digitale denominato ENIAC e composto esclusivamente di circuiti a valvole, anche se negli anni prima alcuni ricercatori avevamo proposto dei dispositivi di calcolo semplificati. Alla base dell elettronica digitale vi sono due concetti fondamentali: Algebra binaria, dove tutte le informazioni vengono codificate in sequenze di cifre a due valori (0,1); La quantificazione dei valori di tensione elettrici in fasce; L'algebra binaria si basa sulle seguenti operazioni fondamentali: AND OR NOT 0 0 = 0 A 0 = 0 1 0 = 0 A 1 = A 0 1 = 0 A A = A 1 1 = 1 A A' = 0 0+0 = 0 A+0 = A 1+0 = 1 A+1 = 1 0+1 = 1 A+A = A 1+1 = 1 A+A' = 1 0' = 1 A'' = A 1' = 0 Proprieta Associativa, Distributiva, Commutativa e leggi di De Morgan (A B) C = A (B C) = A B C (A+B)+C = A+(B+C) = A+B+C A (B+C) = (A B) + (A C) A+(B C) = (A+B) (A+C) A B = B A A+B = B+A (A B)' = A' + B' (A+B)' = A' B' TTL e` un acronimo che sta per transistor transistor logic rappresenta una classe implementativa di logica digitale basata su transistori. Tutti i circuiti standardizzati TTL operano con una alimentazione di 5V. Un segnale di ingresso viene definito basso (levello logico 0) se la sua tensione e' compresa tra 0 e 0.8 volt, e viene definito alto (Livello logico 1) se la sua tensione e' compresa tra 2.2 e 5V (le tensionoi accurate possono variare a seconda della famiglia specifica). Vi sono innumerevoli vantaggi nell impiegare sistemi di calcolo basati su elettronica digitale ed in particolare: Robustezza alla presenza di segnali di disturbo, grazie in particolare alla banda di separazione tra i valori logici.

Facilita di implementazione di funzioni logiche Possibilita di realizzare memorie anche complesse (temporanee e permanenti) tramite l uso di elementi che mantengono il proprio stato fisico (bistabili o multistabili) I circuiti digitali si dividono in due fondamentali categorie: logiche combinatorie in cui il valore dell'uscita dipende soltanto dai valori dai bit applicati in ingresso; Le logiche sequenziali in cui il valore dell'uscita dipende sia dal valore dei bit in ingresso che da uno stato interno del sistema. Le logiche combinatorie Una rete combinatoria e quindi in grado in via di principio di realizzare alcune funzioni digitali i cui risultati siano algebricamente dipendenti dagli ingressi. Il teorema di Shannon ci consente tuttavia di affermare che qualisiasi funzione algebrica (binaria) e sempre rappresentabile tramite una somma di prodotti degli ingressi o degli stessi negati. La risposta, abbastanza intuitiva si puo verificare con un esempio: I2 I1 I0 Y 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Consideriamo la funzione descritta in tabella, dove l uscita viene descritta da un solo bit (Y) e l ingresso da 3 bit (I2, I1 e I0). Ovviamente in prima istanza possiamo scrivere che l uscita è pari alla somma di tutti i prodotti per cui la Y==1. Applicando quindi le leggi di DeMorgan possiamo ridurre il numero di somme-prodotti necessari sommando insieme tutti i prodotti affini che si differenziano per un termine solo (includendo quindi sia il termine che il suo negato). Reiterando la procedura si arriva a determinare la seguente forma minimale: Y = I1 + I0 + /I2/I1/I0

Esistono diverse categorie di componenti logici combinatori(famiglia 74XXYY). Alcuni trai i piu comuni sono: encoder e decoder, multiplexer e demultiplexer in grado di convertire un segnale con indice i un numero binario e viceversa. Come vedremo questi dispositivi risulteranno particolarmente utili nella selezione di segnali e come maschere. A B S Y ------+-- 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Sommatori: sono elementi strutturali anche abbastanza complessi che consentono di effettuare la somma di due numeri a un numero di cifre arbitrario ma predefinito. I sommatori si compongono in via ricorsiva tramite l impiego di sommatori piu elementari ad un bito soltanto. Questi ultimi si distinuguono in FULL Adder o Half ADDER a seconda del fatto che contino una cifra di riporto precedente o meno.

Un insieme di reti combinatorie atte ad implementare in funzione di un comando specifico un set funzione algebriche anche complesse e detto ALU (Arithmetic Logic Unit) e risulta una parte essenziale di qualsiasi struttura di calcolo digitale. Se la unita logica aritmetica mette a disposizione anche capacita di calcolo in virgola mobile viene denominata FPU (Floating Point Unit). Come vedremo tra breve in quasi tutti i microcontrollori le operazioni vengono effettuate tra memorie digitali indirizzabili direttamente tramite un set di istruzioni. Tali memorie sono dette registri. Ogni qual volta sara necessario per lo sviluppo di un algoritmo ricorrere alla alu bisognera: Codificare numeri, variabili ed altro in una equivalente rappresentazione difitale (IEEE) Decomporre l algoritmo in operazioni elementari supportate dalla ALU Programmare in codice macchina la sequenza di istruzioni che prende i dati dai registri, li inoltra alla ALU, informandala della particolare istruzione da eseguire (somma differenza, shift, prodotto o altro)

Rimemorizzare i risultati cosi ottenuti in registri Controllare i flag della operazione per verificare l assenza di condizioni di eccezione che richiedano la nostra attenzione. Tipicamente queste operazioni venivano svolte manualmente dai programmatori di microcontrollori e lo sono tuttora qualora siano richieste una sequenza di prestazioni ed un controllo sul flusso di programma tale per cui sarebbe assurdo l impiego di altri strumenti di sviluppo. In tutti gli altri casi, come e ormai prassi, ci si potra affidare al compilatore C e ai programmi di rapid prototyping. Alcuni esempi

Le logiche Sequenziali Le reti sequenziali sono invece piu adatte a rappresentare il comportamento di un sistema tempodiscreto o di una macchina. Tra le reti sequenziali più elementari di tutti ritroviamo i sistemi bistabili, logiche il cui stato interno può assumere solamente due valori: 0 e 1. Il più semplice dispositivo di memoria è il flip-flop Set- Reset. Esso possiede due ingressi denominati Set e Reset ed due uscite indicata con Q e /Q in quanto la seconda risulta essre la negazione della prima. In figura sono stati rappresentati gli elementi caratteristici di un flip flop set reset, ovver: il suo simbolo circuitale, la tabella di verità che rappresenta l evoluzione del sistema in base agli ingressi ed allo stato precedente Q0, e la sua realizzazione circuitale a porte NOR. A patto di invertire gli ingressi (/S, /R) una rappresentazione esattamente equivalente può esssere implementata con porte NAND. Analisi del funzionamento: La combinazione 00 ha due stati stabili, si verifica sostituendo i NOR con due NOT in quanto S e R non sono significativi per l evoluzione. Lo stato assunto prima di andare in 00 risulta pertanto lo stato mantenuto dal sistema (in quanto stabile). Le soluzioni 01 e 10 forzano le uscite a 10 o 01, in quanto una delle uscite delle due porte è fissa e conosciuta a causa dell,ingresso diverio sa 0. La combinazione 11 non è accettabile in ingresso (anche se finché mantenuta porta in uscita i valori 00). I flip flop JK sono simili ai flip flop SR nel senso che JK hanno funzionamento analogo a set e reset, ma con due differenze fondamentali, un terzo ingresso CLOCK di validazione fa si che i valori che regolano il funzionamento (evoluzione) del dispositivo sono quelli di JK nei fronti in salita di CK. Inoltre in questa versione JK=11 è un ingresso valido e comporta l inversione dell uscita.

In figura il simbolo circuitale e la tabella di verità relativa. La sintesi dei FF JK è alquanto più complessa dei FF SR in quanto per coordinare le azioni esattamente con i fronti dell ingresso CK e non con il suo valore è necessario che il dispositivo disponga di uno stato ausiliario in più. Un semplice diagramma degli stati di un FF JK è rappresentato in figura: Un D-Latch è un flip flop SR con un ingresso di abilitazione ed una porta not. Il suo compito è quello di portare in un uscita il segnale D di ingresso solo quando la porta C ha valore logico uno.

Il rilevamento degli impulsi può essere effettuato con una rete di ritardo calibrata come mostrato in figura. In questo caso l'uscita permane a uno fintantoché l'ingresso non supera le tre porte not.

Combinando questa soluzione con un D-Latch visto in precedenza si ha un sistema stabile per memorizzare segnali durante la presenza di fronti in salita di un segnale esterno (clock). Una soluzione integrata ed alternativa per la realizzazione di un registro prevede un doppio flip flop set reset con un not che abilita/disabilita alternativamente una delle due parti. Implementazione alternativa: