Il modulo rfPIC12F675, prodotto dalla Microchip, contiene in un unico modulo un microcontrollore, capace di gestire piccoli e medi sistemi, e un trasmettitore radio di segnali digitali, operante nella banda UHF. I suoi vantaggi si concretizzano in bassi costi di acquisto, alte prestazioni nelle trasmissioni a breve raggio e codifica ti tipo ASK e FSK.
LA MEMORIA PROGRAMMA
I dispositivi rfPIC12F675 dispongono di un program counter a 13 bit in grado di indirizzare uno spazio di memoria di 8K x 14. Solo il primo banco di 1K per 14, corrispondente agli indirizzi (0000H – 03FFH), è fisicamente implementato.
ORGANIZZAZIONE DELLA MEMORIA DATI
La memoria dati è suddivisa in due banchi, che contengono i registri di uso generale e registri per funzioni speciali. I registri speciali sono allocati nelle prime 32 locazioni di ogni banco. Le locazioni comprese tra gli indirizzi 20H e 5FH funzionano come registri di uso generale, e sono mappate attraverso i due banchi, con funzionamento di RAM statica (tabella 1).
IL REGISTRO STATUS
Si trova allocato all’indirizzo 03h e 83h. Esso contiene i seguenti monitoraggi:
- Lo stato dell’ALU;
- Lo stato del RESET;
- I bits che selezionano il banco della memoria dati.
Il registro può essere utilizzato quale destinazione di qualsiasi istruzione. In questo caso, se l’istruzione stessa coinvolge uno dei bit Z, DC o C, la scrittura su questi bit è disabilitata.
IL REGISTRO OPTION
Il registro OPTION funziona in scrittura e in lettura. Contiene alcuni bit da configurare, come ad esempio:
- Il prescaler TMR0/WDT;
- L’interrupt esterno GP3/INT;
- Il TMR0;
- Il Weak pull-ups su GPIO.
LE PORTE DI I/O
L’integrato dispone di 6 porte di comunicazione con il mondo esterno, di uso generale. Se qualche periferica è utilizzata diversamente, una di queste porte potrebbe essere non disponibile. In generale, quando una periferica è abilitata, il pin relativo non può essere utilizzato quale porta di comunicazione generica.
I registri GPIO e TRISIO
Il registro GPIO è composto da 6 bit ed ha un funzionamento bi-direzionale. Il corrispondente registro è il TRISIO. Il registro TRISIO è utilizzato per configurare le porte sia come ingresso che come uscita. Ponendo uno dei 6 bit a 0 logico, la relativa porta è trattata come un’uscita. Ponendola viceversa a 1 logico, la stessa porta è trattata come un ingresso. Il pin GP3, a differenza degli altri, è sempre un pin di ingresso, per cui il valore del corrispondente bit TRISIO.3 è settato sempre a 1. Il registro TRISIO controlla la direzione dei pin GP anche in caso utilizzo di ingressi analogici.
IL TRASMETTITORE UHF ASK/FSK
Esaminiamo finalmente il trasmettitore. Il circuito è completamente integrato. Prevede una portante UHF con codifica ASK/FSK. Esso è composto da:
- Oscillatore a cristallo;
- PLL;
- Amplificatore.
La struttura completa (con schema a blocchi) è mostrata in figura 4.
Un oscillatore in configurazione Colpitts genera la frequenza di riferimento secondo il relativo cristallo. Il VCO converte la tensione applicata al piedino LF in una frequenza. Quest’ultima è divisa per un fattore pari a 32 e confrontata con la frequenza campione di riferimento. Se le due frequenze non corrispondono, la tensione applicata sul piedino LF viene corretta.
I componenti esterni richiesti sono un cristallo di quarzo, che serve a determinare la frequenza di trasmissione, un condensatore di bypass, e da due a sette impedenze bias che concorrono ad ottenere la massima potenza possibile in antenna. Il modulo rfPIC12F675 è in grado di trasmettere dati in ASK (Amplitude Shift Keying) e FSK (Frequency Shift Keying). Come qualsiasi dispositivo capace di emettere e generare radiofrequenza, la legislazione relativa a questa famiglia di circuiti è diversamente regolamentata da ogni nazione. Note per la realizzazione del circuito stampato: nel progetto del PCB devono essere rispettate tutte le regole e cautele necessarie alla realizzazione di circuiti ad alta frequenza (utilizzo di vetronite, piste molto ravvicinate, connessione ad un unico piano di massa, ecc).
CONTROLLO DIGITALE DEI SEGNALI
Il pin RFEN (mode control logic) controlla le operazioni dell’oscillatore. Quando esso viene impostato a livello logico alto (1) l’oscillatore inizia ad oscillare. La tensione sul pin LF sale in maniera proporzionale alla frequenza del segnale radio. Quando essa raggiunge il valore di 0,8 Volt, la frequenza di trasmissione è corrispondente a quella del cristallo. Pertanto il PLL si stabilizza dopo una pausa di 150 ms. Dopo questa attesa, il modulo è pronto alla trasmissione, solo se il pin DATAASK si trova a livello logico alto. Se il pin RFEN è impostato a livello logico basso (0), il trasmettitore si porta in modo standby, consumando una potenza veramente esigua. In questo caso l’amplificatore di potenza viene disabilitato e l’oscillatore è bloccato. Tale pin dispone di una resistenza interna di pull-down.
CONCLUSIONI
Il modulo analizzato riveste molta importanza nelle applicazioni di automazione a distanza, robotica, domotica e molte altre. Il trasmettitore esaminato si può abbinare ai moduli ricevitori rfRXD0420 oppure rfRXD0920, allo scopo di realizzare sistemi wireless per comunicazione unidirezionale. Un’accoppiata vincente dunque che consente di sposare la potenza di calcolo di un microcontrollore con la possibilità di irradiare un segnale digitale nelle vicinanze. La programmazione del micro avviene esattamente come quella del fratello minore 12F675.