Tutorials - PIC peripherals

 

I TIMER dei PIC

 


I TIMER nelle diverse famiglie di PIC a 8 bit.

In tutti i PIC con bus dati a 8 bit sono presenti uno o più timer/counter, con struttura analoga e compatibile per quanto riguarda il software, anche se esistono varianti della forma di base.

Le caratteristiche generali di questi timer sono:

  • contatore a 8 o a 16 bit a seconda del timer e della famiglia in cui è implementato (ad esempio, TIMER0 è a 8 bit nei Baseline e Mid, ma è utilizzabile anche a 16 bit nei PIC18) 
  • registri di conteggio a crescere, da 0 al massimo (FFh per gli 8 bit e FFFFh per i 16 bit).
    Incremento di 1 ad ogni impulso del clock e overflow al 256esimo (8 bit) o 65535esimo (16 bit) impulso. 
  • funzionamento come timer con impulsi derivati dall' oscillatore interno 
  • funzionamento come contatore, con ingresso da una sorgente esterna collegata ad un pin.  
  • possibilità di realizzare un oscillatore esterno per quarzi low power (ad es. oscillatore di Timer1) 
  • pre-scaler o post-scaler, ripple counter che divide per potenze di 2 il segnale di conteggio 
  • collegamento con altri moduli funzione per comparazioni, cattura di impulsi (Timer1) o PWM (Timer2)
  • sorgente di interrupt, abilitabile da programma. 

Le risorse dipendono dal modello di chip, ma in generale si possono indicare le seguenti possibilità:

Timer PIC10 PIC12 PIC16 PIC18
8 bit 1 o 2 da 1 a 2 da 1 a 6 da 1 a 4
16 bit - da 0 a 1 da 1 a 3 da 2 a 4

Con le sigle PIC12/16  sono disponibili sia Mid-range che Enhanced Mid-range e questi ultimi hanno il maggior numero di risorse disponibili.
PIC24/32 e dsPIC30/33 dispongono fino a 27 timer a 16 bit e 32 bit, le cui caratteristiche sono simili, ma anche più complesse, di quelle dei timer presenti nei PIC a 8 bit.

In funzione dell' impiego tipico, i Timer dei PIC sono nominati da 0 a 10:

Timer Baseline Mid-range Enhanced Mid PIC18 PIC16/32
TIMER0  
TIMER1  
TIMER2  
TIMER3    
TIMER4    
TIMER5      
TIMER6    
TIMER8    
TIMER9        
TIMER10      

Le caratteristiche specifiche sono relative ad ogni singolo chip; ad esempio, Timer0 può essere il trigger per Timer1/3/5 dove questi sono presenti; sempre Timer0 è a 8 bit nei Baseline e Mid, mentre diventa a 16 bit negli Enhanced e PIC18. Timer4/6/8/10 sono cloni di Timer2 e sono relativi alla gestione dei moduli PWM. E così via.
Le informazioni necessarie per l' uso di una specifica periferica, quindi, vanno tratte dalla lettura del relativo foglio dati. In linea di massima, si possono raccogliere così:

Timer 8bit 16 bit oscillatore multi source gate supporto
TIMER0   Timer1/3/5
TIMER1 CCP
TIMER2 MSSP - PWM
TIMER3 CCP
TIMER4 PWM
TIMER5 CCP
TIMER6 PWM
TIMER8 PWM
TIMER10 PWM

 


Vediamo nei particolari questi timer:


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 09/04/13.