Похожие документы
Introduzione ai microcontrollori PIC

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

Elettronica dei Sistemi Programmabili

Il Microcontrollore. Microcontrollore PIC

introduzione I MICROCONTROLLORI

C. P. U. MEMORIA CENTRALE

Vari tipi di computer

Arduino UNO. Single board microcontroller

Informatica - A.A. 2010/11

8 Microcontrollori PIC

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

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

Architettura del PIC 18F452

Esame di INFORMATICA

TERMINALE PER IL CONTROLLO ACCESSI 2745

Architettura hardware

Livello logico digitale. bus e memorie

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

Progetto di un sistema di controllo per un robot basato su CAN

Architettura del calcolatore

Corso di Sistemi di Elaborazione A.A. 2008/2009

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

Gerarchia delle memorie

FONDAMENTI di INFORMATICA L. Mezzalira

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

Struttura del calcolatore

Sistema ATM con rete NetRail. Divisione elco srl

Componenti di base di un computer

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

Corso PLC - Manuale Pratico 1

Architettura dei computer

Architettura di un calcolatore

Introduzione ai Microcontroller

IL DSP - Digital Signal Processor

TERMINALE PER IL CONTROLLO ACCESSI LBR 2746/48

Tecnologia dell Informazione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Laboratorio di Informatica

Introduzione alle misure con moduli multifunzione (DAQ)

Lezione E5. Sistemi embedded e real-time

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Il sistema operativo TinyOS

La memoria centrale (RAM)

Lezione 3: Architettura del calcolatore

Il microprocessore 8086

RETI E SISTEMI INFORMATIVI

Il Processore: i registri

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

INFORMATICA 1 L. Mezzalira

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

Corso: Informatica+ Andrea Cremonini. Lezione del 20/10/2014

Architettura dei calcolatori I parte Introduzione, CPU

Introduzione all'architettura dei Calcolatori

Microelettronica Corso di progettazione su SoC ARM:

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

CALCOLATORI ELETTRONICI A cura di Luca Orrù

LE 70 : CONTROLLORE GENERICO A 70 PIN PER MACCHINE MEDIO- GRANDI

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

16 bit, 20 Mhz. 512Kbyte di RAM statica tamponata 512Kbyte di FLASH

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Architettura di un computer

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Interfaccia EMIC per contatori

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

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

HCS BRIDGE. Home Cinema Solution. TecnoRS srl. Sistema Domotico Distribuito

Architettura del computer (C.Busso)

Fondamenti di informatica: un po di storia

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

Compatto, espandibile e potente. Il controller che cresce con l applicazione.

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Caratteristiche HW. Clock Speed 16 MHz

SISTEMI E DISPOSITIVI EMBEDDED

Calcolo numerico e programmazione Architettura dei calcolatori

CORSO DI LAUREA IN SCIENZE ERBORISTICHE E DEI PRODOTTI NUTRACEUTICI

Calcolatori Elettronici

MT2 e MT3: Schede e sistemi di controllo motori passo passo

SPECIFICHE TERMINALI RILEVAZIONE PRESENZE E CONTROLLO ACCESSI

ARCHITETTURA DELL ELABORATORE

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

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

Memoria Secondaria o di Massa

GALEP-5 user guide. GALEP-5 Device Programmer. Alientech srl electronic performance 1

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI

Le memorie. Introduzione

PIANO DI LAVORO DEI DOCENTI

PROGRAMMAZIONE MODULARE

Sommario. Introduzione 1

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

Unità di telelettura per contatori

Finalità delle misure

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

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

CPU. Maurizio Palesi

Sistemi avanzati di gestione dei Sistemi Informativi

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Транскрипт:

Introduzione ai Microcontrollori Workshop 08/06/2011 Dott.Ing.Marco Frosini Qprel srl Dott.Ing.Lorenzo Giardina Qprel srl Slide 1 di 27

L'elettronica digitale PRIMA dei microcontrollori Elemento base: Transistor EPROM Logic Family CPLD Slide 2 di 27

L'elettronica digitale PRIMA dei microcontrollori Scheda RAM 64KB Fibre-optic ring network Olivetti Centralina auto: ECU Slide 3 di 27

Esigenze tecniche e di mercato Le richieste di flessibilità e integrazione hanno generato la necessità di dover raggruppare: Parallelismo delle operazioni Numero delle variabili di controllo Velocità di risposta Modularità del sistema Affidabilità del controllo Flessibilità dei componenti Reti logiche Logiche programmabili Controlli digitali e analogici Riduzione dimensioni, riduzione costi, flessibilità, programmabilità Slide 4 di 27

Esigenze tecniche e di mercato Il microprocessore diventa indispensabile quando il numero delle variabili da controllare diventa elevato Comunica con l'esterno solo mediante porte di input/output Esegue esclusivamente operazioni logiche, aritmetiche e di controllo Elabora sia dati prodotti internamente che provenienti da dispositivi esterni Totalmente dipendente da elementi periferici Non presenta elementi per la memorizzazione permanente dei dati Slide 5 di 27

Esigenze tecniche e di mercato Il microcontrollore racchiude tutte le caratteristiche del microprocessore aggiungendo le possibilità di: Comunicazione diretta con dispositivi esterni integrando periferiche interne Memorizzazione di dati o programmi Effettuare operazioni di controllo, ricezione ed elaborazione segnali In generale non necessitano ulteriori aggiunte di memoria RAM oltre a quella integrata Eseguono esclusivamente le operazioni legate al firmware con il quale sono stati programmati Slide 6 di 27

Microcontrollore e microprocessore Microcontrollore: Microprocessore: Microprocessore Unità di calcolo Linee I/O Unità di controllo Memoria Flash Memoria istruzioni e calcolo Convertirore A/D Timer USART SPI PWM... Slide 7 di 27

Microcontrollore e microprocessore Il microcontrollore è un'estensione del microprocessore, le sue caratteristiche lo avvicinano molto ad un computer completo Microcontrollore: Microprocessore: Frequenza clock: oltre 1 GHz Frequenza clock: oltre 3 GHz Numero bit: 8/16/32 Numero bit: 32/64 Ridotto set di istruzioni Elevati set di istruzioni Watt minimi dissipati: 0,001 Watt minimi dissipati: 50 Pezzi venduti annui: 11000*106 Pezzi venduti annui: 1000*106 Prezzo USD: 0,5 Prezzo USD: 50 Slide 8 di 27

Microcontrollore: vantaggi L'integrazione delle periferiche su un singolo chip porta vantaggi legati a: Minor numero di dispositivi discreti per la realizzazione di un sistema Dimensioni ridotte del sistema Costi inferiori Sistema nel complesso più affidabile Protezione dalle copiature Risparmio energetico Riprogrammabilità del sistema Comunicazione diretta con altri sistemi Slide 9 di 27

Microcontrollore: svantaggi Gli svantaggi legati all'integrazione su singolo chip sono: Potenza di calcolo limitata Assenza di FPU (Floating Point Unit) nella maggioranza dei dispositivi Gestione dati limitata NECESSITA' di utilizzare più microcontrollori simultaneamente per la realizzazione dello stesso progetto Slide 10 di 27

Microcontrollore In definitiva il microcontrollore è un sistema a microprocessore realizzato con una logica di ottimizzazione del rapporto prezzo/prestazioni. A differenza del microprocessore ha un esteso campo di impiego che può spaziare dai più semplici oggetti di utilizzo quotidiano a complesse architetture in ambito medicale e industriale. Ha una capacità di calcolo relativamente limitata ed esegue esclusivamente una serie di operazioni contenuta all'interno del programma o firmware caricato nella memoria Slide 11 di 27

Microcontrollore: architetture I microcontrollori si distinguono tra loro per: Set di istruzioni: CISC/RISC Organizzazione della memoria: Van Neumann/Harward Frequenza di clock Numero di dispositivi di I/O e di periferiche intergrate Consumo Numero di bit: 4/8/16/32 Il numero di bit rappresenta la dimensione massima del dato gestibile in un unico ciclo macchina. Rappresenta inoltre solitamente la dimensione dei singoli registri e del bus dati Slide 12 di 27

Microcontrollore: Architettura Architettura Van Neumann Architettura Harvard Non è raro trovare architetture miste e/o evoluzioni delle due Slide 13 di 27

Caratteristiche: Van Neumann vs Harvard Van Neumann Adottata in microcontrollori di fascia bassa Svantaggi legati all'utilizzo di un'unica memoria sia per le variabili volatili sia per il codice del programma Harvard Separazione dei bus per i dati e gli indirizzi Vantaggi legati all'accesso contemporaneo a codice e dati o a più dati, diminuendo i tempi di esecuzione Slide 14 di 27

Microcontrollore: Architettura Slide 15 di 27

Microcontrollore: periferiche Periferiche bidirezionali di I/O Convertitori ADC e DAC multicanale Slide 16 di 27 UART Asynchronous Receiver Transmitter Bus (SPI, I2C, CAN, LIN, USB) interfacciamento protocolli standard Timer, Contatori, Comparatori PWM modulazione segnale di uscita

Microcontrollore: periferiche La gestione delle periferiche è regolata mediante i registri interni del microcontrollore. Ogni locazione di memoria del registro è associata ad un significato specifico per la periferica. Esempio: Ogni PIN di una porta può essere configurato sia come ingresso che come uscita mediante il registro DDRx Di conseguenza e possibile assegnare un valore alto o basso allo stesso pin mediante il registro PORTx Slide 17 di 27

Confronto famiglie microcontrollori Atmel ATtiny (ATtiny13A) Arch. 8 bit 1 Kbyte flash 64 byte EEPROM 8 pin Max Freq. 9MHz 10 bit ADC / DAC 1 timer/counters (8 bit) Max Current: 5mA Prezzo unitario: 0,3 Atmel AT91 (ATxmega256A3B) (AT91SAM9263) Arch. 8 bit Arch. 32 bit 256Kbyte flash External flash 4 Mbyte EEPROM 324 pin 64 pin Max Freq. 240MHz Max Freq. 32MHz TFT/STN LCD controller 12 bit ADC / DAC Audio controller 7 timer/counters (16 bit) USB host e device 6 USART 10/100Mbit Ethernet SD/MMC interface Max Current: 70mA Prezzo unitario: 12 Slide 18 di 27 Atmel Xmega Max Current: 15mA Prezzo unitario: 5

Applicazioni quotidiane ATtiny13a (avr 8 bit low cost) ATxmega (avr 8 bit Hi-end) AT91SAM (arm9 32bit) Slide 19 di 27

Scheda di esempio Slide 20 di 27

Programmazione La programmazione del microcontrollore può avvenire mediante scheda di programmazione come: AVRProg, AVRDragon, STK,... SPI: Serial Peripheral Interface MOSI: Master Out Slave In SCLK: Serial Clock MISO: Master In Slave Out SS: Slave Select JTAG: protocollo standard di test funzionale che permette di effettuare debug sul firmware Slide 21 di 27

Programmazione La programmazione può avvenire anche tramite una normale interfaccia seriale (es: RS-232). Il programma viene memorizzato in una specifica area di memoria del microcontrollore definita bootloader. Il microcontrollore all'avvio esegue le istruzioni contenute in questa area di memoria Slide 22 di 27

Linguaggi di programmazione - Tutti i microcontrollori/microprocessori per poter funzionare eseguono del codice macchina ASSEMBLER - Scrivere direttamente in ASSEMBLER è molto faticoso e poco conveniente, oggi ci sono strumenti molto efficienti che permettono di tradurre codice di alto livello in codice macchina COMPILATORI Slide 23 di 27

Linguaggi di programmazione - I linguaggi di programmazione oggi più usati sono: 1) C/C++ 2) Pascal 3) Basic Esempio tipico della struttura di un ambiente di sviluppo: - Su microcontrollori capaci di integrare un sistema operativo e possibile utilizzare qualsiasi tipo di linguaggio di programmazione. Slide 24 di 27

Ambiente di sviluppo Per lo sviluppo di un primo esempio di firmware utilizzeremo il software AVR Studio 5. L'esempio in linguaggio C mostra come utilizzare le periferiche di GPIO di un microcontrollore ATxmega. 1. Avviare AVRStudio 5 ed aprire il progetto gpio_example Slide 25 di 27

Esempio GPIO 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 2. Aggiungere alla funzione main il codice per settare PC0, PC1 e PC2 come PIN di uscita: PORTC.DIR = 1 << PORTC.PIN0CTRL 1 << PORTC.PIN1CTRL 1 << PORTC.PIN2CTR 3. Aggiungere il livello logico di PC0, PC1 e PC2: PORTC.OUTSET = 1 << PORTC.PIN0CTRL; //Scrive 1 su PC0 PORTC.OUTSET &= ~(1 << PORTC.PIN0CTRL); //Scrive 0 su PC0 Slide 26 di 27

Esempio GPIO 4. Aggiungere un lampeggio del led su PC1 5. Impostare PA2 come PIN di ingresso con PULLUP 6. Accendere il led su PC2 quando il tasto su PA2 viene premuto Slide 27 di 27