Lezione 18. Lezione 18. Misura di intervalli di tempo. Misura di intervalli di tempo. Misura di intervalli di tempo. Misura di intervalli di tempo

Documenti analoghi
Lezione 20. Lezione 20

, proporzionale alla RH%, si fa riferimento allo schema di figura 3 composto dai seguenti blocchi:

P8 CIRCUITI SEQUENZIALI ELEMENTARI

intervalli di tempo. Esempio di sistema oscillante: Fig. 1 Massa m che può traslare in una sola direzione x, legata ad una molla di rigidezza k.

POLITECNICO DI MILANO

Lezione 15. Lezione 15. ADC di tipo Flash. ADC di tipo Flash. ADC di tipo Flash. ADC di tipo Flash. Sommario. Materiale di riferimento

Teoria dei Segnali. La Convoluzione (esercizi) parte prima

SISTEMI LINEARI TEMPO INVARIANTI. Fondamenti Segnali e Trasmissione

SISTEMI LINEARI TEMPO INVARIANTI

Lezione n.12. Gerarchia di memoria

Corso di ELETTRONICA INDUSTRIALE

SisElnD3ddc 01/12/ /12/ SisElnD3ddc DDC. 01/12/ SisElnD3ddc DDC. 01/12/ SisElnD3ddc DDC.

Sistemi Lineari e Tempo-Invarianti (SLI) Risposta impulsiva e al gradino

Il modello di crescita deriva dalla logica del tasso di interesse semplice

SISTEMI LINEARI TEMPO INVARIANTI

Minimi Quadrati Ricorsivi

Elettronica di potenza - I Lezione

La porta seriale nei PC

L andamento del livello e della posizione d inventario indicativamente è il seguente. L = 0,5 L = 0,5

GENERALITA SULLE MACCHINE ELETTRICHE

Capitolo 8 Il regime periodico e il regime alternativo sinusoidale

ITI GALILEO FERRARIS S. GIOVANNI LA PUNTA APPUNTI DI TELECOMUNICAZIONI PER IL 5 ANNO IND. ELETTRONICA E TELECOMUNICAZIONI

SISTEMI LINEARI TEMPO INVARIANTI

Caratteristiche elettriche Teleruttori Contattori

UNITA 3. LE EQUAZIONI GONIOMETRICHE.

Esercizi di Matematica Finanziaria - Corso Part Time scheda 1- soluzioni - Leggi finanziarie, rendite ed ammortamenti

TIPI DI REGOLATORI. Esistono diversi tipi di regolatori che ora analizzeremo.

Lezione 4 Material Requirement Planning

RISPOSTA IN FREQUENZA DEI SISTEMI LINEARI TEMPO INVARIANTI

Lezione C1 - DDC

L ipotesi di rendimenti costanti di scala permette di scrivere la (1) in forma intensiva. Ponendo infatti c = 1/L, possiamo scrivere

Volume FISICA. Elementi di teoria ed applicazioni. Fisica 1

Filtri. RIASSUNTO: Sviluppo in serie di Fourier Esempi:

Funzioni ausiliarie d'automazione

Teoria dei segnali. Unità 2 Sistemi lineari. Sistemi lineari: definizioni e concetti di base. Concetti avanzati Politecnico di Torino 1

1. Domanda La funzione di costo totale di breve periodo (con il costo espresso in euro) di un impresa è la seguente:

CONVERTITORI CC / CC

sedimentazione Approfondimenti matematici

Moto di un corpo. Descrizione del moto. Moto in 2 dimensioni. È un moto in 1 Dimensione

I.P.S.I.A. DI BOCCHIGLIERO Multivibratori monostabili ---- Materia: Elettronica. alunni: Ammannato Luigi Valente Francesco Spataro Leonardo.

PIL NOMINALE, PIL REALE E DEFLATORE

APPUNTI INTEGRATIVI Provvisori circa: Risposta in Frequenza: Introduzione ai Filtri Passivi e Attivi. Filtri del I ordine

ESEMPIO 1 Per portare un bicchiere d acqua (forza F=2,5 N) dal tavolo alla bocca (spostamento

Introduzione e modellistica dei sistemi

ALIMENTATORI SWITCHING

2. Politiche di gestione delle scorte

UNITA 4. LE DISEQUAZIONI GONIOMETRICHE.

Il MODELLO MUNDELL-FLEMING

Note applicative sul timer 555

ESERCIZI di TEORIA dei SEGNALI. La Correlazione

White paper. Sganciatore differenziale RC223 (tipo B)

Osservabilità (1 parte)

A K CARICHE MOBILI POSITIVE

Elettronica delle Telecomunicazioni Esercizi cap. 3: Anelli ad aggancio di fase

SOLUZIONE ESERCIZI: CONCORRENZA PERFETTA E OLIGOPOLIO. ECONOMIA INDUSTRIALE Università degli Studi di Milano-Bicocca. Christian Garavaglia

ElapB5 21/09/ DDC 1 ELETTRONICA APPLICATA E MISURE. Lez. B5: generatori di onda quadra. Ingegneria dell Informazione

Quindi l offerta di moneta è M= Il tasso di interesse è i*=0,1. Il prezzo di un titolo a scadenza annuale è $P T = 90,91.

Laboratorio di Fisica I: laurea in Ottica e Optometria

Scheduling della CPU. Terminologia: CPU burst & I/O burst. Obiettivo della multiprogrammazione: massimizzazione dell utilizzo della CPU

LE ONDE. Un onda è una perturbazione che si propaga trasportando energia ma non materia.

V AK. Fig.1 Caratteristica del Diodo

Lezione 13. Elementi di controllo digitale

Il Debito Pubblico. In questa lezione: Studiamo il vincolo di bilancio del governo.

NOTA DI RILASCIO 22/12/2016

del segnale elettrico trifase

SISTEMA INTEGRATO PER LA SORVEGLIANZA E GESTIONE DELLA DIGA DEL TIRSO

Page 1. Elettronica per l informatica ELINF - B1 28/04/ DDC 1. Facoltà dell Informazione. Contenuti di questo gruppo.

Impulso di una forza

Controllo di Manipolatori (Calcolo delle Traiettorie 2)

SOMMARIO. Monostabile 4538 CMOS, Timer Universale NE555. prof. Cleto Azzani IPSIA Moretto Brescia

Ci domandiamo allora se e sempre possibile rappresentare una funzione in questo modo.

Università di Napoli Parthenope Facoltà di Ingegneria

Sviluppare una metodologia di analisi per valutare la convenienza economica di un nuovo investimento, tenendo conto di alcuni fattori rilevanti:

Modello di una macchina in corrente continua

LA MODELLAZIONE DEGLI IMPIANTI DI CONVERSIONE DELL ENERGIA NEL MERCATO LIBERO. Sergio Rech

Alcuni strumenti per misure di portata e velocità

LA CINEMATICA IN BREVE. Schede di sintesi a cura di Nicola SANTORO.

Modelli ARMA, regressione spuria e cointegrazione Amedeo Argentiero

7 I convertitori Analogico/Digitali.

TIPI DI RAPPRSENTAZIONE DELLO SPETTRO

CM89sett.tex COMPLEMENTI DI MATEMATICA a.a Laurea magistrale in Ingegneria Elettrotecnica

Il circuito RC Misure e Simulazione

1 Catene di Markov a stati continui

Indice generale della produzione industriale. indice grezzo corretto per i giorni lavorativi destagionalizzato. marzo 07.

Esercizi svolti. Geometria analitica: curve e superfici

Approccio Classico: Metodi di Scomposizione

La politica fiscale nel lungo periodo ed il debito pubblico

25.2. Osservazione. Siccome F(x, y, z) = 0 è un equazione e non un identità, una superficie non contiene tutti gli 3 punti dello spazio.

OBBLIGAZIONI A CEDOLA FISSA

01AKS - Controlli Automatici. Controllori a Logica Programmabile (PLC)

9. Conversione Analogico/Digitale

Lezione n.7. Variabili di stato

Azionamenti Elettrici

Corso di Laurea in Ingegneria Informatica (Laurea on Line) Prima prova Intermedia

Verifica parte IV. Debugging. Individuazione dell errore. Debugger

P suolo in P; 2. la distanza d, dall uscita dello

ElapE3 23/11/ DDC 1 ELETTRONICA APPLICATA E MISURE. Ing. Informatica/Telecomunicazioni. Lez. E3: regolatori a commutazione

RISPOSTA NEL DOMINIO DEL TEMPO

velocità angolare o pulsazione (gradi /s oppure rad/s) (angolo percorso da V in un intervallo di tempo)

La programmazione aggregata nella supply chain. La programmazione aggregata nella supply chain 1

Transcript:

Lezione 18 Sommario Misura di inervalli di empo Unià imer dei mc e DSP Tipi di imer Esempi di unià di imer in mc o DSP Uso del imer Lezione 18 Maeriale di riferimeno 1. Daashee del microconrollore PIC18F452, disponibile sul sio del corso in formao pdf. 2. Daashee del DSP DMC401, disponibile sul sio del corso in formao pdf. 3. Daashee del microconrollore Philips LPC2129, disponibile sul sio web del corso in formao pdf. Simone Buso - Microconrollori e DSP - Lezione 18 1 Simone Buso - Microconrollori e DSP - Lezione 18 2 Misura di inervalli di empo Nella realizzazione di sisemi di conrollo o supervisione per apparai di qualunque naura, è spesso richiesa la capacià di misurare inervalli di empo. Per quesa ragione, alcuni DSP, ra quelli più orienai al conrollo real ime, e praicamene ui i mc rendono disponibili all uene una o più unià periferiche specifiche, che sono dee imer. I imer possono essere di ipo general purpose (GPT) oppure dedicai ad alcune funzioni specifiche (e.g. PWM, wachdog, ). Simone Buso - Microconrollori e DSP - Lezione 18 3 Misura di inervalli di empo La misura di inervalli di empo è richiesa per la gesione di cicli di aesa, la generazione di segnali di comando per periferiche eserne con cadenza prefissaa, ec. In linea di pricipio, le emporizzazioni possono essere realizzae anche mediane cicli di aesa inserii nel programma principale. La duraa di quesi cicli è conrollaa dal programmaore inserendo isruzioni inuili per una duraa complessiva pari a quella richiesa. Chiaramene di raa di un approccio molo inefficiene. Simone Buso - Microconrollori e DSP - Lezione 18 4 Misura di inervalli di empo Molo più efficiene è l approccio che fa uso di inerruzioni. Tui i imer sono in grado di produrre richiese di inerruzione per il processore a inervalli di empo prefissao. Finché l inerruzione non viene richiesa, il processore rimane libero di svolgere alre operazioni. È però necessario presare aenzione alle alre sorgeni di inerruzione, che porebbero compromeere la misura di empo. Simone Buso - Microconrollori e DSP - Lezione 18 5 Programma principale Eveni del Timer (IRQ2) IRQ1 IRQ2 Misura di inervalli di empo IRQ1 si verifica poco prima di IRQ2 IRQ2 viene lasciaa pendene fino al ermine di ISR1 Esempio di inerferenza ra la rouine di iming e una uleriore sorgene di inerruzione. Simone Buso - Microconrollori e DSP - Lezione 18 6

Misura di inervalli di empo L impao dell inerferenza ra le due sorgeni di inerruzione può essere molo diverso a seconda dell enià relaiva di rispeo alla periodicià degli eveni del imer. La perurbazione è di solio occasionale e ende a provocare un jier (piccolo errore di sincronismo) sugli eveni associai alla rouine del imer. Se l enià del jier è piccola, e.g. 0.1% o meno, spesso il suo effeo sul sisema conrollao è rascurabile. Misura di inervalli di empo Se queso effeo non è rascurabile le possibili alernaive sono: 1. sospendere la generazione di inerruzioni a priorià maggiore di quella associaa al imer (mascherameno); 2. associare al imer la IRQ di priorià maggiore (non sempre è possibile); 3. ricorrere a meccanismi di emporizzazione diversi e.g. basai sul funzionameno del imer in modalià compare, che vedremo in seguio. Simone Buso - Microconrollori e DSP - Lezione 18 7 Simone Buso - Microconrollori e DSP - Lezione 18 8 Timer Timer Dal puno di visa circuiale, un imer è un semplice conaore binario. Il coneggio riguarda però i periodi di clock del processore o mulipli di quesa quanià. Il imer è doao di un regisro di configurazione, che permee al programmaore di fissare, come minimo, la frequenza del coneggio, ma spesso anche alri paricolari relaivi alla modalià di coneggio, e.g. coneggio a salire oppure alla rovescia, con arreso oppure coninuo Bi di Configurazione Regisro di pre-carica 16 bi Conaore 16 bi Comparaore binario 16 bi Regisro di COMPRE TIMER a 16 bi Sruura di principio di una unià imer a 16 bi. f CLK /N Prescaler IRQ Livello del bi di oupu 1 D Clk Q f CLK CPU Clock Pin di oupu del mc Simone Buso - Microconrollori e DSP - Lezione 18 9 Simone Buso - Microconrollori e DSP - Lezione 18 10 Timer Moli imer permeono di imposare il valore iniziale del coneggio in un regisro di appoggio (regisro di pre-carica). l raggiungimeno del valore imposao nel regisro di compare, il imer può generare una richiesa di inerruzione oppure fissare direamene lo sao di un bi su una pora di uscia, senza richiedere l inerveno del processore. La frequenza di coneggio può essere imposaa araverso un circuio, deo prescaler, ad un valore soomuliplo di f CLK. Simone Buso - Microconrollori e DSP - Lezione 18 11 Timer È spesso possibile configurare la modalià di coneggio, non solo decidendone il verso, ma anche il ipo di riprisino da operare al raggiungimeno del valore imposao. È possibile fare in modo che il imer si arresi fino a un nuovo comando di avvio, che deve provenire dalla CPU. In alernaiva, è possibile ricaricare in modo auomaico il valore iniziale del coneggio e farlo riparire senza inerveno della CPU, oenendo così inerrup, o scriure su pore di uscia, a cadenza prefissaa. Simone Buso - Microconrollori e DSP - Lezione 18 12

Timer La prima modalià può essere impiegaa per inrodurre un riardo di duraa prefissaa ra due azioni del processore. Dopo la prima azione () si aiva il imer, e solo all occorrenza della richiesa di inerrup si compie la seconda (B). Nel fraempo il processore può svolgere alri compii. Programma principale B ISR del imer compare Coneggio del imer precarica Simone Buso - Microconrollori e DSP - Lezione 18 13 Timer (modalià free run) La seconda modalià (free-run) può essere impiegaa per ripeere una sessa azione con una frequenza di ripeizione predefinia e minimo jier. overflow Programma principale ISR del imer IRQ del imer coneggi del imer precarica Simone Buso - Microconrollori e DSP - Lezione 18 14 compare Timer (modalià compare) L uso della modalià compare permee di realizzare funzioni più complesse, come la generazione di impulsi di duraa variabile. In queso caso, il regisro di compare viene caricao con un numero che, nella scala di coneggio del imer (valore in secondi di un suo incremeno uniario), rappresena la duraa desideraa dell impulso. ll avvio del imer, il bi di uscia viene asserio e sarà de-asserio al verificarsi della condizione di compare, dalla ISR del imer o in modo auomaico (quando possibile). Simone Buso - Microconrollori e DSP - Lezione 18 15 Timer (modalià compare) Diversamene dai casi precedeni, in queso caso si suppone però di modificare il valore conenuo nel regisro di compare, e.g. nel corso dell esecuzione della rouine di servizio. In queso modo, il empo ra due eveni di compare, e quindi la duraa dell impulso prodoo sul pin di uscia, può variare ciclo per ciclo. Vedremo che, in alcuni casi, quesa modalià di funzionameno è uleriormene faciliaa dalla presenza di imer specifici, dei modulaori PWM. Simone Buso - Microconrollori e DSP - Lezione 18 16 overflow precarica Timer (modalià compare) Programma principale ISR del imer coneggi del imer Simone Buso - Microconrollori e DSP - Lezione 18 17 Impulsi generai IRQ del imer compare Uso del imer in modalià compare per generazione di impulsi a duraa variabile. Timer (modalià capure) Nella modalià capure, il imer comincia il coneggio in risposa ad un eveno eserno, ipicamene un frone di salia o di discesa su uno dei pin di ingresso del processore. Il coneggio ermina al verificarsi di un uleriore eveno sullo sesso pin. Quesa modalià permee di misurare la duraa emporale di eveni eserni, e.g. la duraa di un impulso applicao al pin di ingresso, espressa in passi di coneggio. Può essere usaa per realizzare sisemi auomaici di sincronizzazione ra processi. Simone Buso - Microconrollori e DSP - Lezione 18 18

Timer (modalià capure) Il conaore del imer procede di norma in free run. I suoi valori vengono salvai in opporuni regisri (di solio uno per ciascun eveno). La disanza emporale ra i due eveni si può quindi oenere semplicemene soraendo uno all alro i due valori del imer salvai. E imporane osservare che l evenuale occorrenza dell overflow del imer ra i due eveni non compora mai alcun errore nella rilevazione della duraa, i.e. il risulao della sorazione è comunque correo. Simone Buso - Microconrollori e DSP - Lezione 18 19 overflow precarica Timer (modalià capure) coneggi del imer Uso del imer in modalià capure per misurare la duraa di impulsi eserni. Simone Buso - Microconrollori e DSP - Lezione 18 20 Impulsi eserni Eveno Eveno B Timer (modalià capure) In quesa modalià di funzionameno, una richiesa di inerruzione può essere generaa in occorrenza di un eveno qualunque ( e B), oppure in uno solo dei due ( oppure B). Nella misura di empi è spesso conveniene associare l inerruzione solo all eveno che conclude l inervallo di misura, in modo da eseguire il calcolo della duraa all inerno della ISR. Duraa = Timer(B) Timer() La quanià risulane sarà sempre posiiva. Simone Buso - Microconrollori e DSP - Lezione 18 21 Timer con funzioni specifiche lcuni imer possono essere oimizzai per lo svolgimeno di alcune funzioni specifiche e risulare poco flessibili o adaabili a compii diversi. Tra quesi ci sono: 1. real ime clock; 2. wachdog imer; 3. modulaori PWM. i modulaori PWM dedicheremo maggiore aenzione in seguio. Il real ime clock è un imer programmabile solo per generare inerruzioni a cadenza prefissaa, senza inerazione con l eserno. Simone Buso - Microconrollori e DSP - Lezione 18 22 Wachdog Timer Il wachdog imer opera sempre in free-run. Una vola aivao, è un in grado di generare una richiesa di inerruzione di ipo non mascherabile, generalmene in corrispondenza del verificarsi della condizione di overflow. L inerruzione può essere usaa per scopi diversi. Molo comune è il caso in cui essa sia usaa per rivelare e correggere alcuni ipi di anomalie in un algorimo di conrollo. queso scopo, si prevede che l ulima azione dell algorimo sia il rese del wachdog imer, che ne impedisca l overflow. Simone Buso - Microconrollori e DSP - Lezione 18 23 Wachdog Timer Se l algorimo non arriva a ermine in modo correo enro il periodo del wachdog, queso non verrà reseao e quindi genererà una inerruzione per il processore, che dovrà rispondere (NMI). lla ISR può essere associaa una rouine di rese per il mc, che consena di rivelare il malfunzionameno e, se possibile, di far riparire il sisema da condizioni noe. In queso modo si può impedire ad esempio che il sisema resi inrappolao per empi indefinii in siuazioni di sallo. Simone Buso - Microconrollori e DSP - Lezione 18 24

Ini: Loop: Check: Configurazione esa Eveno Risposa Eveno RESET Wachdog JMP Loop Wachdog Timer Se l eveno aeso non si verifica, il programma porebbe resare bloccao per empi indefinii. Tuavia, se il wachdog non viene reseao, si produrrà un overflow e quindi un uscia dal blocco quando queso inerrompe il processore con una NMI. Simone Buso - Microconrollori e DSP - Lezione 18 25 Il DSP DMC401 di nalog Devices è doao di diversi ipi di imer: 1. wachdog imer; 2. unià di even capure (ETU); 3. inerfaccia verso encoder (EIU); 4. PWM. Le unià 3 e 4 qualificano il disposiivo per l uso come moion conroller (MC). pplicazione di riferimeno sono quindi i diversi ipi di azionameno elerico, sia monofase che rifase. Simone Buso - Microconrollori e DSP - Lezione 18 26 Regisri di appoggio e configurazione Schema a blocchi della periferica di iming (ETU) del DSP DMC401 di nalog Devices. Il sisema prevede due ingressi di capure e un imer a 16 bi. Simone Buso - Microconrollori e DSP - Lezione 18 27 Regisro di configurazione dell unià ETU. I bi in grigio sono riservai e non devono essere sovrascrii dall uene. Il regisro definisce il modo di funzionameno delle due unia di capure. Simone Buso - Microconrollori e DSP - Lezione 18 28 La frequenza di coneggio è derivaa da quella di clock, divisa per un numero specificao dall uene in un apposio regisro a 16 bi (ETUDIVIDE). Il funzionameno può essere di ipo free-run o single-sho. L inerruzione è generaa al verificarsi di una sequenza di eveni, specificaa dall uene con il regisro di configurazione (ETUCONFIG). I valori del imer a ciascun eveno sono salvai nei regisri a 16 bi ETU0, ETUB0, ec. La definizione dell eveno di capure è piuoso flessibile. Esso è definibile come: 1. un eveno di ipo B; 2. una sequenza B. Ciascun eveno ( o B) può essere definio indipendenemene come il verificarsi di un frone di salia oppure di un frone di discesa sul pin di ingresso dell unià capure selezionaa (ETU0 oppure ETU1). Queso permee di raare numerose siuazioni di ineresse praico. Simone Buso - Microconrollori e DSP - Lezione 18 29 Simone Buso - Microconrollori e DSP - Lezione 18 30

Esempio 2: PIC18F452 Il microconrollore PIC18F452 è doao di 4 unià di imer, con caraerisiche diverse. L unià TIMER0 è un imer general purpose (GPT), adao alla gesione di processi leni. Le unià 1 e 3, sono invece doae di funzioni di capure. Infine, l unià 2 è pensaa per operare come modulaore PWM. Ciascuna unià ha un regisro di configurazione che comprende una sezione di prescaler, per fissare la frequenza di coneggio. Simone Buso - Microconrollori e DSP - Lezione 18 31 Esempio 2: PIC18F452 Schema a blocchi del TIMER0 del PIC18F452 di Microchip. Il imer funziona sia a 8 che a 16 bi. Si raa di un GPT, senza funzioni specifiche. Simone Buso - Microconrollori e DSP - Lezione 18 32 Esempio 2: PIC18F452 Schema a blocchi del TIMER1 del PIC18F452 di Microchip. Il imer funziona a 16 bi. Si raa di un imer con funzioni di capure. Simone Buso - Microconrollori e DSP - Lezione 18 33 Esempio 2: PIC18F452 Queso mc dispone di 2 unià di capure indipendeni, ciascuna associabile a uno di due diversi imer (TMR1 e TMR3). È possibile salvare il coneggio del imer selezionao su un opporuno regisro (CCPR1 o CCPR2) al verificarsi dell eveno di capure, che può essere definio come: 1. un frone di discesa sul pin CCP1 o CCP2; 2. un frone di salia; 3. la sequenza di 4 froni di salia; 4. la sequenza di 16 froni di salia. Simone Buso - Microconrollori e DSP - Lezione 18 34 Esempio 3: Philips LP2129 Il microconrollore Philips LP2129 è doao di numerose unià imer a 32 bi. Le principali funzioni associae ai diversi imer sono: 1. capure and compare su 4 canali; 2. PWM su 6 canali; 3. real ime clock; 4. wach dog imer. Ciascuna di quese funzioni prevede un insieme di regisri di configurazione. Simone Buso - Microconrollori e DSP - Lezione 18 35 Esempio 3: Philips LP2129 Schema a blocchi dell unià capure and compare. E possibile decidere il ipo di azione da eseguire al verificarsi dell eveno araverso il regisro di conrollo. La frequenza di coneggio è quella del processore divisa per un prescale. Simone Buso - Microconrollori e DSP - Lezione 18 36

Esempio 3: Philips LP2129 Nel funzionameno da capure, l eveno può essere rappresenao da una sequenza 0, 1 (frone di salia) oppure da una sequenza 1, 0 (frone di discesa) che si verifica su uno dei 3 pin di inpu abiliabili a queso scopo. È possibile abiliare quese due opzioni anche insieme, oenendo il salvaaggio del imer ad ogni frone che si verifichi su ciascuno dei pin di ingresso. L unià di capure è sdoppiaa, ossia possono essere usai addiriura 2 imer diversi simulaneamene. Simone Buso - Microconrollori e DSP - Lezione 18 37 Uso del imer L uso di una unià di imer di un mc o DSP compora la configurazione di un cero numero di regisri. La prima scela che deve essere effeuaa è quella relaiva alla frequenza di coneggio. È sempre possibile oenere una riduzione della frequenza di coneggio rispeo al suo valore massimo, che è la frequenza di clock del processore, usando un regisro di prescale. I due faori da valuare sono: duraa del coneggio massimo e risoluzione del coneggio. Simone Buso - Microconrollori e DSP - Lezione 18 38 Uso del imer Il rapporo ra il massimo inervallo misurabile e la risoluzione della misura è, ovviamene, cosane e pari a 2 n, dove n è il numero di bi del conaore. Un basso valore del faore di prescale permee elevae risoluzioni (i.e. elevaa capacià di separare eveni poco disani nel empo), ma riduce il massimo inervallo di empo che può essere misurao. Inversamene, un elevao valore del faore di prescale permee di misurare inervalli di empo molo lunghi, ma riduce la risoluzione. Simone Buso - Microconrollori e DSP - Lezione 18 39 Esempio Uso del imer Timer a 16 bi con prescaler a 16 bi e frequenza di clock del processore di 10 MHz. Massimo inervallo misurabile: 429 s Massima risoluzione: 100 ns Massimo inervallo misurabile alla massima risoluzione: 6.5 ms È comunque possibile esendere il massimo inervallo misurabile ricorrendo a regisri eserni al imer o alla memoria. Simone Buso - Microconrollori e DSP - Lezione 18 40 Uso del imer seconda dell applicazione, si deve poi imposare la modalià di funzionameno del conaore. I faori da considerare sono ad esempio: modo single-sho o free-run, generazione di inerruzione oppure funzionameno in modalià compare senza inerruzioni, funzionameno in modalià capure. In ques ulimo caso deve anche essere definia la sequenza di eveni che deermina la leura del valore del imer. Simone Buso - Microconrollori e DSP - Lezione 18 41 Uso del imer Le applicazioni più ineressani sono: 1. generazione di impulsi di comando con riardo programmabile rispeo ad eveni predefinii; 2. misure di empo, di frequenza o di alre grandezze se il rasduore ha una uscia di ipo PWM o FM; 3. sincronizzazione di processi; 4. modulazione PWM per il conrollo di converiori saici (e.g. quelli usai in prodoi come azionameni elerici, UPS, elerodomesici vari) o alre applicazioni. Simone Buso - Microconrollori e DSP - Lezione 18 42

Esempio di uso del imer Consideriamo come primo semplice esempio l uso del imer del mc LP2129 per la realizzazione di un segnale a onda quadra a frequenza fissaa e regolabile. I imer dell LP2129 permeono di fissare lo sao di un pin di uscia del mc al verificarsi della condizione di compare. Per quesa applicazione, converrà quindi usare un imer in modalià free-run e compare, in modo da deerminare il periodo dell onda quadra agendo proprio sul compare. Simone Buso - Microconrollori e DSP - Lezione 18 43 Configurazione del imer Dal manuale del mc apprendiamo che i imer si configurano agendo sui segueni regisri: Timer Conrol Regiser TCR: 0xE0004004 Prescale Regiser PRC: 0xE000400C Mach Regiser MR: 0xE0004018 Mach Conrol Regiser MCR: 0xE0004014 Exernal Mach Regiser EMR: 0xE000403C dei quali è daa la denominazione e l indirizzo al quale sono mappai nella memoria del mc. Tui i regisri sono in realà doppi in quano ci sono due unià imer equivaleni (T0 e T1). Simone Buso - Microconrollori e DSP - Lezione 18 44 Configurazione del imer Il regisro TCR ha la funzione di abiliare o disabiliare il imer e di permeerne il rese (azzerameno del coneggio). Scrivendo su ale regisro il valore 0x00000001 il imer è abiliao, scrivendo il valore 0x0000000 esso è disabiliao. Scrivendo invece il valore 0x00000002 si induce il rese del imer e del prescaler. Per far riparire il imer è necessario che il bi 1 del TCR sia poso nuovamene a 0. Simone Buso - Microconrollori e DSP - Lezione 18 45 Configurazione del imer Il regisro PRC coniene un faore di divisione per il clock da inviare al imer rispeo a quello di sisema (pclk che può essere diverso da cclk, come abbiamo viso). Scrivendo il valore 0x00000000 su ale regisro, si oiene il passaggio di ui gli impulsi di clock. La frequenza di coneggio divena così pari a quella di pclk (massima risoluzione, minimo inervallo massimo). Quesa scela fissa quindi il valore del massimo periodo dell onda quadra che si può generare: P MX = 2 32 T pclk 1432 s. Simone Buso - Microconrollori e DSP - Lezione 18 46 Configurazione del imer Il regisro MR coniene il coneggio al quale viene generaa la condizione di mach ovvero di compare. l verificarsi della condizione, il mc dà luogo alle azioni decise configurando il regisro MCR, ossia a una ra: 1. rese conaore + inerrup (opzionale); 2. arreso conaore + inerrup (opzionale); 3. solo inerrup e funzionameno coninuo; Da noare che per ciascun imer sono disponibili 4 regisri di mach, il che rende possibili funzionameni piuoso aricolai. Simone Buso - Microconrollori e DSP - Lezione 18 47 Configurazione del imer Nel nosro caso può basare il rese del conaore, che riparirà quindi a conare da 0 dopo ogni mach. Queso si oiene assegnando la sequenza di bi:.equ T0CFG, 0x00000002 al regisro MCR. Infine, assegnando la sequenza di bi:.equ PINCFG, 0x00000030 al regisro EMR, si oiene il oggle del pin di uscia del imer ad ogni mach. Simone Buso - Microconrollori e DSP - Lezione 18 48

Configurazione del pin di uscia Molo spesso, i pin di I/O di un mc sono in numero minore rispeo alle esigenze di ue le periferiche preseni a bordo. Ne consegue che uno sesso pin può svolgere differeni funzioni e deve quindi essere adeguaamene configurao. È di norma presene un muliplexer che connee un dao pin ad una daa periferica, in base alla programmazione dell uene. Il nosro mc non fa eccezione. Infai, dispone di un opporuno regisro (PINSEL0, 0xE002C000) per le assegnazioni dei pin. Simone Buso - Microconrollori e DSP - Lezione 18 49 Esempio di uso del imer In modo analogo, è possibile configurare il imer per lo svolgimeno di una funzione di capure. Quesa può essere usaa, ad esempio, per la misura del periodo di un segnale presene in ingresso. In queso caso, il imer viene fao operare in modalià free-run. l verificarsi dell eveno di capure il coneggio viene salvao in un apposio regisro. Il programma uene provvede ad elaborare queso dao, esraendone la misura del periodo. Simone Buso - Microconrollori e DSP - Lezione 18 50 Esempio di uso del imer In queso caso, essendo richiesa una minima elaborazione della CPU, conviene ricorrere alla gesione del imer araverso una ISR. ssegnando la sequenza di bi:.equ VICIn_CFG, 0x00000010 ai due regisri VICInEnable e VICInSelec si oiene l aivazione dell inerrup del imer e la sua classificazione come FIQ. In modo analogo a quano fao per il filro passa basso, si dispone quindi il salo alla ISR nel veore delle inerruzioni. Simone Buso - Microconrollori e DSP - Lezione 18 51 Configurazione del imer Il imer viene abiliao dopo aver fissao il pre-scale (e.g. a 0 in modo da avere la massima risoluzione). In queso caso conviene anche fissare il clock delle periferiche, pclk, allo sesso quello inerno cclk (per defaul è imposao a ¼ di ale valore). Così la risoluzione dell eveno di capure diverrà pari a 1/f clk 83.3 ns. La configurazione della funzione di capure prevede di decidere quale sia l eveno da regisrare: un frone di salia, un frone di discesa o enrambi. Simone Buso - Microconrollori e DSP - Lezione 18 52 Configurazione del imer Imposando la sequenza di bi:.equ T0CCR_CFG, 0x00000005 sul Capure Conrol Regiser, CCR, indirizzo 0xE0004028, si oiene la rilevazione di un frone di salia sul pin di capure C0.0 (ce ne sono quaro che possono essere connessi anche a più di un pin eserno ciascuno) e la conemporanea generazione di una IR. Provvedendo come prima alla configurazione del pin di ingresso ramie il regisro PINSEL0, la configurazione è ulimaa. Simone Buso - Microconrollori e DSP - Lezione 18 53 Elaborazione del dao La nosra ISR deve semplicemene: 1. rimuovere la richiesa di inerrup (che alrimeni resa aiva!); 2. leggere il regisro di capure CCR0; 3. sorarre il valore leo al precedene; 4. scrivere in memoria il risulao. N.B. Nell eseguire il puno 3, non è necessario preoccuparsi dell evenuale overflow del conaore (ricordare la rappresenazione circolare dei numeri in complemeno a 2). Ora siamo proni per il es del codice! Simone Buso - Microconrollori e DSP - Lezione 18 54