Home
Accesso / Registrazione
 di 

Corso di programmazione per microcontrollori ST626X. Settima parte 2/5

Corso di programmazione per microcontrollori ST626X

Microcontrollori ST626X corso di programmazione. Occorre anche osservare che con CPHA uguale a 0, il bit 7 del registro SPIDSR viene presentato sul pin di uscita nello stesso istante in cui viene caricato il registro SPIDSR, mentre con CPHA uguale a 1, lo spostamento del bit 7 di SPIDSR sull’uscita avviene contemporaneamente alla prima transizione di clock attivo, cioè con SPRUN a 1.

Proseguiamo nella descrizione del registro SPIMOD con il bit 1 denominato EFILT (Enable Filter) a cui spetta il compito di abilitare (se settato) o disabilitare (se resettato) i due filtri antidisturbo interni al chip, posizionati sui due pin di ingresso SCK e Sin. Il bit numero 2 siglato SPSTRT (Start Selection) seleziona la causa di inizio trasmissione. Ponendo a zero questo bit la trasmissione dei dati ha inizio portando a 1 il bit SPRUN, al contrario se il bit SPSTRT viene portato a 1, la trasmissione ha inizio solo dopo un consenso proveniente anche dall’esterno, per la precisione dal pin Sin. In quest’ultimo caso, l’hardware del micro attiva la SPI attraverso un AND logico tra il piedino Sin e il bit SPRUN. Il terzo bit del registro SPIMOD controlla la linea di ingresso della periferica seriale e viene denominato SPIN (Register Input Selection): portando questo bit a livello logico alto si collega lo shift register al pin Sin.

registri_utilizzati_periferica_seriale_spi

Il bit 4, contraddistinto dalla sigla SPCLK (Base Clock Selection), seleziona la sorgente di clock della SPI. Se viene posto a 0 il clock della seriale viene collegato al piedino SCK, al contrario portando il bit a 1 il clock viene prelevato dall’oscillatore del micro.

A tale proposito, occorre ricordare che il clock dell’oscillatore può essere diviso per 1, per 2 o per 4 attraverso il registro OSCR e che in seguito viene diviso per 13 dall’hardware prima di giungere ad un ulteriore divisore appartenente alla periferica seriale (SPI DIVIDER). Il sesto bit, chiamato SPIE (SPI Interrupt Enable), consente, se portato a livello alto, di abilitare una richiesta di interrupt da parte della SPI alla fine della trasmissione. Infine, l’ultimo bit di SPIMOD denominato SPRUN (SPI Activity Flag), attiva, se posto a 1, la periferica seriale e viene azzerato automaticamente dall’hardware alla fine della trasmissione dei dati.

A questo punto, dopo aver chiarito il significato di ogni bit del registro di controllo, non ci resta che parlare dell’altro registro disponibile, ovvero dell’SPIDIV. Anch’esso, come il precedente, può essere letto e scritto via software alla locazione E1 hex. Possiamo suddividere questo registro in due gruppi di bit. I primi tre selezionano il fattore di divisione del clock interno tra 1 e 256; i successivi quattro esprimono il numero di bit che intendiamo trasmettere (da 1 a 15). Le relazioni tra stato dei bit e selezione sono illustrate in tabella. L’ultimo bit, denominato SPINT (SPI Interrupt Flag), viene automaticamente portato a 1 dall’hardware alla fine di ogni trasmissione: il bit SPINT, se abilitato dal bit SPIE, genera una interrupt verso la CPU. Si conclude così la descrizione della periferica seriale. Rimaniamo comunque in tema di trasferimento dati occupandoci di dati a più “livelli” o, per meglio intenderci, di dati analogici.

Il kit è disponibile da Futura Elettronica

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 10 utenti e 84 visitatori collegati.

Ultimi Commenti