nRF24L01+

nRF24L01+ e A2Bs

In fase di sviluppo Stesura preliminare In fase di sviluppo

Questo circuito integrato fu originariamente progettato per collegare al PC mouse e tastiere wireless, ma ben presto è stato usato per interfacciare radiocomandi e dispositivi IoT.

Due la regioni del successo (nota 8), soprattutto in ambito educativo ed hobbistico:

Spesso questo intergrato è indicato come nRF24L01p. nRF24L01 è invece un modello precedente, non particolarmente diffuso e solo in parte compatibile con quanto descritto in questa pagina.

Aspetti chiave

Il foglio tecnico contiene tutte le informazioni dettagliate sul componente. Di seguito gli elementi più rilevanti.

Frequenza radio

Questo integrato trasmette su una radiofrequenza di poco più di 2.4 GHz (nota 6). Questa frequenza è relativamente elevata e quindi non permette di coprire distanze elevate: tipicamente questi moduli difficilmente superano distanze di una decina di metri (nota 1).

Sono disponibili oltre 100 canali RF (nota 2); la frequenza della portante è impostata scrivendo un numero tra 0 e 125 nel registro RF_CH ed è ottenuta dalla formula F0 = 2400 + RF_CH [MHz]. Il canale RF usato dal trasmettitore deve ovviamente essere lo stesso usato dal ricevitore

La banda usata da ciascun canale è di 1 MHz se si imposta una velocità inferiore a 1 Mbit/s e di 2 MHz se si imposta una velocità di 2 Mbit/s.

Modulazione

La modulazione usata è GFSK (variante a banda stretta della FSK) che permette una discreta resistenza alle interferenze. Questo aspetto è importante se si usa nRF24L01+ in ambienti che vedono la presenza di apparati che trasmetto sulle stesse frequenze, come WiFi e bluetooth.

Tensioni e correnti

La tensione di alimentazione di nRF24L01+ è compresa tra 1.9 V e 3.6 V. Questi valori permettono l'alimentazione diretta con molte batterie sia al litio che alcaline.

Gli ingressi sono 5 V tolerant, cioè funzionano correttamente se pilotati, per esempio, da Arduino (nota 2 di un'altra pagina). ATTENZIONE: solo i segnali di I/O sono compatibili con i 5 V, non l'alimentazione!

La corrente di alimentazione è circa 11 mA in trasmissione, 13 mA in ricezione; quando l'integrato non è attivo la corrente scende a circa 25 µA; è presente anche una modalità in cui il consumo di corrente è inferiore a 1 µA. Questi aspetti sono particolarmente significativi quando si utilizzano batterie per l'alimentazione.

Potenza del segnale radio

La potenza del segnale radio trasmesso può essere impostata su quattro diversi valori compresi tra 0 dBm e -18 dBm scrivendo due bit nel registro RF_PWR. Ovviamente un aumento della potenza di trasmissione permette maggiori distanze, ma causa un maggiore consumo di corrente.

La potenza del segnale radio ricevuto deve essere sufficiente (sensitivity); per garantire un BER accettabile, la potenza ricevuta deve essere di almeno -82 dBm se la velocità di trasmissione è di 2 Mbps, per velocità minori basta una potenza minore, cosa comune a molti ricevitori.

Trasmettitore e ricevitore

nRF24L01+ può comportarsi sia come trasmettitore (TX) che come ricevitore (RX), ma non in contemporanea, analogamente a quanto avviene in comunicazioni half duplex.

Il dispositivo che inizia la comunicazione è indicato come Primary Transmitter o PTX. Quello che inizialmente si comporta come ricevitore è indicato come Primary Receiver o PRX. In genere lo scambio di dati è bidirezionale: il PTX può quindi anche ricevere dati ed il PRX può anche trasmettere dati.

Framing

nRF24L01+ utilizza nella trasmissione un frame con la seguente struttura:

Frame di nRF24L01+

Gestione degli errori

nRF24L01+ individua automaticamente gli errori di trasmissione grazie al CRC; i frame contenenti errori sono scartati.

nRF24L01+ può opzionalmente gestire il riscontro dei frame: il PRX può cioè confermare con un ACK la ricezione corretta di un frame al PTX; nel caso in cui il PTX non riceve l'ACK può ritrasmettere automaticamente il frame. Tali caratteristiche sono indicate come Enhanced ShockBurst:

Comunicazioni multiple

La comunicazione bidirezionale tra un Primary transmitter ed un Primary Receiver è indicata con il termine Data Pipe ed identificata da un indirizzo.

Un PRX può scambiare dati con fino ad un massimo di sei PTX, attraverso sei Data Pipe, ciascuno identificato da un diverso indirizzo (nota 3). Questa modalità di funzionamento è indicata nei fogli tecnici come MultiCeiver.

Tutti i dispositivi devono condividere alcuni parametri (canale usato, bit rate ed altri).

Se tutti i PTX condividono lo stesso indirizzo, è ovviamente possibile collegare un qualunque numero di PTX ad un singolo PRX; in questo caso non è però utilizzabile il meccanismo di riscontro dei pacchetti.

Buffer FIFO

nRF24L01+ contiene tre buffer FIFO dove sono accodati i frame ricevuti. Questo permette una certa "elasticità" nell'elaborazione dei frame ricevuti, che possono essere gestiti anche con un certo ritardo rispetto alla ricezione, senza interrompere la ricezione di ulteriori frame.

Analogamente sono presenti tre buffer FIFO usati per la trasmissione, utili per accodare nuovi frame in attesa dell'effettiva trasmissione.

Interfaccia SPI

Il collegamento tra RF24L01+ ed il processore principale è realizzato con un'interfaccia SPI ed un ulteriore pin CE (nota 4).

L'uso di SPI permette il collegamento a praticamente tutti i processori. Alcuni esempi:

Note

  1. Sono disponibili, sempre a costo contenuto, schede che integrano anche un amplificatore RF di potenza ed un LNA che, insieme alla possibilità di un'antenna esterna, permettono di coprire tratte molto più lunghe
  2. La metà se si opera a 2 Mbit/s
  3. Cinque di questi sei indirizzi devono avere sul PRX i primi byte uguali tra di loro
  4. Un'ulteriore uscita (IRQ) in genere non è utilizzata e segnala una interruzione mascherabile
  5. Come per molti prodotti "di successo", esistono le versioni "compatibili"...
  6. Le frequenza da 2,4 a 2,5 GHz (una delle bande ISM, Industrial, Scientific and Medical utilizzabili in tutto il mondo) sono condivise da molti protocolli di trasmissione: WiFi, BLE, IEEE 802.15.4, nRF24L01+... Questa banda è infatti relativamente ampia e quindi in base al teorema di Shannon permette un'elevata velocità di trasmissione. Inoltre la frequenza non è molto elevata e questo evita un'eccessiva attenuazione del segnale


Pagina creata nel dicembre 2021
Ultima modifica: 9 febbraio 2023


Licenza "Creative Commons" - Attribuzione-Condividi allo stesso modo 3.0 Unported


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima