Estratto del documento

MISURE PER L’AUTOMAZIONE

Introduzione ai microcontrollori ................................................................................................ 3

Evoluzione e applicazioni ......................................................................................................................... 3

Cosa sono i PIC? ....................................................................................................................................... 4

Compilatore Assembler ............................................................................................................................ 6

Il PIC 16F84A ............................................................................................................................................ 6

IL PIC 16F877A ........................................................................................................................................11

FPGA (Field Programmable Gate Array) ..................................................................................... 13

Architettura di un FPGA ..........................................................................................................................14

Protocolli di Comunicazione Seriali ........................................................................................... 16

Trasmissioni ............................................................................................................................................16

Trasmissione Seriale ...............................................................................................................................17

Seriale RS422 ..........................................................................................................................................28

Seriale RS485 ..........................................................................................................................................29

Bus USB ..................................................................................................................................................30

Bus FireWire (IEEE 1394) .........................................................................................................................36

Bus Seriale I2C ........................................................................................................................................38

Bus Seriale SPI.........................................................................................................................................40

Circuiti di condizionamento ...................................................................................................... 42

Filtri ............................................................................................................................................. 44

Filtri Analogici .........................................................................................................................................44

Filtri Digitali ............................................................................................................................................45

Filtri ARMA .............................................................................................................................................46

CAN Bus ........................................................................................................................................ 51

Principi di Comunicazione .......................................................................................................................52

Il CAN Bus secondo il modello ISO/OSI: Physical Layer .............................................................................53

Il CAN Bus secondo il modello ISO/OSI: Data Link Layer ...........................................................................55

Programmare in linguaggio C .................................................................................................... 59

Tipi di dati ...............................................................................................................................................59

Codifiche binarie .....................................................................................................................................62

Esempio di programma ...........................................................................................................................62

Rappresentazione dei dati in memoria ..................................................................................... 64

Le basi di rappresentazione .....................................................................................................................64

Rappresentazione dei numeri interi in memoria ......................................................................................65

Rappresentazione dei numeri reali in memoria .......................................................................................66

Operazioni logiche ..................................................................................................................................66

Gestione dei numeri per un microcontrollore .......................................................................... 68

Sistemi di acquisizione dati ........................................................................................................ 71

Classificazione .........................................................................................................................................71

Campionamento .....................................................................................................................................72

Campionamento S/H ...............................................................................................................................74

Quantizzazione e codifica ........................................................................................................................75

Sistemi di acquisizione dati con più grandezze ........................................................................................76

Ingressi analogici .....................................................................................................................................78

Collegamenti con la sorgente del segnale ................................................................................................78

Acquisizione continua .............................................................................................................................80

Introduzione ai microcontrollori

Un microcontrollore, in elettronica digitale, è un dispositivo elettronico integrato su singolo circuito

elettronico, nato come evoluzione alternativa al microprocessore. Presenta diversi pin di ingresso e uscita,

attraverso i quali è possibile interagire con il mondo esterno. Ovviamente, il microcontrollore così com'è

stato realizzato non fa nulla, e pertanto è necessario programmarlo. Il principale impiego è rivolto ai sistemi

embedded, ovvero per tutte quelle applicazioni specifiche relativamente al controllo digitale. A differenza

dei microprocessori, che rappresentano il cuore puro di un computer progettati per applicazioni generali, il

microcontrollore vuole rivolgere la massima efficienza verso una particolare applicazione ottimizzando il

rapporto costo-prestazione.

Quando nell'aprile del 1972 Intel ha introdotto sul mercato il primo processore a 8 bit - lo 8008 - esso

consisteva di una ALU (Aritmetici & Logical Unit) per svolgere operazioni logiche e matematiche e di una

unità di elaborazione elementare (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 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. Le

funzioni e gli stati logici sono controllati direttamente dal programma inserito nel microcontrollore.

Esempio di microcontrollore con circuito.

È un microcontrollore a 2 porte: porta RA (di 5

pin) e porta RB (di 8 pin).

La frequenza scelta per questo microcontrollore

è di 4MHz.

MCLR è il reset del programma che permette il

riavvio.

Evoluzione e applicazioni

Nel corso degli anni i circuiti sono diventati più compatti, e quindi composti da meno componenti, e sono

diventati sempre più performanti. Questo è stato possibile per una serie di motivi: i componenti sono

diventati sempre più piccoli e quindi è stato possibile sviluppare circuiti di dimensioni minori; aumento del

numero di funzioni; l’evoluzione dei componenti che, per la loro flessibilità e facilità di impiego, hanno

avuto il sopravvento nel mercato dell’elettronica.

I microcontrollori sono presenti in molti degli oggetti che utilizziamo quotidianamente. L’automobile ha un

microcontrollore per ogni sua centralina: l’apertura o la chiusura di ogni finestrino è regolata da una

specifica centralina con il rispettivo microcontrollore, così come l’airbag, l’Abs e il controllo temperatura

dell’abitacolo. La SIM del cellulare ha un proprio microcontrollore: quando salviamo un numero inviamo

un’informazione al microcontrollore che salverà il contatto nella memoria della SIM, quando chiamiamo

qualcuno preleviamo un’informazione contenuta nella memoria della SIM tramite il microcontrollore. Nei

lettori MP3 un microcontrollore legge la memoria dove è memorizzata la traccia che vogliamo ascoltare,

esegue un algoritmo di decodifica con lo standard MP3 per poi dare l’informazione in uscita su un

convertitore D/A (ad una cassa o cuffia). Nelle centraline degli allarmi ci sono i microcontrollori che leggono

gli stati dei sensori ad infrarossi, dei sensori magnetici e altri. Nelle centraline dei cancelli automatici il

microcontrollore invia l’informazione di apertura e chiusura del cancello.

Cosa sono i PIC?

PIC è una famiglia di circuiti integrati a semiconduttore con funzioni di microcontrollore prodotto dalla

Microchip Technology. Il termine PIC non è usato come un acronimo: il suo nome aziendale è "PICmicro".

Anche se generalmente sta per "Programmable Interface Controller", il suo primo produttore (la "General

Instrument") usava l'acronimo per "Programmable Intelligent Computer".

I PICmicro (in questo caso un PIC16F84A) si presentano esternamente come dei

normali circuiti integrati TTL (Transistor-transistor logic) o CMOS, ma internamente

dispongono di tutti dispositivi tipici di un sistema a microprocessore.

Ci sono vari modelli di PIC, si differenziano per numero di linee di I/O e per dotazione di dispositivi. Ci sono

modelli piccoli (sigla PI12C5xx a 8 pin, chiamati anche famiglia a 12), modelli grandi )sigla PIC18Cxx dotati di

40 e più pin, chiamati anche famiglia a 18).

L’architettura interna di un PIC è la seguente:

 Una CPU, carica le istruzioni dei programmi in memoria, le interpreta e manipola i dati di conseguenza;

 Una memoria FLASH (l’equivalente di un hard disk);

 Una memoria RAM, che ha una larghezza di 8 bit e una profondità che varia da pochi byte (25 nei

PIC16C5x) fino a qualche kilobyte;

 Una PROGRAM MEMORY (memoria di programma), è una memoria speciale di tipo FLASH, non

cancellabile elettricamente, ed utilizzata per tenere memorizzato il programma da eseguire. La sua

larghezza varia da 12 bit (ad esempio, nel PIC16C54) a 14 bit (ad esempio, nel PIC16F628) a 16 bit (ad

esempio, nel PIC18F4520). La sua profondità varia da 512 byte a 128 kibibyte (KiB).

 Il REGISTER FILE, è un insieme di locazioni di memoria RAM, ovvero memorie con cui è possibile leggere e

modificare il contenuto senza l’ausilio di programmatori esterni e direttamente dal programma in

esecuzione sul PIC.

 L’ALU (unità aritmetico logica) è la componente più complessa del PIC in quanto contiene tutta la

circuiteria delegata a svolgere le funzioni di calcolo e manipolazione dei dati durante l’esecuzione di un

programma.

 L’ACCUMULATORE o REGISTRO W, una semplice locazione di memoria in grado di contenere un solo

valore a 8 bit.

 Il PROGRAM COUNTER, il registro della CPU la cui funzione è quella di conservare l'indirizzo di memoria

della prossima istruzione da eseguire.

 Una serie di LINEE DI I/O, ovvero linee di ingresso e di uscita per pilotare dispositivi esterni o ricevere

impulsi da sensori, pulsanti, ecc. La presenza di periferiche a bordo del chip è uno delle differenze

principali tra un microprocessore ed un microcontrollore. Nei PIC si parte da dei semplici I/O digitali per

arrivare a funzioni complesse passando attraverso una notevole varietà di altre funzioni.

 Un TIMER. Su tutte le versioni è implementato almeno un temporizzatore da 8 bit. Si arriva fino a 5

temporizzatori con larghezze a 8 o 16 bit. Su tutte è inoltre implementato un temporizzatore speciale

chiamato WDT (Watch Dog Timer), che serve (se utilizzato) a far ripartire il microcontrollore in caso di

blocco del programma. Il timer funziona in base alla frequenza di lavoro del PIC e/o può utilizzarne,

tramite un apposito piedino, una diversa da quella di lavoro tramite un oscillatore esterno. Ad ogni timer,

inoltre, può essere associato un divisore di frequenza integrato chiamato PRESCALER, che divide la

frequenza di lavoro di: 2, 4, 8, 16, 32, 64, 128, 256 volte.

 Può contenere dispositivi ausiliari quali generatori di clock, bus dedicati, contatori, convertitori A/D ecc.

Come detto in precedenza, anche per il PIC è necessario preparare un programma per farlo funzionare. I

linguaggi di programmazione utilizzato può essere Assembler (linguaggio a basso livello) che permette una

compilazione immediata del codice considerando che è una traduzione uno ad uno, C (linguaggio ad alto

livello), C++, Visual basic, ecc. Per scrivere un programma per un PIC bisogna conoscere bene come è fatto

al suo interno; per fare ciò bisogna studiare il manuale del microcontrollore.

Lo stesso microcontrollore può essere presente in più package.

1. Package PDIP 2. Package SOIC 3. Package SSOP

Nella figura 1 troviamo il Package PDIP (Dual In-line Package). È di forma rettangolare, con due file parallele

di piedini (o pin) disposti sui lati maggiori e piegati in modo da essere quasi perpendicolari alla superficie

del rettangolo. I piedini attraversano dei fori per andare da un lato all’altro.

Nella figura 2 abbiamo il Package SOIC (Small outline integrated circuit). Non presentano i fori per il

passaggio dei piedino e la saldatura si fa dallo stesso lato dove è posto il piedino.

Nella figura 3 è rappresentato il Package SSOP (Shrink small-outline package). È simile al package SOIC a

con dimensioni ancora minori.

Nel manuale del microcontrollore è possibile trovare la descrizione dei pin per ogni package disponibile. È

importante sapere la posizione e il numero di un determinato pin quando lavora con una scheda.

Compilatore Assembler

Si scrive il programma in Assembler, si compila il programma per il PIC scelto e si carica il file eseguibile sul

PIC con un dispositivo chiamato programmatore. Durante la compilazione, il compilatore genera una serie

di file con il nome identico al source da cui derivano, ma con estensione diversa.

.HEX è il file contenete gli opcode da inserire nella memoria programma del PIC. Un opcode (operation

code, codice operativo) è una porzione d'istruzione in linguaggio macchina che specifica l'operazione che

deve essere eseguita. Il file .HEX non è in formato binario ma un file codificato in un formato inventato dalla

Intel per la descrizione dei file binari in formato ASCII. Tale formato è direttamente riconoscibile da

qualsiasi programmatore di PIC il quale provvederà a leggere da questo formato gli opcode ed a trasferirli

nella memoria del PIC.

.LST è un file di testo in cui viene riportato l'intero source Assembler e la corrispondente traduzione in

opcode.

.ERR contiene la lista degli errori di compilazione riscontrati ed il numero di linea all'interno del source

Assembler in cui sono stati rilevati.

I file .LST e .ERR vengono utilizzati per il controllo di quanto effettuato in compilazione. Solo il file .HEX

viene utilizzato realmente per programmare il PIC.

Il PIC 16F84A

Il PIC 16F84A dispone di un set di 35 istruzioni elementari (RISC), e ogni istruzione occupa una sola

locazione della memoria programma. Quasi tutte le istruzioni vengono eseguite in 4 cicli di clock, un PIC

cloccato a 4Mhz è perciò in grado di eseguire 1 milione di istruzioni al secondo e ogni istruzione dura 1µS.

Le istruzioni di branch (salto) possono richiedere 8 cicli di clock anziché 4. Nella terminologia Microchip un

gruppo di 4 cicli di clock è detto "ciclo", per cui le istruzioni vengono eseguite in uno o due cicli.

La frequenza massima di clock è di 20MHZ, per frequenze superiori non funzionerà correttamente.

La memoria FLASH per le istruzioni è da 1 K (1024 istruzioni) programmabile con l'ausilio di un computer

esterno. Questa memoria supporta fino ad un massimo di 1000 cicli di cancellazione/scrittura.

Ha memoria RAM dei dati da 90 bytes, dei quali 22 utilizzati per i registri interni di sistema (SFR = Special

Function Registers) e i restanti 68 come registri utente liberi (GPR = General Purpose Register).

Ha una memoria EEPROM (memoria non volatile) interna da 64 bytes, che può essere programmata via

software dal PIC stesso e sopporta fino ad un massimo di 1 milione di cicli di cancellazione/scrittura. Tale

memoria non può essere utilizzata come RAM aggiuntiva per via della sua lentezza (20 ms in scrittura) e per

via dell�

Anteprima
Vedrai una selezione di 17 pagine su 80
Teoria di misure per l'automazione Pag. 1 Teoria di misure per l'automazione Pag. 2
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 6
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 11
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 16
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 21
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 26
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 31
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 36
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 41
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 46
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 51
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 56
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 61
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 66
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 71
Anteprima di 17 pagg. su 80.
Scarica il documento per vederlo tutto.
Teoria di misure per l'automazione Pag. 76
1 su 80
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/04 Automatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Francescoprisco di informazioni apprese con la frequenza delle lezioni di Misure per l'automazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Salerno o del prof Paciello Vincenzo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community