Sistemi Elettronici Definizioni e concetti generali
Concetti generali Il microcontrollore è un dispositivo che raggruppa su un unico chip un processore ed un insieme di dispositivi CPU Memoria RAM Memoria Eprom o EEPROM od OTP Porte I/O Timers e contatori Uart o porte di comunicazione seriale speciali ("Bus SPI","Bus I2C") Convertitori A/D Ha prestazioni più basse rispetto ai microprocessori general purpose In generale non necessita di RAM ulteriore oltre quella integrata, per cui sono disponibili numerosi PIN di I/O
A cosa servono?? Poichè presentano: Converitori A/D e D/A PWM Timer/contatori RTC PIN di ingresso/uscita Dispositivi di I/O (inter. seriali, etc) Sono adatti alla realizzazione di applicazioni di controllo, acquisizione/elaborazione dei segnali (altra possibile definizione come sistema di elaborazione delle informazioni) Tali applicazioni richiedevano design ad-hoc di componenti ed hardware dedicato Oggi è possibile realizzare tale applicazioni ricorrendo ad un unico tipo di microcontrollore, cambiando solo gli aspetti software In una BMW sono presenti più di 70 microcontrollori 68HC11(MOTOROLA)
Vantaggi delle periferiche su singolo chip Sono richiesti meno dispositivi discreti per la realizzazione di un sistema Il sistema riesce ad avere dimensioni ridotte Si abbassano i costi: I dispositivi ed il core costano qualche EURO Si abbassa il consumo di potenza: Device on chip hanno consumo minore di device esterne Si abbassa la sensibilità ad interferenze EM Sono disponibili più pin per l I/O utente (per acquisizione ad esempio) Il sistema nel complesso è più affidabile; sono interconnessi meno componenti
Ulteriori Vantaggi Sistema intelligente in grado di eseguire elaborazione complesse e di comunicare con altri disposivi. Riconvertibilità del progetto (riprogrammando il dispositivo); Protezione contro le copiature (la maggiore parte del singlechip offre la possibiltà di proteggere da lettura il programma contenuto nella ROM) ; Risparmio energetico (le versioni CMOS supportano il modo di funzionamento stand-by : è possibile bloccare, via software, l'attività della CPU e quindi ottenere correnti di alimentazione molto basse);
Caratteristiche architetturali richieste ad un microcontrollore
Esempi di Applicazioni Prodotti per l informazione personale: Telefoni cellulari, pager, orologi, registratori, calcolatrici Componenti Laptop : mouse, tastiere, modem, fax, schede sonore, caricatori di batterie Applicazioni Home serrature per porte, sistemi di allarme, termostati, condizionatori, telecomandi, VCR, frigoriferi, exercise equipment, lavatrici, forni a micro-onde giochi; automotive Settore industriale: Controllo di assi (posizione, velocità) Regolatori ON-OFF Regolatori PID
Caratteristiche generali Si distinguono per Set di istruzioni/architettura CISC/RISC (Complex Instructions Set Computer/ Reduced Instruction Set Computer) Numero e tipo di dispositivi di I/O Solitamente vengono forniti core da produttori di CPU, produttori di dispositivi arricchiscono il core con dispositivi proprietari di elaborazione dei segnali Frequenza di clock Numero di bit 4/8/16/32 Potenza di elaborazione/power comsuption Condizionata dalle grandezze precedenti
R ALU PC MEMORIA SREG CPU PERIFERICHE PERIFERICHE INTERFACCIAMENTO
CPU: Funzionamento Una CPU opera in questa maniera: E definita a priori una serie di operazioni che possono essere svolte ma non è definito un ordine con cui debbano essere eseguite E presente una memoria programma (memoria flash), in ogni locazione vi è un codice binario che definisce una operazione Nella CPU vi è un registro detto Program Counter (PC), all inizio il contenuto del PC viene preso come indirizzo di memoria. Viene letto ed interpretato il contenuto della cella di memoria, viene eseguita l operazione corrispondente e poi viene incrementato il contenuto del PC per passare all operazione successiva.
CPU-PROGRAM COUNTER-MEMORIA 16 CPU 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MEMORIA PROGRAMMA
Memoria programma Con 16 bit si possono codificare 2 16 =65536 operazioni diverse Sembrano molte ma, a titolo di esempio l istruzione Vai a prendere la cella 18 è differente dall istruzione Vai a prendere la cella 20 L operazione più semplice è quella di non fare nulla (ma è pur sempre una operazione), ed è identificata con il mnemonico NOP (NO Operation) Le altre operazioni sono operazioni matematiche, spostamento di dati da una parte all altra, spostamento di bit, somma, moltiplicazione (somma e spostamenti)