CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare – VESPA Università di Milano CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI Microcontrollori TIE per le Produzioni Animali Massimo Lazzari Scienze veterinarie per la salute, la produzione animale e la sicurezza alimentare – VESPA Università di Milano MICROCONTROLLORI SONO DELLE MACCHINE DI CALCOLO DEFINIZIONE Dicesi PROCESSORE una tipologia di dispositivo hardware dedicato all'esecuzione di istruzioni. DEFINIZIONE Dicesi MICRO-PROCESSORE una tipologia di processore la cui struttura hardware è interamente contenuta in un circuito integrato. OSSERVAZIONE Un MICRO-CONTROLLORE contiene un (micro-)processore con un set di istruzioni ridotto ed alcune periferiche dedicate. PROCESSORI (CPU) m-PROCESSORI (MPU) m-CONTROLLORI (MCU) DIFFERENZA DI ARCHITETTURA CON IN NORMALI PC Periferiche fuori CPU dentro Tutto dentro QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E MICROCONTROLLORE? MICRPOCESSORE: • “cuore” di un computer, fisso o portatile che sia. • unico chip che ha bisogno di numerose integrazioni esterne aggiuntive per poter funzionare, tra le quali la memoria, un oscillatore di clock, periferiche di ingresso e uscita; • è utilizzato su quasi tutti i computer e i dispositivi digitali come telefoni cellulari e scanner. MICROCONTROLLORE: • riunisce tutti gli elementi all'interno di un unico piccolo contenitore, e in teoria non ha bisogno di altri componenti esterni per poter funzionare. • tutto in un unico chip, compresa la memoria per il programma, la memoria RAM, l'oscillatore di clock, il circuito di reset e le periferiche. • le capacità di calcolo di un microcontrollore sono estremamente ridotte. Ad esempio la memoria RAM è formata da qualche centinaio di celle, e di solito non è espandibile. • I microcontrollori sono progettati per eseguire un piccolo insieme di funzioni specifiche, IN PARTICA I MICROCONTROLLORI SONO DEI VERI E PROPRI MINICOMPUTER QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E MICROCONTROLLORE? QUALI SONO LE DIFFERENZE TRA MICROPROCESSORE E MICROCONTROLLORE? Microcontrollore: • chip e viene utilizzato generalmente in sistemi cosiddetti “embedded”, cioè per applicazioni specifiche di controllo digitale. • interagisce direttamente con il mondo esterno tramite un programma residente nella propria memoria interna e mediante l'uso di pin specializzati o configurabili dal programmatore. • è disponibile in tre fasce di capacità elaborativa: 8 bit, 16 bit e 32 bit. • l'esecuzione delle applicazioni si basa su un'architettura hardware diversa da quella che utilizzano i microprocessori. Mentre questi ultimi eseguono i programmi applicativi sfruttando dispositivi di memoria di massa o a memoria volatile, i microcontrollori eseguono il programma applicativo detto FIRMWARE che è solitamente memorizzato su un dispositivo di memoria ROM. RISOLVONO PROBLEMI TIPO: ACCENDERE PER TRE VOLTE IL FARETTO PER SEGNALARE UN ALLARME SCHIACCIO 3 VOLTE L’INTERRUTTORE PROGRAMMO IL MICROCONTROLLORE E SCHIACCIO 1 VOLTA L’INTERRUTTORE INTEGRAZIONE IN SISTEMI EMBEDDED PER FAR CIO’ VENGONO POI INTEGRATI IN SCHEDE ELETTRONICHE PIU’ O MENO COMPLESSE. SI COMPERA IL MICROCONTROLLER PER REALIZZARE L’EMEBEDDED SYSTEM SONO MOLTO PIU’ DIFFUSI DEI CALCOLATORI !!!!! MICROCONTROLLORI STRUTTURA Il microcontrollore è un dispositivo che raggruppa su un unico chip le funzionalità di un processore (cpu) ed un insieme di dispositivi/periferiche. MICROCONTROLLORI CAMPO DI APPLICAZIONE Poiché presentano moduli hardware integrati come: • Converitori Analoci-Digitali e Digitali-Analogici (ADC e DAC) • Pulse Width Modulation (PWM) • Timer, Contatori e Real Time Clock (RTC) • PIN di ingresso/uscita (I/O) • Dispositivi di rete: • Bus SPI - Serial Peripheral Interface • Bus I2C - Inter Integrated Circuit • CAN Bus - Controller Area Network • UART - Universal Asynchronous Receiver-Transmitter Sono adatti alla realizzazione di applicazioni • di controllo e di coordinamento; • di acquisizione ed elaborazione dei segnali (Digital Signal Processor - DSP). MICROCONTROLLORI REQUISITI Un microcontrollore è chiamato in generale a rispondere ai seguenti requisiti. Requisito Caratteristica Beneficio Gestione ingressi / uscite Porte di I/O con controllo fino al singolo bit Controllo efficiente di dispositivi esterni quali attuatori, teleruttori etc. Comunicazione Periferiche Porta seriale, SPI, I2C, UART, CAN, etc. Estensione delle funzionalità con l’uso di periferiche esterne Controllo di motori ed attuatori Timer, Contatori, PWM Facilità di programmazione Gestione di programmi logico sequenziali Salti condizionati, istruzioni logiche, etc. Facilità di realizzazione del software logico-sequenziale Reazione ad eventi Gestione degli IRQ prioritari Facilità nella realizzazione di sistemi Real Time Acquisizione dati da sensori ADC Facilità di istallazione in ambienti pre-esistenti MICROCONTROLLORI SETTORI DI APPLICAZIONE Consumer Electronics Telefoni cellulari, tablet, orologi, registratori, calcolatrici, mouse, tastiere, modem, fax, schede sonore, caricatori di batterie Building Automation serrature per porte, sistemi di allarme, termostati, condizionatori, telecomandi, VCR, frigoriferi, exercise equipment, lavatrici, forni a micro-onde, consolle, inverter fotovoltaici Automotive Centraline elettroniche, ABS, navigatore satellitale, entertainment, etc. Settore industriale Controllo di assi (posizione, velocità), Regolatori ON-OFF, Regolatori PID, etc. MICROCONTROLLORI MARKET SHARE FONTE MICROCONTROLLORI VANTAGGI RISPETTO AI PROCESSORI GENERAL PURPOSE 1. I microcontrollori sono derivati dai microprocessori, mantenendone le caratteristiche peculiari, ma con un set di istruzioni ridotto. 2. I microcontrollori permetto un utilizzo più semplice e specifico nelle applicazioni industriali dove molte istruzioni dei microprocessori non vengono utilizzate. 3. I microcontrollori hanno subito grandi evoluzioni tanto da diventare anche più potenti dei microprocessori, mantenendo un costo minore o uguale e un utilizzo più rapido ed intuitivo. 4. La velocità di esecuzione delle operazioni dei microcontrollori è nettamente maggiore rispetto ai microprocessori. MICROCONTROLLORI VANTAGGI RISPETTO AI CONTROLLORI DEDICATI 1. A differenza dei controllori dedicati, eseguono istruzioni pertanto: – Possono eseguire elaborazioni complesse; – Possono comunicare con altri dispositivi; – Possono essere ri-programmati; 2. Come i controllori dedicati garantiscono protezione contro le copiature – la maggiore parte del single-chip offre la possibiltà di proteggere da lettura il programma contenuto nella ROM; 3. A differenza dei controllori dedicati, hanno funzioni avanzate di risparmio energetico – le versioni CMOS supportano il modo di funzionamento stand-by: è possibile bloccare, via software, attività della CPU e quindi ottenere correnti di alimentazione molto basse; MICROCONTROLLORI MARKET SIZE FONTE SISTEMA DI SVILUPPO DEL SOFTWARE OSSERVAZIONE Ogni microcontrollore esegue un set di istruzioni (codice macchina) definito dall’utente. È pertanto necessario utilizzare opportuni sistemi di sviluppo per caricare il software nei microcontrollori. DEFINIZIONE Per SISTEMA DI SVILUPPO s’intende l’insieme di strumenti (kit) software e hardware necessari alla generazione del codice macchina che deve essere eseguito dal processore (implementazione del software), al suo collaudo e messa a punto (debug). (E)EPROM / FLASH SDK