CORSO DI FORMAZIONE
IPSIA CASTIGLIANO
AS 2010/11
INTRODUZIONE E GENERALITA’
I MICROCONTROLLORI e
ARDUINO
DOCENTE: Prof. Francesco Contalbi
prof. Francesco Contalbi
Testi di alcune “2° Prove” agli
Perché i Microcontrollori ?




Sono usatissimi nell’ Industria e occorre formare gli
studenti alla realtà che troveranno nel lavoro
Si possono realizzare esercitazioni SIGNIFICATIVE
che altrimenti richiederebbero troppi componenti,
troppo tempo, troppa complessità realizzativa
Con essi si insegna la programmazione, e quindi si
sviluppano capacità logiche e il pensiero Algoritmico
degli allievi
COMPAIONO SEMPRE nei temi di Sistemi agli
esami di Stato
prof. Francesco Contalbi
prof Francesco Contalbi - IPSIA
Castigliano - Asti
2
3
ultimi Esami di Stato
(visualizza)
prof. Francesco Contalbi
4
1
Tipologie dell’Elettronica Digitale
(e non solo digitale…)




Logica Cablata
Logica Microprogrammata
Logica Custom
Logica Programmata
La funzione logica viene realizzata dai collegamenti
(cablaggio) tra le diverse porte (che si trovano
negli IC) che costituiscono il circuito
Per cambiare la funzione occorre cambiare il
cablaggio… di fatto occorre riprogettare il Circuito
Stampato e ricostruire il circuito.
Il circuito è molto complesso, occupa molto spazio
sul Circuito Stampato ma per contro la velocità è
molto elevata, la più elevata possibile !!!
Oggigiorno solamente le ultime due trovano
riscontro nel mondo del lavoro: sono lo stato
dell’arte dell’Elettronica Digitale
prof. Francesco Contalbi
5
Logica Microprogrammata
6
Fa uso di appositi IC, chiamati genericamente PLD
(Programmable Logic Devices) che in base all’architettura
(e alla complessità) interna si distinguono in:
 Pal / Gal
 Standard Cell

Gate Array … ecc..
Un intero dispositivo, anche un microprocessore, può essere
“integrato” in un solo PLD. In sostanza ci si costruisce “in
casa” un IC su misura.
Oggi con circa 300 € è possibile realizzare PLD in un
laboratorio mediamente attrezzato
Per grandi volumi si possono usare gli ASIC (Application
Specific Integrated Circuits) = IC commissionati alle ditte
specializzate (Silicon Foundry)
La funzione logica viene realizzata utilizzando, in
genere, circuiti aritmetico/logici universali (le
ALU) e inserendo opportune sequenze di bit di
controllo (il microprogramma) in una ROM.
Il circuito risultante è complesso, occupa ancora
parecchio spazio sul Circuito Stampato e la
microprogrammazione è molto difficile.
Sono però circuiti veloci, anche se non più usati
prof Francesco Contalbi - IPSIA
Castigliano - Asti
prof. Francesco Contalbi
Logica Custom
(anche con Microprocessori Bit Slice)
prof. Francesco Contalbi
Logica Cablata
7
prof. Francesco Contalbi
8
2
Logica Programmata

Sistemi a Microprocessore (uP) (link)

Sistemi a Microcontrollore (uC) (link)

PLC (Programmable Logic Controller) (link)
prof. Francesco Contalbi
Fa uso di IC ( Microprocessori e Microcontrollori) che
comprendono al loro interno la CPU di un
calcolatore (ALU + CU + Registri + ROM dei
microprogrammi). L’insieme delle istruzioni realizza
il “Set” di Istruzioni che il Microprocessore è in
grado di eseguire. La sequenza di quelle usate dal
programma è memorizzata in una ROM (o
EEPROM o FLASH) o in una RAM.
Per cambiare la funzione logica è sufficiente (quasi
sempre) cambiare solo le istruzioni nella
ROM/RAM e non l’intera scheda
9
prof. Francesco Contalbi
Sistemi a Microprocessore (uP)
10
Unità di I/O
Richiedono:
 il uP
 della RAM e/o ROM esterne su cui risiede il
Programma e i risultati delle elaborazioni
 degli appositi IC: le unità di Input/Output (I/O) che
realizzano l’interfacciamento col mondo esterno
 Un sofisticato Circuito Stampato con incise le piste
che realizzano i 3 BUS (Indirizzi, dati, controlli)
 Un generatore di Clock e varia Logica “Glue”
Logica GLUE
SITEMA MINIMO A uP CON Z80 - N° 6 IC DI CUI UNO A 40 PIN
prof. Francesco Contalbi
prof Francesco Contalbi - IPSIA
Castigliano - Asti
11
prof. Francesco Contalbi
12
3
PLC
Sistemi a Microcontrollore (uC)
Un uC è un IC che racchiude al suo interno un intero
Sistema a uP… con in più (dipende dal tipo):










Della RAM e ROM (Flash in genere per il programma e
EEPROM per i dati)
Un gruppo di Pin di I/O a direzione programmabile
Un generatore di Clock programmabile In vari modi
Uno o più ADC in genere multiplexati
Un Counter / Timer con Prescaler
Uno o più Comparatori di tensione
Circuiti PWM, CCP, ECCP (ad es. per il controllo motori)
Una USART per la comunicazione seriale
Un controller per i bus SPI, I2C, CAN, USB e altri
Ecc…
prof. Francesco Contalbi
13
Sono sostanzialmente dei sistemi a uP o uC ma con
Relè, BJT, Optoisolatori ecc.. Già “impacchettati”
in un robusto contenitore, spesso in formato a
Guida DIN, e pronti per essere collegati al Campo.
Sono più adatti ad essere usati dagli elettricisti e
sono nati per sostituire Teleruttori, Temporizzatori
meccanici ecc…
Si programmano nel loro Assembly oppure in:
 Ladder (simile a uno schema elettrico funzionale)
 Grafcet
 Basic
 Ecc...
prof. Francesco Contalbi
Il produttore più noto di PLC è la SIEMENS, ma vi è
anche la Telemecanique, la SAIA ecc..
Quale usare al giorno d’oggi?
Recentemente è apparsa una serie di PLC a BASSO
COSTO e ingombro che si presta bene a realizzare
PLC minuscoli ed economici, il CUBLOC, prodotto
dalla COMFILE Technology. (vedi il Sito).
Programmabile in Ladder e/o Basic, è dotato di più
ADC, di RS232 per la programmazione ma anche
per il colloquio col PC.
prof. Francesco Contalbi
prof Francesco Contalbi - IPSIA
Castigliano - Asti
14
15

uP
Sistemi di calcolo di elevata potenza,
che richiedono programmi complessi e di uso
generale: Elaboratori, Sistemi di controllo di
Impianti importanti ecc…

uC
Sistemi di controllo di dispositivi e
macchine: li troviamo in giocattoli, fotocamere, TV,
cellulari, termostati, regolatori di motori, robot,
guide di missili ecc.. Spesso si interfacciano a
sistemi a uP che funzionano da supervisori
prof. Francesco Contalbi
16
4
I PIC
Tipi di uC
Sul mercato c’è una varietà enorme di uC: di fatto
ogni ditta produttrice di IC ha il suo.
Non solo…
Ogni ditta specializza poi la produzione in molti tipi
diversi a partire da un “ceppo” comune, così da
realizzare delle FAMIGLIE (o “Serie”).
Ognuno differisce per quantità di RAM/ROM, per il
numero e tipo di unità controllo periferiche ecc.
Scegliere dunque un uC richiede quindi una lunga,
attenta e difficile comparazione tra Ditte, Famiglie
e tipi !!!
prof. Francesco Contalbi
17
http://www.microchip.com/
Wikipedia
Sono dei uC prodotti dalla ARIZONA MICROCHIP
e risultano molto diffusi e usati, soprattutto in Italia.
Uno dei motivi della loro diffusione è la loro estrema
SCALABILITA’, ossia la possibilità di scegliere il
tipo adatto alla particolare applicazione (in termini
di quantità di RAM / ROM, di unità periferiche, di
velocità.. e quindi di costo) mantenendo però una
certa uniformità, in particolare lo stesso Set base
di istruzioni come anche il poter riutilizzare gli
strumenti Hardware e Software per lo sviluppo e il
Testing
prof. Francesco Contalbi
18
Famiglie (.. o serie) di PIC
Il produttore suddivide i PIC nelle seguenti
Serie, tenendo conto della dimensione (in
bit) dei Registri interni. Le Serie “più alte”
corrispondono in genere a più elementi
integrati (ADC, Timer ecc.), più prestazioni,
più memoria, più PIN e ovviamente un
ingombro e un costo maggiore
prof. Francesco Contalbi
prof Francesco Contalbi - IPSIA
Castigliano - Asti
19
32 Bits
16 Bits
dsPIC30F
8 Bits
PIC18FXXX
PIC12F6XX,PIC16FXX
PIC12F4XX,PIC16F5XX
PIC10F2XX
Enhanced
Mid-range
Base-line
4 Bits
prof. Francesco Contalbi
20
5
Gli AVR
http://www2.atmel.com/
Progettare con i uC / uP
Wikipedia
Sono dei uC prodotti dalla ATMEL
Poco diffusi in Italia ma potenti e versatili,
costituiscono il cuore del sistema ARDUINO.
Sono meno SCALABILI dei PIC nell’ HW, ma lo
sono completamente nel SW. Le serie:
 TinyAVR: a 8 Bit, economici e “piccoli” (8-14 pin)
 MegaAVR: a 8 Bit, con molte periferiche
 XMEGA: a 8 / 16 Bit, potenti ma complessi
 AVR-UC3: 32 bit sofisticati e potenti
 Altri per usi particolari
prof. Francesco Contalbi
Come con qualunque sistema programmabile occorre
confrontarsi coi suoi due aspetti:
 L’Hardware
(la circuiteria elettronica, la
meccanica)
scelta del tipo di uC / uP e del suo interfacciamento
con il “Campo”, cioè il sistema da controllare
 Il Software
(Programmi e loro scrittura)
scelta del linguaggio di programmazione e del
programma per la compilazione e il caricamento
dell’eseguibile nella memoria programma del uC
21
prof. Francesco Contalbi
Fasi del Progetto SW
Il Software… varie componenti
 Programma = serie di istruzioni scritte in un linguaggio di programmazione:

 Assembly cioe` in pratica, il linguaggio della macchina solo reso un po’ più
umano
 Alto Livello, ossia più simili al linguaggio comune (Inglese): Basic, Fortran,
C, C++, Java, LISP... PROCESSING /WIRING in Arduino ( ne esistono
MOLTE CENTINAIA !)
funzionamento di base del computer, e` memorizzato sul disco rigido e
viene copiato nellla RAM al momento dell’accensione. Esistono vari tipi di
SO : Windows, Unix, Linux, MacOs, DOS ... alcuni di questi liberi alcuni a
pagamento ...


 SW Applicativo : Word, Excell, StarOffice, Access, Telnet ... e
Programmi scritti da noi…

23
Studiare le azioni da compiersi in un N° finito di passi per
ottenere quanto voluto, ossia l’ALGORITMO
Descrivere “su carta” l’algoritmo tramite:


 SW di Base : Compilatori, Assembler, Linker, Loader, Bakup ecc..
prof Francesco Contalbi - IPSIA
Castigliano - Asti


 Sistema Operativo (SO) : e` il programma che sovraintende al
prof. Francesco Contalbi
22
FLOW CHART (più adatto per l’Assembly)
Pseudolinguaggio (più adatto ai linguaggi di alto livello)
Scrivere il programma nel linguaggio di programmazione
scelto, tramite un TEXT EDITOR (PROGRAMMA
SORGENTE)
Compilare e Linkare il programma sorgente per ottenere
rispettivamente il PROGRAMMA OGGETTO e
ESEGUIBILE (tramite il COMPILATORE e il LINKER)
Caricare l’eseguibile nella MEMORIA PROGRAMMA del uC
/ uP tramite il LOADER (o programmatore nei uC),
Trovare eventuali errori tramite il DEBUGGER
prof. Francesco Contalbi
24
6
Esempio di FLOW CHART
FILE
SORGENTE
Se si intende usarlo si
possono impiegare
appositi programmi (oltre a
Word), ad es. DIA, che
oltretutto è Open Source e
realizza una moltitudine di
altri diagrammi
L’HEX è detto “Formato
INTEL” e di fatto contiene in
ESADECIMALE il codice
macchina da inserire nella
memoria programmi del uC
uC
(installa DIA)
prof. Francesco Contalbi
25
prof. Francesco Contalbi
26
Gli IDE
(Integrated Developement Environment)
Le fasi di Scrittura /compilazione / linking /debugging
che un tempo venivano eseguite “a mano” e in
sequenza, sono ora INTEGRATE in un unico
programma che offre anche un aspetto grafico
curato: l’ IDE
Di fatto ormai nemmeno più ci si accorge di quello
che sta succedendo: fa tutto l’IDE, dietro le
quinte.. davvero un grosso aiuto !!!
prof. Francesco Contalbi
prof Francesco Contalbi - IPSIA
Castigliano - Asti
27
7
Scarica

MicrocontrolloriDidattica