Está en la página 1de 23

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 1 de 23

MANUAL DE USUARIO DEL


MDULO BZI-RF2GH4

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 2 de 23

Copyright (c) 2007 Bizintek Innova, S.L.


Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.2 or any later version published by
the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no
Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free
Documentation License".

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 3 de 23

ndice
ndice ................................................................................................................................ 3
1. Introduccin:................................................................................................................. 4
2. Especificaciones tcnicas ............................................................................................. 4
3. Descripcin general ...................................................................................................... 5
4. Librera para el mdulo BZI-RF2GH4 en ensamblador............................................... 6
Variables....................................................................................................................... 6
Funciones...................................................................................................................... 7
5. Ejemplos en ensamblador........................................................................................... 12
6. Librera para el mdulo BZI-RF2GH4 en C para CCS ............................................. 14
Variables..................................................................................................................... 14
Funciones.................................................................................................................... 14
7. Ejemplos en C para el compilador CCS ..................................................................... 19
8. Prcticas...................................................................................................................... 22
Programa 1.................................................................................................................. 22
Programa 2.................................................................................................................. 22
9. Regulador 3.3v (LE33CZ).......................................................................................... 22

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 4 de 23

1. Introduccin:
Este manual pretende ser una gua rpida para quienes se disponen a abordar una
aplicacin haciendo uso del mdulo BZI-RF2GH4. En ella se irn exponiendo las
caractersticas principales del dispositivo y se dar una orientacin acompaada de
ejemplos prcticos para una mejor comprensin.

2. Especificaciones tcnicas
Parmetro
Tensin mnima de alimentacin
Tensin mxima de alimentacin
Potencia mxima de salida
Velocidad mxima de transmisin
Corriente en modo transmisin @ 0dbm potencia de salida
Corriente en modo recepcin @ 2000kbps
Corriente en modo Power Down
Frecuencia mxima del bus SPI
Rango de temperatura

Valor
1.9
3.6
0
2000
11.3
12.3
900
8
-40 a +85

Tabla 1. Parmetros principales del mdulo BZI-RF2GH4

Pines
Vcc
Vss
CE
CSN
SCK
SDI
SDO
IRQ

N
1
2
3
4
5
6
7
8

Descripcin
Tensin de alimentacin del mdulo
GND
Chip Enable
Chip Select del SPI (Negado)
Reloj del bus SPI
Entrada de datos del bus SPI
Salida de datos del bus SPI
Salida interrupcin (negado)
Tabla 2. Pinout del mdulo BZI-RF2GH4

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

Unidad
V
V
dBm
Kbps
mA
mA
nA
Mhz
C

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 5 de 23

Fig. 1: Disposicin de componentes en la placa

3. Descripcin general
El mdulo de comunicacin por radiofrecuencia BZI-RF2GH4 est basado en el
transceptor nRF24L01 fabricado por Nordic Semiconductors. En este circuito
integrado se ha incorporado toda la lgica necesaria para establecer una comunicacin
inalmbrica bidireccional con acuse de recibo. La comunicacin con el
microcontrolador se realiza a travs de un bus SPI.
Las principales caractersticas del mdulo BZI-RF2GH4 son:

Bajo consumo.
Frecuencia de trabajo de 2.4GHz,
Potencia de emisin entre -18 y 0 dBm,
Velocidad de transmisin entre 1 y 2 Mbps,
128 canales de transmisin seleccionables por el bus SPI,

El mdulo BZI-RF2GH4 incorpora, adems del CI nRF24L01, toda la


electrnica anexa para su correcto funcionamiento y una antena microstrip en la misma
placa con la red de adaptacin de impedancias. De esta manera el usuario se
despreocupa por completo del hardware necesario para implementar la parte de radio de
su aplicacin.
Como interfaz dispone de cuatro pines accesibles para el bus SPI, dos pines ms
para el control del mdulo y otros dos para la alimentacin.
Con el objetivo de facilitar el manejo del mdulo se han desarrollado unas
libreras que simplifican y acortan el tiempo de desarrollo de cualquier aplicacin
inalmbrica con estos mdulos.

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 6 de 23

4. Librera para el mdulo BZI-RF2GH4 en ensamblador


Con esta librera es posible realizar fcilmente una comunicacin entre
microcontroladores PIC16F87x i de Microchip Technology y el mdulo BZIRF2GH4.
El conjunto de las funciones de la librera ocupan 530 palabras de memoria de
programa, 25 bytes de memoria de datos.
A su vez es importante tener en cuenta que para llamar a cualquier funcin de la
librera son necesarios tres niveles de la pila libres y el watchdog desactivado.
Dado que todas las funciones utilizan el protocolo SPI, es necesario habilitar el
hardware del microcontrolador para este propsito. Para ello basta con aadir unas
lneas de cdigo en la configuracin inicial del programa.

Variables
RF_STATUS
Esta variable de solo lectura informa de la situacin de la comunicacin por el
mdulo de radio.
Bit7

Bit6

Bit5
Sin uso
-

Bit4

Bit3
Bit2
RCVNW RCVOK

Bit1
ACK

Bit0
SNDOK

Bit 7-4:

Sin uso

Bit 3:

RCVNW: Muestra si todava quedan datos por leer.


1 = Quedan tramas de datos por leer en la pila del mdulo de radio.
0 = Tras la ltima lectura, la pila de datos del mdulo qued vaca. No
hay mensajes en espera.

Bit 2:

RCVOK: Informa que se han recibido datos correctamente y estn


accesibles para ser tratados.
1 = Recepcin correcta.
0 = No se han recibido datos o la informacin recibida es corrupta.

Bit 1:

ACK: Muestra si se ha recibido el ACK (confirmacin) del receptor tras


una transmisin.
1 = El receptor ha confirmado que ha recibido los datos correctamente.

Excepto el PIC16F870 y PIC16F871.


Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 7 de 23

0 = No se ha recibido la confirmacin del receptor. Puede ser causa de


que no haya recibido la seal o de que tenga la pila llena y no pueda
almacenar ms mensajes.
Bit 0:

SNDOK: Muestra si el ltimo envo de datos se ha realizado.


1 = El mdulo de radio ha enviado los datos. Este bit no indica que
alguien lo haya escuchado.
0 = No ha sido posible enviar los datos. Puede ser debido a un fallo en la
comunicacin con el mdulo de radio

RF_DATA_0, RF_DATA_1, RF_DATA_7


Este grupo de variables consta de 8 bytes. En cada transmisin se enva/recibe el
contenido de los 8 bytes.
RF_DIR
Esta variable es de un solo byte. Indica el origen o destino del mensaje de 8 bytes
de RF_DATA. En esta variable escribiremos la direccin del destinatario a la hora de
realizar un envo. En el caso de la recepcin, en esta variable podremos ver la direccin
de quien nos est enviando la informacin.

Funciones
La librera consta de nueve funciones que facilitarn bastante el trabajo a la hora
de desarrollar una aplicacin de comunicacin con los mdulos BZI-RF2GH4. A
continuacin se dar una breve descripcin de cada una de ellas.
Funciones para el mdulo BZI-RF2GH4
Configura las entradas y salidas del microcontroladori as como
RF_CONFIG
parmetros del mdulo de radio.
Configura las entradas y salidas del microcontrolador ii as
RF_CONFIG_SPI
como los parmetros necesarios para utilizar el bus SPI.
Activa el mdulo de radiofrecuencia en modo escucha.
RF_ON
Desactiva el mdulo de radiofrecuencia y lo deja en modo de
RF_OFF
bajo consumo
Enva una trama de datos (8 Bytes) a la direccin indicada.
RF_SEND
Comprueba si se ha producido una recepcin y de ser as,
RF_RECEIVE
recoge la trama.
Realiza la misma funcin que RF_RECEIVE solo que por
RF_RECEIVE_INT
interrupcin.
i
ii

El usuario puede cambiar estos pines modificando la parte de la librera donde se define el patillaje
dem.
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

RF_INT_EN

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 8 de 23

Esta rutina habilita en el microcontrolador la interrupcin


externa para el mdulo de radio.
Tabla resumen de las funciones en ensamblador.

RF_CONFIG

Variables de entrada
RF_DIR
RF_CHN

Direccin del dispositivo. Debe ser un valor entre 0x01 y 0xFE.


Canal a utilizar en la comunicacin. Debe ser un valor entre 0x00
y 0x7F (128 canales).

Esta funcin configura el transceptor habilitando su propia direccin de escucha y


la direccin de broadcast. A su vez configura otros parmetros como pines del PIC, el
canal, la velocidad de transmisin, la potencia de emisin, la longitud de la direccin, la
longitud del cdigo CRC, etc.
PIN RF

PIN PIC

IRQ
CSN
CE

RB0
RB7
RC2

Tabla 3. Configuracin mdulo RF puertos PIC

El canal debe ser comn a todos los mdulos que van a participar en la
comunicacin. El usuario puede elegir cualquier canal de los 128 disponibles. Sin
embargo, si en el entorno existe ms de una comunicacin entre mdulos en diferentes
canales, hay que dejar un espaciamiento de 2 entre los canales a utilizar para evitar
interferencias dejando as 32 canales tiles. Otra cuestin a tener en cuenta es la
existencia de otras tecnologas que utilizan la banda ISM 2.4GHz (Wifi, Bluetooth,etc.)
y que tambin pueden causar interferencias en alguno de los canales.

Fig. 2: Canales RF

La direccin que se asigna a cada dispositivo debe ser unvoca dentro de cada
canal.

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 9 de 23

RF_CONFIG_SPI

La velocidad del SPI no debe superar los 8 Mhz por lo que la utilizacin de esta
funcin queda limitada a microcontroladores PIC con una frecuencia menor de 32Mhz.
En la funcin se configuran los diferentes parmetros del mdulo SPI y los pines del
PIC.
PIN RF

PIN PIC

SCK
SDI
SDO

RC3
RC4
RC5

Tabla 4. Configuracin SPI puertos PIC

RF_ON
Esta rutina activa el mdulo de radio en modo escucha para poder recibir datos
y/o realizar envos de datos.
Es importante tener en cuenta que tras la llamada a esta rutina el mdulo necesita
2,5ms para estar listo.
RF_OFF
Esta rutina desactiva el mdulo de radio dejndolo en modo de bajo consumo. No
borra la configuracin establecida.
RF_SEND

Variables de entrada
RF_DIR
RF_DATA_0 RF_DATA_7

Direccin a la que se quiere enviar los datos (1 byte).


Variables que van a ser transmitidas (8 bytes).

Variables de salida
FLAGS: SNDOK y ACK

Esta funcin enva 8 Bytes de datos a la direccin indicada informando de la


correcta recepcin en el destinatario. Tras su ejecucin el dispositivo volver al modo
de escucha.
RF_RECEIVE

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 10 de 23

Variables de salida
RF_DIR
RF_DATA_0 RF_DATA_7
RCVOK y RCVNW

Direccin de quien ha enviado la trama


Trama recibida desde la direccin indicada.

Esta rutina se encarga de comprobar si se ha producido una recepcin y de ser as,


devuelve los datos recibidos. Asimismo, informa si quedan datos sin leer en la FIFO de
recepcin del mdulo.
Cuando se reciba una trama se debe hacer una comprobacin del bit RCVNW de
la variable RF_STATUS y si est activo se debe llamar a la funcin RF_RECEIVE de
nuevo tras tratar los datos. El transceptor tiene una pila de tres niveles, por lo que si no
se llama a la funcin recibir antes de que se llene la pila, el dispositivo no podr recibir
ms datos.
Al no utilizar interrupciones, la probabilidad de prdida de paquetes, con trfico
elevado, es moderada. Es aconsejable utilizarla slo en entornos con pocos dispositivos
y/o poco trfico de datos. Tambin se puede solucionar este problema haciendo que los
emisores reenven la misma trama hasta que la comunicacin haya sido correcta, pero
en entornos con mucho trfico las colisiones crecen exponencialmente aumentando
considerablemente los tiempos de envo.
RF_RECEIVE_INT

Variables de salida
RF_DIR
RF_DATA_0 RF_DATA_7
RCVOK, RCVNW

Direccin de quien ha enviado la trama


Trama recibida desde la direccin indicada.

Es la rutina ptima de recepcin. Es una rutina prcticamente igual a


RF_RECEIVE con la diferencia que esta funciona por interrupcin. Por ello debe
ubicarse dentro del cdigo de la interrupcin y haber configurado las interrupciones
anteriormente (RF_INTER_EN). Se encarga de comprobar si se ha producido una
interrupcin externa (RB0) y si es as, limpia el flag de interrupcin. La probabilidad de
prdida de paquetes es mnima. An as conviene que los emisores reenven si el flag de
envo no se activa.
RF_INT_EN
Esta rutina se encarga de habilitar la interrupcin externa del microcontrolador
(RB0) que utiliza el mdulo de RF en la recepcin de datos. Para ello se configura como
entrada el pin RB0. Aunque se puede manejar el mdulo sin interrupciones no se
garantiza el mnimo tiempo de respuesta.
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 11 de 23

Diagrama de flujo para envo y recepcin de datos

IRQ=1

RF_RECEIVE

IRQ=0

RCVOK

Tratar datos

RCVNW

Salir recepcin

Diagrama 3. Recepcin sin


interrupcin en ensamblador

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 12 de 23

5. Ejemplos en ensamblador
En este apartado se muestran fragmentos de cdigo a modo de ejemplo para
orientar en la utilizacin de las funciones.
;--------[Rutina configuracin con interrupcin y activacin]-----;Habilitar interrupciones
call
RF_INT_EN
;Configurar mdulos SPI del PIC
call
RF_CONFIG_SPI
;Configurar mdulo RF (canal y direccin)
movlw
0x01
;Direccin propia
movwf
RF_DIR
movlw
movwf

0x40
RF_CHN

;Canal

call
RF_CONFIG
;Activar el mdulo RF
call
RF_ON
;----------------------------------------------------------------------------;---------[Rutina configuracin sin interrupcin y activacin]-----;Configurar mdulos SPI del PIC
call
RF_CONFIG_SPI
;Configurar mdulo RF (canal y direccin)
movlw
0x01
;Direccin propia
movwf
RF_DIR
movlw
movwf

0x40
RF_CHN

;Canal

call
RF_CONFIG
;Activar el mdulo RF
call
RF_ON
;----------------------------------------------------------------------------;----------------------[Rutina de envo de datos]----------------------;Preparacin de la direccin del receptor
;y de los datos.
movlw
0x02
movwf
RF_DIR
;Datos a enviar

;Direccin del receptor

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

clrf
clrf
clrf
clrf
clrf
clrf
clrf
clrf

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 13 de 23

RF_DATA_0
RF_DATA_1
RF_DATA_2
RF_DATA_3
RF_DATA_4
RF_DATA_5
RF_DATA_6
RF_DATA_7

;Enviar trama
call
RF_SEND
btfss
RF_STATUS,SNDOK
nop
;No enviado
btfss
RF_STATUS,ACK
nop
;ACK no recibido
;----------------------------------------------------------------------------;--------- -[Rutina de recepcin de datos con interrupcin]--------LEER_MAS_DATOS
call
RF_RECEIVE_INT
btfsc
RF_STATUS,RCVOK
;Tratar datos
nop
btfsc
RF_STATUS,RCVNW
goto
LEER_MAS_DATOS
goto
SALIR_INTERRUPCIONES
;-------------------------------------------------------------------------;----- Rutina de recepcin de datos sin interrupcin]------------RECIBIR
call
RF_RECEIVE
btfsc
RF_STATUS,RCVOK
nop
;Tratar datos
btfsc
RF_STATUS,RCVNW
goto
RECIBIR
goto
PRINCIPAL
;---------------------------------------------------------------------------

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 14 de 23

6. Librera para el mdulo BZI-RF2GH4 en C para CCS


Con esta librera es posible realizar fcilmente una comunicacin entre
microcontroladores PIC16F87x i de Microchip Technology y el BZI-RF2GH4.
El conjunto de las funciones de la librera ocupan 1k palabras de memoria de
programa, y 7 bytes de memoria de datos.
A su vez es importante tener en cuenta que para llamar a cualquier funcin de la
librera es necesario tener el watchdog desactivado.
Dado que todas las funciones utilizan el protocolo SPI, es necesario habilitar el
hardware del microcontrolador para este propsito. Para ello basta con aadir unas
lneas de cdigo en la configuracin inicial del programa.

Variables
RF_DATA
Es una variable de 8 bytes que es utilizada por la funcin de recepcin y
transmisin. En ella estn los datos recibidos y transmitidos.
RF_DIR
Esta variable es de un solo byte. Indica el origen o destino del mensaje de 8 bytes
de RF_DATA. En esta variable escribiremos la direccin del destinatario a la hora de
realizar un envo. En el caso de la recepcin, en esta variable podremos ver la direccin
de quien nos est enviando la informacin.

Funciones
Para manejar el paso de parmetros y el retorno de valores, se utilizan variables
externas que hay que modificar antes o verificar despus de cada llamada. En cada
funcin se expondr cules son y cmo actan.
Funciones para el mdulo BZI-RF2GH4
Configura las entradas y salidas del
void RF_CONFIG(int canal, int dir) microcontroladorii as como parmetros del
mdulo de radio.
Configura las entradas y salidas del
microcontrolador i as como los parmetros
void RF_CONFIG_SPI()
necesarios para utilizar el bus SPI.
i
ii

Excepto el PIC16F870 y PIC16F871.


El usuario puede cambiar estos pines modificando la parte de la librera donde se define el patillaje
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

void RF_ON()
void RF_OFF()
int RF_SEND()
int RF_RECEIVE()
void RF_INT_EN()

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 15 de 23

Activa el mdulo de radiofrecuencia en modo


escucha.
Desactiva el mdulo de radiofrecuencia y lo
deja en modo de bajo consumo
Enva una trama de datos (8 Bytes) a la
direccin indicada.
Comprueba si se ha producido una recepcin
y de ser as, recoge la trama.
Esta rutina habilita en el microcontrolador la
interrupcin externa para el mdulo de radio.

Tabla resumen de las funciones en ensamblador.

void RF_CONFIG(int canal, int dir)

Variables de entrada
RF_DIR
RF_CHN

Direccin del dispositivo. Debe ser un valor entre 0x01 y 0xFE.


Canal a utilizar en la comunicacin. Debe ser un valor entre 0x00
y 0x7F (128 canales).

Esta funcin configura el transceptor habilitando su propia direccin de escucha y


la direccin de broadcast. A su vez configura otros parmetros como pines del PIC, el
canal, la velocidad de transmisin, la potencia de emisin, la longitud de la direccin, la
longitud del cdigo CRC, etc.
PIN RF

PIN PIC

IRQ
CSN
CE

RB0
RB7
RC2

Tabla 5. Configuracin mdulo RF puertos PIC

El canal debe ser comn a todos los mdulos que van a participar en la
comunicacin. El usuario puede elegir cualquier canal de los 128 disponibles. Sin
embargo, si en el entorno existe ms de una comunicacin entre mdulos en diferentes
canales, hay que dejar un espaciamiento de 2 entre los canales a utilizar para evitar
interferencias dejando as 32 canales tiles. Otra cuestin a tener en cuenta es la
existencia de otras tecnologas que utilizan la banda ISM 2.4GHz (Wifi, Bluetooth,etc.)
y que tambin pueden causar interferencias en alguno de los canales.

dem.
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 16 de 23

Imagen 1. Canales RF

Antes de llamar a esta funcin el mdulo SPI debe estar configurado.


void RF_CONFIG_SPI()
La velocidad del SPI no debe superar los 8 Mhz por lo que la utilizacin de esta
funcin queda limitada a microcontroladores PIC con una frecuencia menor de 32Mhz.
En la funcin se configura los diferentes parmetros del mdulo SPI, y los pines del
PIC.
PIN RF

PIN PIC

SCK
SDI
SDO

RC3
RC4
RC5

Tabla 6. Configuracin SPI puertos PIC

void RF_ON()
Esta rutina activa el mdulo de radio en modo escucha para poder recibir datos
y/o realizar envos de datos.
Es importante tener en cuenta que tras la llamada a esta rutina el mdulo necesita
2,5ms para estar listo.
void RF_OFF()
Esta rutina desactiva el mdulo de radio dejndolo en modo de bajo consumo. No
borra la configuracin establecida.
int RF_SEND()

Variables de entrada
RF_DATA

Es una variable de 8 bytes. (RF_DATA[0 - 7]). Se debe


actualizar obligatoriamente por cada envo.

RF_DIR
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 17 de 23

Retorno de la Funcin
0: Envo correcto (ACK OK)
1: Recepcin incorrecta de
ACK
(NO ACK)
2: No enviado

Se ha realizado el envo y se ha recibido el ACK del receptor.


Se ha enviado la informacin pero no se ha recibido ACK
(receptor mal configurado, canal diferente en el receptor,
direccin incorrecta).
No se ha realizado el envo.

Esta funcin enva 8 Bytes de datos a la direccin indicada informando de la


correcta recepcin en el destinatario. Tras su ejecucin el dispositivo volver al modo
de escucha.

int RF_RECEIVE()

Variables de salida
RF_DATA

RF_DIR
Retorno de la Funcin
0
1

23

Es una variable de 8 bytes. Presenta la informacin recibida


(RF_DATA[0 - 7]).
Es una variable de byte. Indica la direccin del emisor.
Recepcin nica. No hay ms datos en la pila de recepcin.
Recepcin mltiple. Hay ms datos en la pila de recepcin.
Ocurre cuando el emisor enva ms de una trama antes de que
el receptor la recoja.
No se han recibido datos.

Esta rutina se encarga de comprobar si se ha producido una recepcin y de ser as,


devuelve los datos recibidos. Asimismo, informa si quedan datos sin leer en la FIFO de
recepcin del mdulo.
Cuando se reciba una trama se debe hacer una comprobacin de la salida de la
funcin. Si la funcin devuelve un 1 se debe llamar a la funcin RF_RECEIVE() de
nuevo pero antes es necesario tratar los datos o se perdern. El transceptor tiene una pila
de tres niveles, por lo que si no se llama a la funcin RF_RECEIVE() antes de que se
llene la pila, el dispositivo no podr recibir ms datos.
void RF_INT_EN()
Esta rutina se encarga de habilitar la interrupcin externa del microcontrolador
que utiliza el mdulo de RF en la recepcin de datos. Para ello se configura como
entrada el pin RB0. Aunque se puede manejar el mdulo sin interrupciones no se
garantiza el mnimo tiempo de respuesta.

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 18 de 23

BIZINTEK INNOVAS.L.

Diagrama de flujo para envo y recepcin de datos


Interrupcin ext

RF_RECEIVE()

Retorno

23

Tratar datos

Tratar datos

Salir interrupcin

Diagrama 5. Recepcin con


interrupcin en C

RF_RECEIVE()

Retorno

23

Tratar datos

Tratar datos

Salir recepcin

Diagrama 6. Recepcin sin


interrupcin en C

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 19 de 23

7. Ejemplos en C para el compilador CCS


En este apartado se muestran fragmentos de cdigo a modo de ejemplo para
orientar en la utilizacin de las funciones.
//----------[Rutina de configuracin y activacin con interrupcin]----------//Habilitar interrupciones
RF_INT_EN();
//Configurar mdulos SPI del PIC
RF_CONFIG_SPI();
//Configurar mdulo RF (canal y direccin)
RF_CONFIG(0x40,0x01);
//Activar el mdulo RF
RF_ON();
//--------------------------------------------------------------------------------------//----------[Rutina de configuracin y activacin sin interrupcin]---------//Configurar mdulos SPI del PIC
RF_CONFIG_SPI();
//Configurar mdulo RF (canal y direccin)
RF_CONFIG(0x40,0x01);
//Activar el mdulo RF
RF_ON();
//--------------------------------------------------------------------------------------//-----------------------------[Rutina de envo de datos]-------------------------//Preparacin de la direccin del receptor
//y de los datos.
RF_DIR=0x02;
for(i=0;i<8;i++)
{
RF_DATA[i]=0x00;
}
//Envio de los datos
ret=RF_SEND();
if(ret==0){
//Envio realizado y ACK recibido
}
else if(ret==1){
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 20 de 23

//Envio realizado y ACK no recibido


}
else{
//Envio no realizado
}
//--------------------------------------------------------------------------------------//--------------[Rutina de recepcin con interrupcion]-------------------------//Interrupcin del mdulo RF
#int_ext
void int_externo() {
//Recepcion de los datos
ret = RF_RECEIVE();
if (ret == 1)
{

//En caso de recepcin mltiple


** Sustituir por cdigo necesario para tratar los datos **

while (ret == 1)
{
ret = RF_RECEIVE();
** Sustituir por cdigo necesario para tratar los datos restantes **
}
}
//En caso de recepcin nica
else if (ret == 0)
{
** Sustituir por cdigo necesario para tratar los datos **
}
else{
//no se ha producido recepcin
}
}
//--------------------------------------------------------------------------------------//----------------[Rutina de recepcin sin interrupcin]-------------------------while(1){
ret=2;
while(ret==2 || ret==3){
ret = RF_RECEIVE();
}
if (ret == 1)
//En caso de recepcin mltiple
{
RF_DIR=0x02;
** Sustituir por cdigo necesario para tratar los datos **
while (ret == 1)
Avda. Altos Hornos de Vizcaya, 33 CEDEMI
48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 21 de 23

{
ret = RF_RECEIVE();
** Sustituir por cdigo necesario para tratar los datos restantes **
}
}
else if (ret == 0)
//En caso de recepcin nica
{
** Sustituir por cdigo necesario para tratar los datos **
}
//---------------------------------------------------------------------------------------

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

BIZINTEK INNOVAS.L.

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 22 de 23

8. Prcticas
El usuario tiene disponibles 2 programas ejemplo en ensamblador y en C.

Programa 1
Envo de una trama con ceros a la direccin 0x02 cada 5 segundos. Tambin tiene
implementada la rutina de recepcin con interrupcin.

Cada 5 seg.
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Direccin=0x01
Canal=0x40
Programa 1

Direccin=0x02
Canal=0x40

Programa 2
Al recibir una trama desde cualquier direccin la retransmite a la direccin 0x02.
Este programa recibe las tramas sin interrupcin, chequeando continuamente si se
produce una nueva recepcin.

Trama

Direccin= Canal=0x40

Trama

Direccin=0x01
Canal=0x40
Programa 2

Direccin=0x02
Canal=0x40

9. Regulador 3.3v (LE33CZ)


Con el mdulo RF se distribuye tambin un regulador lineal de salida a para la
alimentacin. En las siguientes tablas se describen las principales caractersticas
elctricas y el pinout.

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

Ttulo: Manual Mdulo BZI-RF2GH4


Rev: OR Feb 2007
Pgina 23 de 23

BIZINTEK INNOVAS.L.

Tabla 7. Principales caractersticas del regulador

Pines
Vout
GND
Vin

N
1
2
3

Descripcin
Tensin de salida
Tierra
Tensin de entrada
Tabla 8. Pinout regulador

La conexin del regulador con el mdulo se realizar de la siguiente manera.

Vin

+-

2.2uF
0.1uF

Regulador

1
2
3
4
5
6
7
8

Mdulo RF

Vista superior

Avda. Altos Hornos de Vizcaya, 33 CEDEMI


48902 Barakaldo
www.bizintekinnova.com
info@bizintekinnova.com

También podría gustarte