8 Microcontrollori PIC



Documenti analoghi
introduzione I MICROCONTROLLORI

C. P. U. MEMORIA CENTRALE

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

Architettura hardware

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

Architettura del PIC 18F452

Architettura del calcolatore

Unità Periferiche. Rete Di Controllo

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Esame di INFORMATICA

Corso PLC - Manuale Pratico 1

CPU. Maurizio Palesi

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

Architettura di un computer

Introduzione all'architettura dei Calcolatori

Lezione 3: Architettura del calcolatore

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

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

Gerarchia delle memorie

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

STRUTTURE DEI SISTEMI DI CALCOLO

Architettura dei calcolatori I parte Introduzione, CPU

LABORATORIO DI SISTEMI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Struttura del calcolatore

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

Calcolo numerico e programmazione Architettura dei calcolatori

Laboratorio di Informatica

UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI

Introduzione ai microcontrollori PIC

Dispensa di Informatica I.1

Architettura di un calcolatore: introduzione

Categorie di sistemi Digitali

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

Architettura dei computer

RETI E SISTEMI INFORMATIVI

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

Organizzazione della memoria

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

Architettura degli elaboratori (A)

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

Ing. Paolo Domenici PREFAZIONE

Le memorie. Generalità E applicazioni

L architettura di riferimento

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

Livello logico digitale. bus e memorie

Qualche informazione sul microcontrollore PIC

Il microprocessore 8086

La memoria centrale (RAM)

Esempio: aggiungere j

Vari tipi di computer

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

Fondamenti di informatica: un po di storia

Lezione n.19 Processori RISC e CISC

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

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

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

1.4b: Hardware. (Memoria Centrale)

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

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

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

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

Informatica - A.A. 2010/11

Organizzazione della memoria principale Il bus

Corso di Sistemi di Elaborazione delle informazioni

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

1.4a: Hardware (Processore)

OSCILLATORI AL QUARZO: CONTASECONDI

Linguaggi e Paradigmi di Programmazione

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

ARCHITETTURA DELL ELABORATORE

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

TERMINALE PER IL CONTROLLO ACCESSI 2745

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

PLC51 AUTOMAZIONE. di G.Filella e C. Befera filella@tin.it

Memoria Secondaria o di Massa

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

Progetto e realizzazione di un sistema che rileva la temperatura a distanza

Funzionalità di un calcolatore

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

Gestione di una UART SOFTWARE.

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Esame di Stato Materia: SISTEMI AUTOMATICI PRIMA PARTE

PICLOCK. Classe 4 EA indirizzo elettronica ed elettrotecnica. Ivancich Stefano. Tecnologie e progettazione di sistemi elettrici ed elettronici

ARCHITETTURA DI UN PERSONAL COMPUTER

Il Microcontrollore. Microcontrollore PIC

Tecnologia dell Informazione

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano

Parte II.2 Elaboratore

Ferrante Patrizia Ghezzi Nuccia Pagano Salvatore Previtali Ferruccio Russo Francesco. Computer

Hardware di un Computer

Calcolatori Elettronici A a.a. 2008/2009

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

SISTEMI INFORMATIVI AZIENDALI

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

Architettura di un calcolatore

Architettura del computer (C.Busso)

IL DSP - Digital Signal Processor

Architettura dei calcolatori

Transcript:

8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente gestisce delle linee di input e di output in relazione al programma in esso implementato. Esistono diverse famiglie di dispositivi in grado di svolgere queste funzioni come ad esempio lo Z80, ST6 e il più evoluto 8088; per i nostri scopi ci si è affidati ai Microcontrollori PIC della Microchip in quanto questi: risultano essere molto economici; sono di piccole dimensioni; hanno performance elevate in termini di velocità; sono facili da programmare. Questi dispositivi implementano al loro interno un vero e proprio microprocessore completo di CPU, ALU, RAM, Timer e numerose linee di IN/OUT. A differenza dei microprocessori più evoluti, nei PIC il programma è contenuto all'interno in un'apposita area di memoria (non volatile) e viene eseguito ciclicamente; la RAM viene utilizzata per i dati volatili (le variabili). Alcuni dispongono di aree dati non volatili e riscrivibili (EEPROM), generalmente di piccole dimensioni. Lo stadio di IN/OUT è già implementato ed alcuni sono dotati di interfacce analogico/digitali per comparatori o per comunicazioni seriali. I microcontrollori PIC sono dei dispositivi di tipo RISC, dispongono di un numero ridotto di istruzioni, e si programmano in Assembler (codice macchina). Le versioni con memoria Flash sono programmabili più volte (e quindi idonei alla sperimentazione) al contrario delle versioni OTP (One Time Programmable) che si possono programmare solamente una volta (utilizzati per la realizzazione degli strumenti definitivi). Le versioni UV possono essere riprogrammati dopo la cancellatura con raggi ultravioletti. I PIC sono disponibili in un ampia gamma di modelli per meglio adattarsi alle esigenze di progetto specifiche, differenziandosi per numero di linee I/O e per dotazione di dispositivi. Si parte dai modelli più piccoli identificati dalla sigla PIC12C5xx dotati di soli 8 pin, fino ad arrivare ai modelli più grandi con sigla PIC17Cxx dotati di 40 pin. 8.2 Modello 16F84

Il PIC16F84 da noi scelto è un caso intermedio (18 pin); si tratta di un microcontrollore ad 8 bit, ad alte prestazioni e basso costo, realizzato in tecnologia CMOS, il quale può essere programmato in linguaggio Assembler con un set di sole 35 istruzioni. L architettura Harvard consente di operare su dati a 8 bit e codificare le istruzioni a 14 bit, poiché il Bus Dati ed il Bus Istruzioni sono separati. Il sistema di pipeline a 2 stadi consente di eseguire tutte le istruzioni in un singolo ciclo 1, ad eccezione delle istruzioni di salto che ne richiedono 2. Il PIC16F84 dispone di 68 byte di RAM, 64 byte di memoria dati di tipo EEPROM (Electrical Erasable Programmable Read Only Memory, ovvero memoria a sola lettura programmabile, cancellabile elettricamente) e 1024 word (2048 byte) di memoria di tipo FLASH nella quale è contenuto il programma in Assembler. 8.2.1 Altre caratteristiche tecniche Frequenza del clock Il microcontrollore può lavorare ad una frequenza massima di 10Mhz; inoltre la progettazione fullystatic permette di utilizzare anche frequenze molto basse dell ordine dell unità di Hz. Gli oscillatori utilizzabili si differenziano a seconda della loro velocità: RC: per soluzioni a basso costo (velocità minima) LP: per minimizzare la potenza consumata XT: per gli oscillatori al quarzo HS: per i cristalli ad elevata velocità. Interrupt Il microcontrollore 16F84 dispone di quattro sorgenti di interrupt: Pin INT esterno Overflow del TIMER0 Cambio di stato sulla porta B<4..7> Fine ciclo di scrittura nella EEPROM dati 1 Ciclo: per ciclo si intendono 4 fronti di clock

Microcontroller Power Requirement - < 2 ma @ 5 V, 4 MHz - 1,5 μa @ 2 V, 32 KHz E disponibile anche la modalità SLEEP, cioè si può far "addormentare" il dispositivo in attesa di un Interrupt, in modo da ottenere un consumo ridotto di corrente (si pensi ai casi in cui debba essere alimentato con delle batterie). In tal caso il consumo si riduce a meno di 1μA @ 2 V. Livelli di tensione delle porte di I/O Symbol Buffer 2 V min V max V IL TTL Vss 0,16 Vdd ST Vss 0,2 Vdd V IH TTL 0,48 Vdd Vdd ST 0,45 Vdd Vdd V OL - - 0,6 Vdd V OH - Vdd 0,7-8.2.2 Architettura RISC Il microcontrollore utilizza una pipeline costituita da sole due fasi: Fetch e Execute. Ciò che avviene ad ogni ciclo di istruzione e rappresentato in figura: Ad ogni ciclo di istruzione (4 colpi di clock) viene effettuato il fetch dell istruzione cui punta il Program Counter e contemporaneamente viene eseguita l istruzione precedente. Le istruzioni di salto sono un po più complesse e necessitano di un ciclo aggiuntivo (rappresentato dal blocco Flush). 2 ST: input a trigger di Schmitt

Durante la fase di execute, l istruzione viene caricata nell Instruction Register durante il clock Q1, gli operandi vengono caricati in memoria durante Q2 e il risultato viene scritto durante Q4. 8.2.3 Piedinatura Pin Buffer Descrizione RA0 RA3 TTL Porte I/O bidirezionale RA4/TOCK1 ST Porta I/O bidirezionale Ingresso per il clock esterno del Timer0 RB0/INT TTL Porta I/O bidirezionale ST Ricezione di un interrupt esterno RB1 RB7 TTL/ST Porte I/O bidirezionali : se opportunamente programmate le porte B4, B5, B6, B7 possono generare un interrupt hardware. OSC1/CLKIN ST Oscillatore CMOS Clock esterno

Pin Buffer Descrizione OSC2/CLKOUT --- Oscillatore Se il PIC ha in ingresso un clock esterno su questo pin c è un clock di frequenza ¼ rispetto a quello di ingresso MCLR ST Reset, attivo basso, del microcontrollore 8.3 Programmazione del PIC Per i nostri scopi programmare direttamente in linguaggio Assembler si rivelava essere piuttosto problematico; per questo in commercio esistono compilatori ad un livello più alto rispetto al codice macchina che permettono una programmazione più snella e comprensibile, anche in previsione di modifiche per eventuali sviluppi futuri. Si è deciso di utilizzare il Proton+ Compiler prodotto dalla Crownhill: si tratta sostanzialmente di un linguaggio molto simile al Basic, dedicato per lo sviluppo di programmi per microcontrollori, a basso costo (poco più di 10$) ed estremamente user friendly. Per trasferire il programma all interno del PIC si è utilizzato un programmatore universale della Advantech: il LabTool-48, con il software per il download fornito in dotazione. Si tratta di un dispositivo molto versatile che permette di programmare qualunque tipo di PIC oltre a EEPROM, PLD, Microcontrollori, etc..; si collega al PC tramite la porta parallela. Figura 1: LabTool Advantec-48 Il trasferimento del programma dal LabTool al PIC è piuttosto veloce (nel nostro caso una ventina di secondi), ma dipende fortemente dal tipo di PIC utilizzato.