Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 EL TRANSCEPTOR NRF24L01+
!
El#NRF24L01+,#de#la#empresa#Nordic#Semiconductor,#es#un#transceptor#de#radio"frecuencia)que)trabaja)a)un#
mximo&de&2Mbps.'Su'diseo'altamente'integrado,'de'muy'bajo'consumo'y'bajo'coste,!ha#sido#decisivo#para#
su#eleccin#en#este#proyecto.#Adems,$este$pequeo$dispositivo$trabaja$en$la$banda$ISM$(Industrial,,Scientific,
and$Medical)!de#2,4GHz,#haciendo#que#no#sea#necesaria#ninguna#licencia#para#su#uso.!
!
!
Figura'3.1!!Fotografa!de#la#placa#del#NRF24L01+.!
!
!
Con$ una$ corriente$ mxima,$ en$ los$ picos$ de$ Transmisin/Recepcin,$ inferior$ a$ 14mA,$ modo$ Stand"By,%
administracin+ avanzada+ de+ potencia+ y+ rango+ de+ alimentacin+ entre+ 1,9+ y+ 3,6V,+ el+ NRF24L01++ es+ capaz+ de+
funcionar)durante)meses)o)incluso)aos)alimentado%con%pilas%de%botn%o%de%tipo%AA/AAA,%algo%que%nos%viene%
muy$bien$teniendo$en$cuenta$el$uso$que$vamos$a$darle$en$este$proyecto.!
!
Adems,(el(NRF(incluye(un(protocolo(hardware(que(se(encarga(del(manejo(de(las(tramas(que(se(envan(y(se(
reciben'por'radio'frecuencia,)hacindonos)la)vida)ms)fcil)a)la)hora)de)tener)que)retrasmitir)tramas)por)culpa)
de# errores# o# interferencias,# as# como# del# uso# de# cdigos# de# redundancia# cclicos# (CRC),# resultando# una#
comunicacin)por)enlace)de)radio)muy)robusta,)a)prueba)de)fallos.!
!
Transceptor de radio-frecuencia de un solo chip, de bajo coste y que funciona a 2,4GHz con
modulacin GFSK y 126 canales disponibles.
!
!
23!
!
!
!
24!
!
!
El!transceptor!NRF24L01+!
El# protocolo# de# capa# de# enlace& Enhanced& ShockBurst& nos& proporciona& las& siguientes& automatizaciones& y&
recursos:!
Retransmisin automtica.
!
!
!
Figura'3.2!!Pinout!de#la#placa#del#NRF24L01+.
!
!!1"y"2.! Pines%de%alimentacin:"GND$y$VCC.
!!3.!
Pin#de#Chip%Enable!(CE)%sirve%para%activar%y%desactivar%la%comunicacin&SPI&con&el&dispositivo.
!!4.!
Pin#CSN#se#utiliza#durante#la#comunicacin#SPI,#indicando#cundo#se#transmiten/reciben#datos.
!!5.!
Pin#SCK#es#el#del#reloj,#haciendo#que#en#cada#conmutacin#de#nivel#bajo#a#nivel#alto#se#transmita#un#
bit$de$datos.
!!6"y"7.! Pines%MOSI%y%MISO%son%a%los%que%se%conectan%los%cables%por%donde%viajan%los%datos%de%entrada%y%
salida&del&NRF,&respectivamente.
!!8.!
Pin#IRQ#se#puede#configurar#para#que#nos#avise#cada#vez#que#se#recibe#un#dato#por#radio"frecuencia,*
aunque&tambin&podemos#saber#si#ha#llegado#un#dato#leyendo#el#registro#STATUS.
!!
!
Diseo!y!Realizacin!de!un!Sistema!de!Procesamiento!de!Audio!con!Control!Inalmbrico!
!
25!
!
Figura'3.3!!Esquema(del(funcionamiento(Maestro"Esclavo.!
!
!
El#protocolo'SPI!es"un"estndar"de"comunicaciones!usado&principalmente¶&la&transferencia%de%informacin%
entre%equipos%electrnicos.%Con%l%es%posible%controlar%casi%cualquier%dispositivo%electrnico%digital%que%acepte%
un#flujo#de#bits#serie#regulado#por#un#reloj.!
!
El#SPI#es#un#protocolo#sncrono.#La#sincronizacin#y#la#transmisin#de#datos"se"realiza"por"medio"de"4!seales:!
!
SCLK!(Clock):"Es"el"pulso"que"marca"la"sincronizacin."Con"cada"pulso"de"este"reloj,"se"lee"o"se"enva"
un#bit.!
MOSI!(Master'Output'Slave'Input):"Salida"de"datos"del"dispositivo"maestro"(Master)"y"entrada"de"datos"
al#equipo%esclavo%(Slave).!
MISO!(Master'Input'Slave'Output):"Salida"de"datos"del"dispositivo"esclavo"(Slave)"y"entrada"al"equipo"
maestro((Master).!
SS/CS (Slave Select/Chip Select): Lnea para que el equipo maestro le comunique al esclavo que
comienza la comunicacin.
!
La#ventaja#de#un#bus#serie#como#el#SPI#es#que#se#minimiza#el#nmero#de#pines,#pistas#y,#por#consiguiente,#el#
tamao&del&circuito&integrado.&Esto&reduce&el&coste&de&su&fabricacin&y&montaje.!
!
Los$ buses$ series$ dan$ mucha$ flexibilidad$ a$ la$ hora$ de$ conectar% diferentes% perifricos,% ya% que% casi% todos% los%
dispositivos(digitales(pueden(ser(controlados(por(esta(combinacin(de(seales((CLK,(MISO,(MOSI,(CS).!
A"continuacin"se"muestra"el"funcionamiento"de"la"lectura"y"escritura"de"datos"en"el"NRF24L01+:!
!
!
Figura"3.4!!Diagrama'de'la'lectura(de(datos.!
!
!
!
26!
!
!
El!transceptor!NRF24L01+!
!
Figura'3.5!!Diagrama'de'la'escritura)de)datos.!
!
Siendo'Cn!bits%de%comandos%de%SPI,%Sn!bits%del%registro%STATUS%y%Dn!bits%de%datos.!Se#observa#que#el#NRF#
devuelve&el&valor&del®istro&STATUS&al&comenzar&cualquier&comunicacin&con&l.!
!
!
Figura'3.6!!Tabla%con%los%bits%del%registro%CONFIG.!
!
!!
!
Diseo!y!Realizacin!de!un!Sistema!de!Procesamiento!de!Audio!con!Control!Inalmbrico!
!
27!
!
Figura'3.7!!Tabla%con%los%bits%del%registro%STATUS.!
!
2.
Se enva por SPI el byte resultante de hacer un OR lgico entre el comando NRF_CMD_WREG y la
direccin del registro CONFIG que es la 0x00.
3.
Se enva por SPI el byte correspondiente a la configuracin que deseamos: 0x0A si queremos activar el
NRF en modo transmisor, 0x0B si lo que queremos es que ste funcione como receptor.
4.
!
Antes& de& configurar& el& NRF& en& modo& receptor& o& transmisor,* es* comn* apagar* el* mismo* para* despus*
encenderlo(en(el(modo(deseado.(Para(ello,(utilizando(la(misma(funcin(de(escribir(en(un(registro,(lo(que(se(
hace%es%mandar%el%byte%0x80!al#registro#CONFIG.!
!
!
28!
!
!
El!transceptor!NRF24L01+!
!
Figura'3.8!(Izq.)'!Diagrama'de'flujo''del'procedimiento'de'configuracin+del+modo+RX.!
Figura'3.9!(Der.)'!Diagrama'de'flujo''del'procedimiento'de'configuracin'del'modo'TX.!
!
!
En#el#caso#de#que#queramos#usar!el#NRF#en#modo#receptor,#tambin#hay#que#configurar#el#tamao#de#la#trama#
que$ se$ va$ a$ recibir.$ Para$ ello$ volvemos$ a$ hacer$ uso$ de$ la$ funcin$ de$ escritura$ en$ un$ registro,$ esta$ vez,$
escribiendo*el*byte*TAM_PAYLOAD,*o*tamao*del*dato*en*bytes,*en*el*registro*RX_PW_P0,(cuya(direccin(es(
la#0x11.!
!
Estos%registros%(RX_PW_P0,%RX_PW_P1,%RX_PW_P2,%RX_PW_P3,%RX_PW_P4%y%RX_PW_P5),%definen%el%uso%
que$ se$ hace$ de$ los$ 6$ pipes," o" tuberas," de" recepcin" de" bytes" de" los" que" dispone" el" NRF24L01+." Se" puede"
elegir&el&nmero&de"bytes"de!recepcin,!entre%1%y%32%bytes.%En%nuestro%caso,%para%la%recepcin%del%dato%del%botn%
pulsado,)o)para)el)nmero)de)efecto)seleccionado)en)el)DSP,)slo)nos)hace)falta)transmitir)un)byte.)Es)por)ello)
que$aqu$escribimos$un$1$en$el$registro$RX_PW_P0."Adems,"como"no"se"utilizan"ms"pipes,"los"dems"se"dejan"
sin$configurar,$ya$que$por$defecto$el$valor$que$tienen$es$0x00$(pipe!no#utilizado).#!
!
!!
!
Diseo!y!Realizacin!de!un!Sistema!de!Procesamiento!de!Audio!con!Control!Inalmbrico!
!
29!
!
Figura'3.10!!Diagrama'de'flujo'de'la'operacin'de'envo'de'un'dato'por'radio.!
!
2.
Enviar por SPI el byte del comando de lectura del dato recibido: NRF_RX 0x61.
3.
Copiar, en una variable libre, el byte que se recibe del NRF cuando se le escribe el comando de no
operacin, citado anteriormente: NRF_CMD_NOP, 0xFF.
4.
5.
Cuando no queden ms bytes por recibir, volver a poner el pin de CS a nivel alto.
!
Para$terminar$con$la$operacin$de$lectura,$se$debe$bajar$la$bandera$que$nos$inform$de$que$se$haba$recibido$
un#dato#por#radio"frecuencia.!Para$hacerlo,$simplemente$escribimos$un$1$en$el$bit$6$del$registro$STATUS.$De$
otra%forma,%si%no%bajramos%dicha%bandera,%estaramos%siempre%entrando%en%la%funcin%de%lectura.!
!
!
!
30!
!
!
El!transceptor!NRF24L01+!
A"continuacin"se"muestra"un"diagrama"de"flujo"del"funcionamiento"del"procedimiento%de%lectura%de%un%dato%
que$se$ha$recibido$por$radio"frecuencia:!
!
Figura'3.11!!Diagrama'de'flujo'de'la'operacin'de'lectura'de'un'dato'recibido'por'radio.!
!