Il Microcontrollore. Microcontrollore PIC



Похожие документы
Dispensa di Informatica I.1

introduzione I MICROCONTROLLORI

Introduzione ai microcontrollori PIC

C. P. U. MEMORIA CENTRALE

Gerarchia delle memorie

I componenti di un Sistema di elaborazione. CPU (central process unit)

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Architettura hardware

LABORATORIO DI SISTEMI

Vari tipi di computer

Arduino UNO. Single board microcontroller

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Elettronica dei Sistemi Programmabili

Esame di INFORMATICA

Architettura di un calcolatore


Architettura del calcolatore

Struttura del calcolatore

8 Microcontrollori PIC

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Informatica - A.A. 2010/11

IL PLC 1/9. permanente, la memoria volatile e i pin di I/O, oltre ad eventuali altri blocchi specializzati.

PLC Programmable Logic Controller

Livello logico digitale. bus e memorie

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle misure con moduli multifunzione (DAQ)

Lezione 3: Architettura del calcolatore

RoboTESTER Wall-E, ATE a letto d aghi per Test In-Circuit e Funzionale. 1/6

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Corso PLC - Manuale Pratico 1

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

Hardware delle reti LAN

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Architettura dei computer

Laboratorio di Informatica

Il Sistema Operativo (1)

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

INTRODUZIONE ALL' INFORMATICA

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

L Unità Centrale di Elaborazione

CPU. Maurizio Palesi

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Concetti fondamentali della Tecnologia Dell informazione Parte prima

RETI E SISTEMI INFORMATIVI

La memoria centrale (RAM)

Ing. Paolo Domenici PREFAZIONE

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

COORDINAMENTO PER MATERIE SETTEMBRE 2014 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Corso di Sistemi di Elaborazione delle informazioni

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

EasyMACHINERY ERPGestionaleCRM. partner

Architettura dei calcolatori I parte Introduzione, CPU

Si compone di: SI-Prog supporta: Le tre principali famiglie di..

Indruduzione... 1 Il modulo Bluetooth HC Il firmware... 3 Collegamento della scheda... 4 Software PC e l applicazione Android...

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

Gestione della memoria centrale

IoBirro. Birra fatta in casa con SIMATIC. Siemens AG All Rights Reserved. Industry Sector

Il Personal Computer

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Laboratorio di Informatica

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como LOGICA DI CONTROLLO

Architettura del computer (C.Busso)

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Struttura del Calcolatore Corso di Abilità Informatiche Laurea in Fisica. prof. Corrado Santoro

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

PROGRAMMAZIONE DIDATTICA ANNUALE. SETTORE TECNOLOGICO Indirizzo: Elettrotecnica ed Elettronica

ARCHITETTURA DELL ELABORATORE

SISTEMI INFORMATIVI AZIENDALI

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Creare una nuova spedizione personalizzata.

Sommario. Introduzione 1

Canali e Core Banking

Esame di Stato Materia: SISTEMI AUTOMATICI PRIMA PARTE

Parte II.2 Elaboratore

minipic programmer / debugger per microcontrollori PIC Marco Calegari

Транскрипт:

Il Microcontrollore Per realizzare un automatismo l elettronica ci mette a disposizione diverse possibilità. La prima, la più tradizionale, si basa su componenti transistor, mosfet, integrati con porte logiche oppure integrati operazionali. Il progettista, sfruttando le prerogative di ogni componente, cercherà di collegarli tra loro fino ad ottenere il funzionamento richiesto. Questa si chiama in gergo ELETTRONICA CABLATA. La seconda fa uso di un personal computer dove è più facile creare l automatismo voluto simulandolo con opportuno software. Una opportuna scheda di interfaccia tra il PC e il mondo esterno si occuperà di fare arrivare gli impulsi e di mandare dei segnali in uscita per gestire l automatismo (accender luci, azionare motori ecc ) La terza, quella di cui ci occuperemo, è quella di fare uso di un microcontrollore. Il cuore della scheda Arduino è il microcontrollore. In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico integrato su singolo chip, nato come evoluzione alternativa al Microprocessore ed utilizzato generalmente in sistemi embedded ovvero per applicazioni specifiche di controllo digitale. Spesso il microcontrollore viene chiamato anche PIC che generalmente sta per "Programmable Interface Controller", il suo primo produttore la "General Instrument" usava l'acronimo per "Programmable Intelligent Computer". Microcontrollore PIC Il microcontrollore è progettato per interagire direttamente con il mondo esterno tramite un programma residente nella propria memoria interna e mediante l'uso di pin specializzati o configurabili dal programmatore. Sono disponibili in 3 fasce di capacità elaborativa (ampiezza del bus dati): 8 bit, 16 bit e 32 bit. In figura è visibile lo schema a blocchi tipico di un microcontrollore che ricordo è molto simile ad un personal computer (anche se con prestazioni molto più limitate), ma con la caratteristica di essere tutto su un unico chip. Il cuore del sistema è la CPU (control process unit) con architettura von Neumann (in verde sulla figura). Alla CPU è assegnato il compito di elaborare il programma ed eseguire i calcoli richiesti. I serbatoi della CPU sono i registri di memoria che sono di diversi tipi. Esistono poi una serie di circuiti ausiliari che consentono il funzionamento di tutto il sistema tipo generatori di clock, alimentazione ecc E una serie di circuiti che permettono alla CPU di comunicare con l esterno per dare o ricevere segnali. Tra questi: le porte (in rosso sulla figura) Figura 1 schema a blocchi del microcontrollore L'ampia gamma di funzioni di comando e controllo disponibili, sia analogiche che digitali, integrate sullo stesso chip, permette l'impiego delle MCU in sostituzione di schede elettroniche cablate tradizionali ben più complesse e costose.

Breve storia Il primo computer on-chip ottimizzato per applicazioni di controllo è stato il modello 8048 di Intel, rilasciato nel 1975, con memorie di tipo RAM e ROM sullo stesso chip. Questo componente è stato utilizzato in più di un miliardo di tastiere per PC e numerose altre applicazioni. Nota: memoria RAM = memoria scrivibile più volte (si cancella con comando elettrico) memoria ROM = memoria programmabile una volta sola memoria EPROM = memoria scrivibile più volte ma per cancellarla bisogna esporla sotto apposita lampada a luce ultravioletta

Nei primi anni di sviluppo del microcontrollore, la maggior parte dei modelli era commercializzata in due varianti. La più economica era dotata di memoria programmata in fabbrica (ROM) su specifiche del cliente oppure programmabile dall'utente una sola volta (OTP, One Time Programming). La seconda, più costosa, aveva la memoria di programma cancellabile EPROM mediante esposizione a luce ultravioletta del chip tramite la finestrella trasparente sul contenitore. La programmazione del firmware veniva fatta direttamente nel linguaggio macchina. Lo sviluppo della tecnologia CMOS e, successivamente, HCMOS, nella prima metà degli anni Ottanta, ha fornito un impulso decisivo alla diffusione dei microcontrollori, consentendo una notevole riduzione dei consumi e della dissipazione nei chip. Per molti anni Motorola è stata leader mondiale per i microcontrollori. Il suo 68HC11 si rivelò essere una pietra miliare, allorché fu presentato sul mercato nel 1985. Oltre a Ram e Rom, integrava convertitori A/D, porte di I/O,, timers multifunzione, ed altro ancora. Con un ciclo macchina di 333 nsec (3 MHz di clock), è in grado di eseguire mezzo milione di istruzioni al secondo, consumando qualche decina di ma. Il suo progetto si è dimostrato talmente innovativo, da essere ancora prodotto ed utilizzato, dopo più di un quarto di secolo. Nel 1993, Microchip ha introdotto il modello di MCU PIC16C84, caratterizzato da memoria programma in EEPROM, ovvero cancellabile elettricamente, che permetteva sia lo sviluppo veloce del prototipo del prodotto finito, sia la modifica del Firmware a circuito montato (In-System Programming). La semplificazione del contenitore, senza finestrella in quarzo, ha contribuito a ridurre il costo finale del componente. Nello stesso anno, Atmel ha rilasciato il primo MCU che utilizzava una memoria di tipo flash, ancora più semplice e veloce da programmare/modificare, più compatta e con un ciclo di vita (cancellazioni) molto più elevato. Di pari passo venivano sviluppate interfacce, che potevano essere controllate da applicazioni software su PC, che rendevano molto più semplice lo sviluppo di programmi in linguaggio ad alto livello (tipicamente il C), e di conseguenza meno costoso lo sviluppo del firmware. Tutto ciò ha ulteriormente incrementato l'utilizzo del microcontrollore nelle più disparate applicazioni. Differenze tra microprocessore e microcontrollore Come dicevamo prima la differenza sostanziale con il PC è che sul microcontrollore tutto è su un unico chip. Nel PC si potrebbe assimilare la CPU contenuta all interno del microcontrollore a quello che viene chiamato microprocessore del PC. Esistono cioè sul PC diversi componenti, ognuno specializzato su una funzione. Quando nell'aprile del 1972 Intel ha introdotto sul mercato il primo processore a 8 bit - lo 8008 - esso consisteva di una ALU (Arithmetic&Logical Unit, ALU) per svolgere operazioni logiche e matematiche e di una unità di elaborazione elementare (Control Processing Unit, CPU) per controllare il flusso di dati e indirizzi tra la ALU e i circuiti esterni di supporto. Successivamente, l'architettura interna del microprocessore (in seguito spesso chiamato semplicemente CPU) si è evoluta velocemente con lo sviluppo di blocchi interni via via più complessi (maggior numero di bit elaborati e movimentati) e con capacità e velocità di calcolo crescenti in modo esponenziale. Per quanto potente, il microprocessore integra sul chip solo la logica di elaborazione, mentre richiede sempre delle unità esterne - memorie, gestori di segnali e dispositivi periferici per poter scambiare informazioni e interagire con l'esterno. Il microcontrollore è invece un sistema completo, che integra in uno stesso chip il processore, la memoria permanente, la memoria volatile e i canali (pin) di I/O, oltre ad eventuali altri blocchi specializzati. Anche l'esecuzione dei programmi applicativi si appoggia su un'architettura hardware diversa da quella tipicamente usata per i microprocessori. Mentre questi ultimi, soprattutto quando usati per computer e personal computer, eseguono i programmi applicativi appoggiandosi a dispositivi di memoria di massa o a memoria volatile, per i microcontrollori il programma applicativo è tipicamente memorizzato su un dispositivo di memoria ROM (come per esempio una EPROM) ed è quindi in realtà un firmware.

In generale, essendo concepiti per applicazioni specifiche e per l'uso in condizioni ambientali particolari che impongono limitazioni sia in termini di consumi che in termini di dissipazione di potenza, i microcontrollori presentano caratteristiche meno spinte rispetto ai microprocessori ma risultano più economici. Tabella 1: confronto microprocessore vs. microcontrollore Caratteristica Microcontrollore Microprocessore Velocità massima di clock 200MHz 4GHz Potenza minima dissipata in Watt (in elaborazione) 0.001 50 Prezzo minimo per singola unità in euro 0.5 50 Numero di pezzi venduti annualmente (in milioni) 11,000 1,000 Quindi riassumendo: L'architettura del microcontrollore prevede un insieme di moduli fissi, comuni a tutti i modelli, e una serie di possibili estensioni in funzione del costruttore, del prezzo e della fascia applicativa: Unità di elaborazione: CPU Memoria di programma: ROM, EPROM, FLASH Memoria dati: RAM e EEPROM Oscillatore interno o esterno Porte di I/O configurabili A questi si aggiungono gli optional : Moduli aggiuntivi o Contatori e timer o Moduli di comunicazione: USART, I2C, SPI, USB, Ethernet, IrDA, CAN,Wi-Fi, Zigbee o Interfacce analogiche o a tecnologia mista: ADC, DAC, PWM, Comparatori analogici o Interfacce di visualizzazione e controllo: LCD, Touchsensor Nel caso della scheda Arduino alcuni optional sono presenti fuori dal microcontrollore; come ad esempio l interfaccia che ci permette di comunicare con il PC. Questa interfaccia USB funziona grazie ad un integrato inserito appositamente sulla scheda, che permette la comunicazione tra microcontrollore e PC. Applicazioni del microcontrollore L'enorme volume di pezzi prodotti deriva dall'impiego massiccio di questo componente nei dispositivi elettronici di consumo e nei prodotti industriali di massa. Al primo posto in classifica come segmento di mercato troviamo l auto, che utilizza decine di componenti per singola unità. Segue il segmento della telefonia mobile e delle telecomunicazioni in genere, quindi vengono i prodotti medicali e gli elettrodomestici. Spesso utilizziamo questi dispositivi senza rendercene conto, come per le smartcard delle carte di credito o per le cartoline musicali di auguri. I principali costruttori di microcontrollori sono: Motorola (USA) Renesas Technology (Giappone) FreescaleSemiconductor (USA) NEC (Giappone) Fujitsu (Giappone) Infineon Technologies (Germania)

Microchip Technology (USA) STMicroelectronics (Francia, Italia) Micron Technology (USA) Atmel (USA) NXP Semiconductors (Paesi Bassi) Arduino utilizza prodotti ATMEL Sistemi di sviluppo 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). L implementazione consiste nella stesura del programma in linguaggio Assembly o di alto livello (tipicamente il C), utilizzando un editor di testo generico o specifico per quel linguaggio. Una volta scritto, il programma deve essere assemblato, cioè tradotto nell effettivo codice macchina numerico (generalmente esadecimale). La conversione viene fatta da un Assemblatore specifico per processore, o famiglia di processori; il compilatore deve essere specifico per processore, o famiglia di processori. Per Arduino una volta finito di scrivere il programma sull apposito software, alla pressione del tasto up-load il programma stesso verrà tradotto in codice macchina eseguibile ed inviato alle memorie del microcontrollore. La fase di debug consiste nel far eseguire il software dal processore, in condizioni quanto più simili a quelle reali di funzionamento (emulazione), verificando (in tempo reale) che il suo comportamento ad ogni evento previsto sia conforme alle specifiche di progetto. Nel caso di errori o anomalie, il software viene corretto, un nuovo codice eseguibile generato e trasferito in memoria, per essere nuovamente verificato. Questo processo continua fino a che il programma non sia stato completamente collaudato. Successive fasi di validazione e verifica possono richiedere ulteriori interventi sul software da parte dello sviluppatore.