PIC 16F1512/13

I PIC 16F1512/13 sono dotati di tecnologia XLP, volta al basso consumo: un oscillatore interno a 31 KHz, un regolatore di tensione LDO che fornisce all’architettura interna una tensione inferiore alla Vdd ed ai pin I/O. E’ presente un modulo interno di misura della temperatura del die.

I PIC 16F1512/13 sono dispositivi disponibili nel package a 28 pin e dotati di tecnologia XLP che permette di avere consumi molto ridotti. Possono avere una tensione di alimentazione variabile nell’intervallo 2.3-5.5 V e una CPU funzionante a 20 MHz o 16 MHz, a tensioni rispettivamente di 2.5 e 1.8 V. Permettono di essere programmati e di fare il debug in-circuit, la prima tramite comunicazione seriale (ICSPTM) a due pins e la seconda tramite comunicazione a due pin (ICD). Scopo dell’articolo è presentare le caratteristiche principali dei micro e vedere a grandi linee il funzionamento di alcune periferiche.

CARATTERISTICHE PRINCIPALI DEGLI OSCILLATORI

Oscillatori a più frequenze permettono di avere una certa flessibilità di impiego: l’oscillatore interno a 16 MHz si può gestire via software per ottenere un range di frequenze che vanno da 1 KHz a 16 MHz; l’oscillatore interno a 31 KHz può essere utilizzato in modalità sleep o con il convertitore ADC. Per avere frequenze maggiori, fino a 20 MHz, si usano fino a quattro oscillatori o risonatori esterni.

diagramma a blocchi AFigura 1: Diagramma a blocchi del modulo ADCDC

Figura 1: Diagramma a blocchi del modulo ADC

MODULO ADC CON CVD E FVR

Il modulo ADC dispone di un Capacitive Voltage Divider (CVD) che è una versione migliorata del classico ADC del tipo a 10 bit ad approssimazioni successive; esso supporta fino a 17 canali in input che sono multiplexati in un singolo circuito di sample and hold. Il modulo può disporre di un regolatore di tensione, Fixed Voltage Reference (FVR), che fornisce tensioni di riferimento indipendenti dalla Vdd o ad una eventuale tensione esterna (VREF) ai canali di ingresso dell’ADC o allo stesso ADC. Una sorgente di clock può essere selezionata tramite l’opzione FRC, ciò può risultare utile in modalità sleep o quando si hanno cambiamenti nella frequenza di funzionamento del microcontrollore. Questi possono falsare il risultato della conversione. Può essere utilizzato in modalità sleep.

REGOLATORE LDO

Il regolatore interno LDO, Low Dropout Regulator, fornisce un valore di tensione di circa 3.6 Volt all’architettura interna; la tensione di alimentazione Vdd e i pins I/O possono assumere valori di tensione superiori e questo può risultare utile in alcune applicazioni dove si richiedono bassi consumi e buona risoluzione dei dati trattati.

Figura 2: Diagramma a blocchi del modulo FVR

Figura 2: Diagramma a blocchi del modulo FVR

INDICATORE DI TEMPERATURA INTEGRATO

Questa famiglia di dispositivi è dotata di un modulo interno di misura della temperatura del die di silicio: esso è collegato internamente all’ADC. Tale modulo si può impiegare per ottenere misure di temperatura più precise a seconda del tipo di calibrazione che si vuole adottare, è possibile una calibrazione ad un punto e una a due punti. Maggiori dettagli riguardo al processo di calibrazione si possono trovare nell’Application Note. Uno schema del circuito di misura della temperatura è mostrato in Figura 3. Esso può funzionare secondo due modalità cui corrispondono diverse risoluzioni dei valori delle temperature che si possono ottenere. Una Vdd più elevata e bias di tensioni più elevati permettono di ottenere un maggior range di temperature con una risoluzione più elevata. Si può operare anche in una modalità di Low Range, quest’ultima modalità non pone restrizioni sui valori di tensione cui può operare il dispositivo. Essi sono forniti dalle specifiche tecniche e sono già stati ricordati essere compresi tra 2.3 e 5.5 Volt (Vedi Figura 3).

Figura 3: modalità Low Range

Figura 3: modalità Low Range

MODALITA' SLEEP

I microcontrollori 16F1512/13 supportano la modalità sleep. L'oscillatore della CPU viene disabilitato, il WDT viene azzerato ma può continuare a funzionare se abilitato. L’oscillatore interno a 31 KHz non viene modificato e le periferiche ad esso collegate possono continuare a funzionare. La modalità sleep spegne il regolatore di tensione che fornisce la tensione di 3.6 volt (LDO); esso non è più a disposizione in quelle applicazioni che fanno uso dell'FVR per fornire tensioni stabili all’ADC (vedi Figure 1 e 2). Il convertitore ADC può rimanere inalterato e ciò si può ottenere tramite l’opzione ricordata a proposito del modulo.

Lo stato dei pin I/O rimane inalterato. Vi sono eventi che determinano un reset del dispositivo e altri che si dicono di wake-up, questi comportano la ripresa del programma a partire dall’istruzione successiva alla sleep. Vi sono periferiche per cui sono previsti interrupts durante la modalità sleep. In tal caso può essere opportuno che questa istruzione sia un nop, seguirà un salto alla routine di interrupt. Eventi di wake-up comportano l’azzeramento del WDT. Il modulo ADC può funzionare in modalità sleep per ridurre il rumore introdotto dal dispositivo, in questo caso va settata l’opzione FRC per la sorgente di clock del modulo. Esso può così iniziare la conversione dopo l’esecuzione dell’istruzione sleep. Al termine della conversione, un interrupt provocherà un wake-up dalla modalità sleep. Quando la sorgente di clock dell’ADC non è correttamente selezionata, un’istruzione sleep interrompe la conversione e il modulo ADC viene spento. Se il bit GIE è disabilitato, un wake-up dalla modalità sleep farà riprendere l’esecuzione del programma prima dell’esecuzione di un interrupt.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend